class com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl<T> implements javax.xml.xpath.XPathEvaluationResult<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl
  super_class: java.lang.Object
{
  com.sun.org.apache.xpath.internal.objects.XObject resultObject;
    descriptor: Lcom/sun/org/apache/xpath/internal/objects/XObject;
    flags: (0x0000) 

  int resultType;
    descriptor: I
    flags: (0x0000) 

  java.lang.Class<T> type;
    descriptor: Ljava/lang/Class;
    flags: (0x0000) 
    Signature: Ljava/lang/Class<TT;>;

  javax.xml.xpath.XPathEvaluationResult$XPathResultType mapToType;
    descriptor: Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
    flags: (0x0000) 

  org.w3c.dom.NodeList nodeList;
    descriptor: Lorg/w3c/dom/NodeList;
    flags: (0x0000) 

  int currentIndex;
    descriptor: I
    flags: (0x0000) 

  org.w3c.dom.Node currentNode;
    descriptor: Lorg/w3c/dom/Node;
    flags: (0x0000) 

  boolean boolValue;
    descriptor: Z
    flags: (0x0000) 

  org.w3c.dom.Node node;
    descriptor: Lorg/w3c/dom/Node;
    flags: (0x0000) 

  double numValue;
    descriptor: D
    flags: (0x0000) 

  java.lang.String strValue;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  public void <init>(com.sun.org.apache.xpath.internal.objects.XObject, java.lang.Class<T>);
    descriptor: (Lcom/sun/org/apache/xpath/internal/objects/XObject;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl this
        start local 1 // com.sun.org.apache.xpath.internal.objects.XObject resultObject
        start local 2 // java.lang.Class type
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            aconst_null
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.nodeList:Lorg/w3c/dom/NodeList;
         2: .line 54
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.boolValue:Z
         3: .line 55
            aload 0 /* this */
            aconst_null
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.node:Lorg/w3c/dom/Node;
         4: .line 69
            aload 0 /* this */
            aload 1 /* resultObject */
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.resultObject:Lcom/sun/org/apache/xpath/internal/objects/XObject;
         5: .line 70
            aload 0 /* this */
            aload 1 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.getType:()I
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.resultType:I
         6: .line 71
            aload 0 /* this */
            aload 2 /* type */
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.type:Ljava/lang/Class;
         7: .line 72
            aload 0 /* this */
            aload 1 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.getResult:(Lcom/sun/org/apache/xpath/internal/objects/XObject;)V
         8: .line 73
            return
        end local 2 // java.lang.Class type
        end local 1 // com.sun.org.apache.xpath.internal.objects.XObject resultObject
        end local 0 // com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/sun/org/apache/xpath/internal/jaxp/XPathResultImpl<TT;>;
            0    9     1  resultObject  Lcom/sun/org/apache/xpath/internal/objects/XObject;
            0    9     2          type  Ljava/lang/Class<TT;>;
    Exceptions:
      throws javax.xml.transform.TransformerException
    Signature: (Lcom/sun/org/apache/xpath/internal/objects/XObject;Ljava/lang/Class<TT;>;)V
    MethodParameters:
              Name  Flags
      resultObject  
      type          

  public javax.xml.xpath.XPathEvaluationResult$XPathResultType type();
    descriptor: ()Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl this
         0: .line 81
            aload 0 /* this */
            getfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.mapToType:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
            areturn
        end local 0 // com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xpath/internal/jaxp/XPathResultImpl<TT;>;

  public T value();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl this
         0: .line 91
            aload 0 /* this */
            getfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.type:Ljava/lang/Class;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 93
            aload 0 /* this */
            getfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.resultObject:Lcom/sun/org/apache/xpath/internal/objects/XObject;
            aload 0 /* this */
            getfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.type:Ljava/lang/Class;
            invokestatic com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.getValue:(Lcom/sun/org/apache/xpath/internal/objects/XObject;Ljava/lang/Class;)Ljava/lang/Object;
         2: areturn
         3: .line 94
      StackMap locals:
      StackMap stack: javax.xml.transform.TransformerException
            astore 1 /* ex */
        start local 1 // javax.xml.transform.TransformerException ex
         4: .line 95
            new java.lang.RuntimeException
            dup
            aload 1 /* ex */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // javax.xml.transform.TransformerException ex
        end local 0 // com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/org/apache/xpath/internal/jaxp/XPathResultImpl<TT;>;
            4    5     1    ex  Ljavax/xml/transform/TransformerException;
      Exception table:
        from    to  target  type
           1     2       3  Class javax.xml.transform.TransformerException
    Signature: ()TT;

  private void getResult(com.sun.org.apache.xpath.internal.objects.XObject);
    descriptor: (Lcom/sun/org/apache/xpath/internal/objects/XObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl this
        start local 1 // com.sun.org.apache.xpath.internal.objects.XObject resultObject
         0: .line 106
            aload 0 /* this */
            getfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.resultType:I
            tableswitch { // 1 - 5
                    1: 1
                    2: 4
                    3: 7
                    4: 10
                    5: 13
              default: 16
          }
         1: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.bool:()Z
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.boolValue:Z
         2: .line 109
            aload 0 /* this */
            getstatic javax.xml.xpath.XPathEvaluationResult$XPathResultType.BOOLEAN:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.mapToType:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
         3: .line 110
            goto 16
         4: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.num:()D
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.numValue:D
         5: .line 113
            aload 0 /* this */
            getstatic javax.xml.xpath.XPathEvaluationResult$XPathResultType.NUMBER:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.mapToType:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
         6: .line 114
            goto 16
         7: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.str:()Ljava/lang/String;
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.strValue:Ljava/lang/String;
         8: .line 117
            aload 0 /* this */
            getstatic javax.xml.xpath.XPathEvaluationResult$XPathResultType.STRING:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.mapToType:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
         9: .line 118
            goto 16
        10: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic javax.xml.xpath.XPathEvaluationResult$XPathResultType.NODESET:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.mapToType:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
        11: .line 121
            aload 0 /* this */
            aload 1 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.nodelist:()Lorg/w3c/dom/NodeList;
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.nodeList:Lorg/w3c/dom/NodeList;
        12: .line 122
            goto 16
        13: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic javax.xml.xpath.XPathEvaluationResult$XPathResultType.NODE:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.mapToType:Ljavax/xml/xpath/XPathEvaluationResult$XPathResultType;
        14: .line 125
            aload 1 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.nodeset:()Lorg/w3c/dom/traversal/NodeIterator;
            astore 2 /* ni */
        start local 2 // org.w3c.dom.traversal.NodeIterator ni
        15: .line 127
            aload 0 /* this */
            aload 2 /* ni */
            invokeinterface org.w3c.dom.traversal.NodeIterator.nextNode:()Lorg/w3c/dom/Node;
            putfield com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.node:Lorg/w3c/dom/Node;
        end local 2 // org.w3c.dom.traversal.NodeIterator ni
        16: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.org.apache.xpath.internal.objects.XObject resultObject
        end local 0 // com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/sun/org/apache/xpath/internal/jaxp/XPathResultImpl<TT;>;
            0   17     1  resultObject  Lcom/sun/org/apache/xpath/internal/objects/XObject;
           15   16     2            ni  Lorg/w3c/dom/traversal/NodeIterator;
    Exceptions:
      throws javax.xml.transform.TransformerException
    MethodParameters:
              Name  Flags
      resultObject  

  static <T> T getValue(com.sun.org.apache.xpath.internal.objects.XObject, java.lang.Class<T>);
    descriptor: (Lcom/sun/org/apache/xpath/internal/objects/XObject;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.sun.org.apache.xpath.internal.objects.XObject resultObject
        start local 1 // java.lang.Class type
         0: .line 144
            aload 1 /* type */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 145
            aload 1 /* type */
            ldc Ljavax/xml/xpath/XPathEvaluationResult;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 3
         2: .line 146
            aload 1 /* type */
            new com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl
            dup
            aload 0 /* resultObject */
            aload 1 /* type */
            invokespecial com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.<init>:(Lcom/sun/org/apache/xpath/internal/objects/XObject;Ljava/lang/Class;)V
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         3: .line 148
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokestatic com.sun.org.apache.xpath.internal.jaxp.XPathResultImpl.classToInternalType:(Ljava/lang/Class;)I
            istore 2 /* resultType */
        start local 2 // int resultType
         4: .line 149
            iload 2 /* resultType */
            tableswitch { // 1 - 5
                    1: 5
                    2: 6
                    3: 12
                    4: 13
                    5: 17
              default: 19
          }
         5: .line 151
      StackMap locals: int
      StackMap stack:
            aload 1 /* type */
            aload 0 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.bool:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 153
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Double;
            aload 1 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 8
         7: .line 154
            aload 1 /* type */
            aload 0 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.num:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         8: .line 155
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            aload 1 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 10
         9: .line 156
            aload 1 /* type */
            aload 0 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.num:()D
            d2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        10: .line 157
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Long;
            aload 1 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 19
        11: .line 158
            aload 1 /* type */
            aload 0 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.num:()D
            d2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        12: .line 166
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            aload 0 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.str:()Ljava/lang/String;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        13: .line 168
      StackMap locals:
      StackMap stack:
            new com.sun.org.apache.xpath.internal.jaxp.XPathNodesImpl
            dup
            aload 0 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.nodelist:()Lorg/w3c/dom/NodeList;
        14: .line 169
            ldc Lorg/w3c/dom/Node;
        15: .line 168
            invokespecial com.sun.org.apache.xpath.internal.jaxp.XPathNodesImpl.<init>:(Lorg/w3c/dom/NodeList;Ljava/lang/Class;)V
            astore 3 /* nodeSet */
        start local 3 // javax.xml.xpath.XPathNodes nodeSet
        16: .line 170
            aload 1 /* type */
            aload 3 /* nodeSet */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // javax.xml.xpath.XPathNodes nodeSet
        17: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* resultObject */
            invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.nodeset:()Lorg/w3c/dom/traversal/NodeIterator;
            astore 4 /* ni */
        start local 4 // org.w3c.dom.traversal.NodeIterator ni
        18: .line 174
            aload 1 /* type */
            aload 4 /* ni */
            invokeinterface org.w3c.dom.traversal.NodeIterator.nextNode:()Lorg/w3c/dom/Node;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // org.w3c.dom.traversal.NodeIterator ni
        19: .line 177
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int resultType
        end local 1 // java.lang.Class type
        end local 0 // com.sun.org.apache.xpath.internal.objects.XObject resultObject
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0  resultObject  Lcom/sun/org/apache/xpath/internal/objects/XObject;
            0   20     1          type  Ljava/lang/Class<TT;>;
            4   20     2    resultType  I
           16   17     3       nodeSet  Ljavax/xml/xpath/XPathNodes;
           18   19     4            ni  Lorg/w3c/dom/traversal/NodeIterator;
    Exceptions:
      throws javax.xml.transform.TransformerException
    Signature: <T:Ljava/lang/Object;>(Lcom/sun/org/apache/xpath/internal/objects/XObject;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
              Name  Flags
      resultObject  
      type          

  static <T> int classToInternalType(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 188
            aload 0 /* type */
            ldc Ljava/lang/Boolean;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 189
            iconst_1
            ireturn
         2: .line 190
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Number;
            aload 0 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 4
         3: .line 191
            iconst_2
            ireturn
         4: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc Ljava/lang/String;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         5: .line 193
            iconst_3
            ireturn
         6: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc Ljavax/xml/xpath/XPathNodes;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 8
         7: .line 195
            iconst_4
            ireturn
         8: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc Lorg/w3c/dom/Node;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 10
         9: .line 197
            iconst_5
            ireturn
        10: .line 199
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)I
    MethodParameters:
      Name  Flags
      type  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljavax/xml/xpath/XPathEvaluationResult<TT;>;
SourceFile: "XPathResultImpl.java"
InnerClasses:
  public final XPathResultType = javax.xml.xpath.XPathEvaluationResult$XPathResultType of javax.xml.xpath.XPathEvaluationResult