public abstract class com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter extends com.sun.org.apache.xalan.internal.xsltc.dom.NodeCounter
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter
  super_class: com.sun.org.apache.xalan.internal.xsltc.dom.NodeCounter
{
  private com.sun.org.apache.xml.internal.dtm.DTMAxisIterator _precSiblings;
    descriptor: Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.sun.org.apache.xalan.internal.xsltc.Translet, com.sun.org.apache.xalan.internal.xsltc.DOM, com.sun.org.apache.xml.internal.dtm.DTMAxisIterator);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/Translet;Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.Translet translet
        start local 2 // com.sun.org.apache.xalan.internal.xsltc.DOM document
        start local 3 // com.sun.org.apache.xml.internal.dtm.DTMAxisIterator iterator
         0: .line 39
            aload 0 /* this */
            aload 1 /* translet */
            aload 2 /* document */
            aload 3 /* iterator */
            invokespecial com.sun.org.apache.xalan.internal.xsltc.dom.NodeCounter.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/Translet;Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;)V
         1: .line 35
            aload 0 /* this */
            aconst_null
            putfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._precSiblings:Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
         2: .line 40
            return
        end local 3 // com.sun.org.apache.xml.internal.dtm.DTMAxisIterator iterator
        end local 2 // com.sun.org.apache.xalan.internal.xsltc.DOM document
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.Translet translet
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/org/apache/xalan/internal/xsltc/dom/MultipleNodeCounter;
            0    3     1  translet  Lcom/sun/org/apache/xalan/internal/xsltc/Translet;
            0    3     2  document  Lcom/sun/org/apache/xalan/internal/xsltc/DOM;
            0    3     3  iterator  Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
    MethodParameters:
          Name  Flags
      translet  
      document  
      iterator  

  public void <init>(com.sun.org.apache.xalan.internal.xsltc.Translet, com.sun.org.apache.xalan.internal.xsltc.DOM, com.sun.org.apache.xml.internal.dtm.DTMAxisIterator, boolean);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/Translet;Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.Translet translet
        start local 2 // com.sun.org.apache.xalan.internal.xsltc.DOM document
        start local 3 // com.sun.org.apache.xml.internal.dtm.DTMAxisIterator iterator
        start local 4 // boolean hasFrom
         0: .line 46
            aload 0 /* this */
            aload 1 /* translet */
            aload 2 /* document */
            aload 3 /* iterator */
            iload 4 /* hasFrom */
            invokespecial com.sun.org.apache.xalan.internal.xsltc.dom.NodeCounter.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/Translet;Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;Z)V
         1: .line 35
            aload 0 /* this */
            aconst_null
            putfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._precSiblings:Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
         2: .line 47
            return
        end local 4 // boolean hasFrom
        end local 3 // com.sun.org.apache.xml.internal.dtm.DTMAxisIterator iterator
        end local 2 // com.sun.org.apache.xalan.internal.xsltc.DOM document
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.Translet translet
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/org/apache/xalan/internal/xsltc/dom/MultipleNodeCounter;
            0    3     1  translet  Lcom/sun/org/apache/xalan/internal/xsltc/Translet;
            0    3     2  document  Lcom/sun/org/apache/xalan/internal/xsltc/DOM;
            0    3     3  iterator  Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
            0    3     4   hasFrom  Z
    MethodParameters:
          Name  Flags
      translet  
      document  
      iterator  
      hasFrom   

  public com.sun.org.apache.xalan.internal.xsltc.dom.NodeCounter setStartNode(int);
    descriptor: (I)Lcom/sun/org/apache/xalan/internal/xsltc/dom/NodeCounter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter this
        start local 1 // int node
         0: .line 50
            aload 0 /* this */
            iload 1 /* node */
            putfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._node:I
         1: .line 51
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._document:Lcom/sun/org/apache/xalan/internal/xsltc/DOM;
            iload 1 /* node */
            invokeinterface com.sun.org.apache.xalan.internal.xsltc.DOM.getExpandedTypeID:(I)I
            putfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._nodeType:I
         2: .line 52
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._document:Lcom/sun/org/apache/xalan/internal/xsltc/DOM;
            bipush 12
            invokeinterface com.sun.org.apache.xalan.internal.xsltc.DOM.getAxisIterator:(I)Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
            putfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._precSiblings:Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
         3: .line 53
            aload 0 /* this */
            areturn
        end local 1 // int node
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/dom/MultipleNodeCounter;
            0    4     1  node  I
    MethodParameters:
      Name  Flags
      node  

  public java.lang.String getCounter();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter this
         0: .line 57
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._value:D
            ldc -2.147483648E9
            dcmpl
            ifeq 6
         1: .line 59
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._value:D
            dconst_0
            dcmpl
            ifne 2
            ldc "0"
            areturn
         2: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._value:D
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 3
            ldc "NaN"
            areturn
         3: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._value:D
            dconst_0
            dcmpg
            ifge 4
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._value:D
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 4
            ldc "-Infinity"
            areturn
         4: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._value:D
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 5
            ldc "Infinity"
            areturn
         5: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._value:D
            d2i
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter.formatNumbers:(I)Ljava/lang/String;
            areturn
         6: .line 66
      StackMap locals:
      StackMap stack:
            new com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray
            dup
            invokespecial com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.<init>:()V
            astore 1 /* ancestors */
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray ancestors
         7: .line 69
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._node:I
            istore 2 /* next */
        start local 2 // int next
         8: .line 70
            aload 1 /* ancestors */
            iload 2 /* next */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.add:(I)V
         9: .line 71
            goto 11
        10: .line 73
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray int
      StackMap stack:
            aload 1 /* ancestors */
            iload 2 /* next */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.add:(I)V
        11: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._document:Lcom/sun/org/apache/xalan/internal/xsltc/DOM;
            iload 2 /* next */
            invokeinterface com.sun.org.apache.xalan.internal.xsltc.DOM.getParent:(I)I
            dup
            istore 2 /* next */
            iconst_m1
            if_icmple 13
        12: .line 72
            aload 0 /* this */
            iload 2 /* next */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter.matchesFrom:(I)Z
            ifeq 10
        13: .line 77
      StackMap locals:
      StackMap stack:
            aload 1 /* ancestors */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.cardinality:()I
            istore 3 /* nAncestors */
        start local 3 // int nAncestors
        14: .line 78
            iload 3 /* nAncestors */
            newarray 10
            astore 4 /* counters */
        start local 4 // int[] counters
        15: .line 79
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 19
        17: .line 80
      StackMap locals: int int[] int
      StackMap stack:
            aload 4 /* counters */
            iload 5 /* i */
            ldc -2147483648
            iastore
        18: .line 79
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            iload 3 /* nAncestors */
            if_icmplt 17
        end local 5 // int i
        20: .line 84
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        21: iload 3 /* nAncestors */
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
        22: goto 38
        23: .line 85
      StackMap locals: int
      StackMap stack:
            aload 4 /* counters */
            iload 5 /* j */
            iaload
            pop
        24: .line 86
            aload 1 /* ancestors */
            iload 6 /* i */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray.at:(I)I
            istore 7 /* ancestor */
        start local 7 // int ancestor
        25: .line 88
            aload 0 /* this */
            iload 7 /* ancestor */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter.matchesCount:(I)Z
            ifeq 37
        26: .line 89
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._precSiblings:Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
            iload 7 /* ancestor */
            invokeinterface com.sun.org.apache.xml.internal.dtm.DTMAxisIterator.setStartNode:(I)Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
            pop
        27: .line 90
            goto 32
        28: .line 91
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* next */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter.matchesCount:(I)Z
            ifeq 32
        29: .line 92
            aload 4 /* counters */
            iload 5 /* j */
            aload 4 /* counters */
            iload 5 /* j */
            iaload
            ldc -2147483648
            if_icmpne 30
            iconst_1
            goto 31
        30: .line 93
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray int int int[] int int int
      StackMap stack: int[] int
            aload 4 /* counters */
            iload 5 /* j */
            iaload
            iconst_1
            iadd
        31: .line 92
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray int int int[] int int int
      StackMap stack: int[] int int
            iastore
        32: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter._precSiblings:Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
            invokeinterface com.sun.org.apache.xml.internal.dtm.DTMAxisIterator.next:()I
            dup
            istore 2 /* next */
            iconst_m1
            if_icmpne 28
        33: .line 97
            aload 4 /* counters */
            iload 5 /* j */
            aload 4 /* counters */
            iload 5 /* j */
            iaload
            ldc -2147483648
            if_icmpne 35
        34: .line 98
            iconst_1
            goto 36
        35: .line 99
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray int int int[] int int int
      StackMap stack: int[] int
            aload 4 /* counters */
            iload 5 /* j */
            iaload
            iconst_1
            iadd
        36: .line 97
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray int int int[] int int int
      StackMap stack: int[] int int
            iastore
        end local 7 // int ancestor
        37: .line 84
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ -1
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        38: iload 6 /* i */
            ifge 23
        end local 6 // int i
        end local 5 // int j
        39: .line 102
            aload 0 /* this */
            aload 4 /* counters */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter.formatNumbers:([I)Ljava/lang/String;
            areturn
        end local 4 // int[] counters
        end local 3 // int nAncestors
        end local 2 // int next
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.util.IntegerArray ancestors
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   40     0        this  Lcom/sun/org/apache/xalan/internal/xsltc/dom/MultipleNodeCounter;
            7   40     1   ancestors  Lcom/sun/org/apache/xalan/internal/xsltc/util/IntegerArray;
            8   40     2        next  I
           14   40     3  nAncestors  I
           15   40     4    counters  [I
           16   20     5           i  I
           21   39     5           j  I
           22   39     6           i  I
           25   37     7    ancestor  I

  public static com.sun.org.apache.xalan.internal.xsltc.dom.NodeCounter getDefaultNodeCounter(com.sun.org.apache.xalan.internal.xsltc.Translet, com.sun.org.apache.xalan.internal.xsltc.DOM, com.sun.org.apache.xml.internal.dtm.DTMAxisIterator);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/Translet;Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;)Lcom/sun/org/apache/xalan/internal/xsltc/dom/NodeCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.Translet translet
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.DOM document
        start local 2 // com.sun.org.apache.xml.internal.dtm.DTMAxisIterator iterator
         0: .line 108
            new com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter$DefaultMultipleNodeCounter
            dup
            aload 0 /* translet */
            aload 1 /* document */
            aload 2 /* iterator */
            invokespecial com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter$DefaultMultipleNodeCounter.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/Translet;Lcom/sun/org/apache/xalan/internal/xsltc/DOM;Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;)V
            areturn
        end local 2 // com.sun.org.apache.xml.internal.dtm.DTMAxisIterator iterator
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.DOM document
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.Translet translet
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  translet  Lcom/sun/org/apache/xalan/internal/xsltc/Translet;
            0    1     1  document  Lcom/sun/org/apache/xalan/internal/xsltc/DOM;
            0    1     2  iterator  Lcom/sun/org/apache/xml/internal/dtm/DTMAxisIterator;
    MethodParameters:
          Name  Flags
      translet  
      document  
      iterator  
}
SourceFile: "MultipleNodeCounter.java"
NestMembers:
  com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter$DefaultMultipleNodeCounter
InnerClasses:
  DefaultMultipleNodeCounter = com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter$DefaultMultipleNodeCounter of com.sun.org.apache.xalan.internal.xsltc.dom.MultipleNodeCounter