public class org.apache.xpath.patterns.ContextMatchStepPattern extends org.apache.xpath.patterns.StepPattern
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.xpath.patterns.ContextMatchStepPattern
  super_class: org.apache.xpath.patterns.StepPattern
{
  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -1888092779313211942

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.xpath.patterns.ContextMatchStepPattern this
        start local 1 // int axis
        start local 2 // int paxis
         0: .line 43
            aload 0 /* this */
            iconst_m1
            iload 1 /* axis */
            iload 2 /* paxis */
            invokespecial org.apache.xpath.patterns.StepPattern.<init>:(III)V
         1: .line 44
            return
        end local 2 // int paxis
        end local 1 // int axis
        end local 0 // org.apache.xpath.patterns.ContextMatchStepPattern this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/xpath/patterns/ContextMatchStepPattern;
            0    2     1   axis  I
            0    2     2  paxis  I
    MethodParameters:
       Name  Flags
      axis   
      paxis  

  public org.apache.xpath.objects.XObject execute(org.apache.xpath.XPathContext);
    descriptor: (Lorg/apache/xpath/XPathContext;)Lorg/apache/xpath/objects/XObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.xpath.patterns.ContextMatchStepPattern this
        start local 1 // org.apache.xpath.XPathContext xctxt
         0: .line 64
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.getIteratorRoot:()I
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.getCurrentNode:()I
            if_icmpne 2
         1: .line 65
            aload 0 /* this */
            invokevirtual org.apache.xpath.patterns.ContextMatchStepPattern.getStaticScore:()Lorg/apache/xpath/objects/XNumber;
            areturn
         2: .line 67
      StackMap locals:
      StackMap stack:
            getstatic org.apache.xpath.patterns.ContextMatchStepPattern.SCORE_NONE:Lorg/apache/xpath/objects/XNumber;
            areturn
        end local 1 // org.apache.xpath.XPathContext xctxt
        end local 0 // org.apache.xpath.patterns.ContextMatchStepPattern this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/xpath/patterns/ContextMatchStepPattern;
            0    3     1  xctxt  Lorg/apache/xpath/XPathContext;
    Exceptions:
      throws javax.xml.transform.TransformerException
    MethodParameters:
       Name  Flags
      xctxt  

  public org.apache.xpath.objects.XObject executeRelativePathPattern(org.apache.xpath.XPathContext, org.apache.xpath.patterns.StepPattern);
    descriptor: (Lorg/apache/xpath/XPathContext;Lorg/apache/xpath/patterns/StepPattern;)Lorg/apache/xpath/objects/XObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=19, args_size=3
        start local 0 // org.apache.xpath.patterns.ContextMatchStepPattern this
        start local 1 // org.apache.xpath.XPathContext xctxt
        start local 2 // org.apache.xpath.patterns.StepPattern prevStep
         0: .line 90
            getstatic org.apache.xpath.patterns.NodeTest.SCORE_NONE:Lorg/apache/xpath/objects/XNumber;
            astore 3 /* score */
        start local 3 // org.apache.xpath.objects.XObject score
         1: .line 91
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.getCurrentNode:()I
            istore 4 /* context */
        start local 4 // int context
         2: .line 92
            aload 1 /* xctxt */
            iload 4 /* context */
            invokevirtual org.apache.xpath.XPathContext.getDTM:(I)Lorg/apache/xml/dtm/DTM;
            astore 5 /* dtm */
        start local 5 // org.apache.xml.dtm.DTM dtm
         3: .line 94
            aload 5 /* dtm */
            ifnull 57
         4: .line 96
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.getCurrentNode:()I
            pop
         5: .line 99
            aload 0 /* this */
            getfield org.apache.xpath.patterns.ContextMatchStepPattern.m_axis:I
            istore 7 /* axis */
        start local 7 // int axis
         6: .line 101
            iload 7 /* axis */
            invokestatic org.apache.xpath.axes.WalkerFactory.isDownwardAxisOfMany:(I)Z
            istore 8 /* needToTraverseAttrs */
        start local 8 // boolean needToTraverseAttrs
         7: .line 102
            aload 5 /* dtm */
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.getIteratorRoot:()I
            invokeinterface org.apache.xml.dtm.DTM.getNodeType:(I)S
         8: .line 103
            iconst_2
         9: .line 102
            if_icmpne 10
            iconst_1
            goto 11
      StackMap locals: org.apache.xpath.patterns.ContextMatchStepPattern org.apache.xpath.XPathContext org.apache.xpath.patterns.StepPattern org.apache.xpath.objects.XObject int org.apache.xml.dtm.DTM top int int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 9 /* iterRootIsAttr */
        start local 9 // boolean iterRootIsAttr
        12: .line 105
            bipush 11
            iload 7 /* axis */
            if_icmpne 14
            iload 9 /* iterRootIsAttr */
            ifeq 14
        13: .line 107
            bipush 15
            istore 7 /* axis */
        14: .line 110
      StackMap locals: int
      StackMap stack:
            aload 5 /* dtm */
            iload 7 /* axis */
            invokeinterface org.apache.xml.dtm.DTM.getAxisTraverser:(I)Lorg/apache/xml/dtm/DTMAxisTraverser;
            astore 6 /* traverser */
        start local 6 // org.apache.xml.dtm.DTMAxisTraverser traverser
        15: .line 112
            aload 6 /* traverser */
            iload 4 /* context */
            invokevirtual org.apache.xml.dtm.DTMAxisTraverser.first:(I)I
            istore 10 /* relative */
        start local 10 // int relative
        16: goto 56
        17: .line 117
      StackMap locals: org.apache.xpath.patterns.ContextMatchStepPattern org.apache.xpath.XPathContext org.apache.xpath.patterns.StepPattern org.apache.xpath.objects.XObject int org.apache.xml.dtm.DTM org.apache.xml.dtm.DTMAxisTraverser int int int int
      StackMap stack:
            aload 1 /* xctxt */
            iload 10 /* relative */
            invokevirtual org.apache.xpath.XPathContext.pushCurrentNode:(I)V
        18: .line 119
            aload 0 /* this */
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.patterns.ContextMatchStepPattern.execute:(Lorg/apache/xpath/XPathContext;)Lorg/apache/xpath/objects/XObject;
            astore 3 /* score */
        19: .line 121
            aload 3 /* score */
            getstatic org.apache.xpath.patterns.NodeTest.SCORE_NONE:Lorg/apache/xpath/objects/XNumber;
            if_acmpeq 25
        20: .line 125
            aload 0 /* this */
            aload 1 /* xctxt */
            aload 5 /* dtm */
            iload 4 /* context */
            invokevirtual org.apache.xpath.patterns.ContextMatchStepPattern.executePredicates:(Lorg/apache/xpath/XPathContext;Lorg/apache/xml/dtm/DTM;I)Z
            ifeq 24
        21: .line 126
            aload 3 /* score */
            astore 18
        22: .line 170
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.popCurrentNode:()V
        23: .line 126
            aload 18
            areturn
        24: .line 128
      StackMap locals:
      StackMap stack:
            getstatic org.apache.xpath.patterns.NodeTest.SCORE_NONE:Lorg/apache/xpath/objects/XNumber;
            astore 3 /* score */
        25: .line 131
      StackMap locals:
      StackMap stack:
            iload 8 /* needToTraverseAttrs */
            ifeq 54
            iload 9 /* iterRootIsAttr */
            ifeq 54
        26: .line 132
            iconst_1
            aload 5 /* dtm */
            iload 10 /* relative */
            invokeinterface org.apache.xml.dtm.DTM.getNodeType:(I)S
            if_icmpne 54
        27: .line 134
            iconst_2
            istore 11 /* xaxis */
        start local 11 // int xaxis
        28: .line 135
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        29: goto 49
        30: .line 137
      StackMap locals: int int
      StackMap stack:
            aload 5 /* dtm */
            iload 11 /* xaxis */
            invokeinterface org.apache.xml.dtm.DTM.getAxisTraverser:(I)Lorg/apache/xml/dtm/DTMAxisTraverser;
            astore 13 /* atraverser */
        start local 13 // org.apache.xml.dtm.DTMAxisTraverser atraverser
        31: .line 139
            aload 13 /* atraverser */
            iload 10 /* relative */
            invokevirtual org.apache.xml.dtm.DTMAxisTraverser.first:(I)I
            istore 14 /* arelative */
        start local 14 // int arelative
        32: .line 140
            goto 46
        33: .line 145
      StackMap locals: org.apache.xml.dtm.DTMAxisTraverser int
      StackMap stack:
            aload 1 /* xctxt */
            iload 14 /* arelative */
            invokevirtual org.apache.xpath.XPathContext.pushCurrentNode:(I)V
        34: .line 147
            aload 0 /* this */
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.patterns.ContextMatchStepPattern.execute:(Lorg/apache/xpath/XPathContext;)Lorg/apache/xpath/objects/XObject;
            astore 3 /* score */
        35: .line 149
            aload 3 /* score */
            getstatic org.apache.xpath.patterns.NodeTest.SCORE_NONE:Lorg/apache/xpath/objects/XNumber;
            if_acmpeq 44
        36: .line 154
            aload 3 /* score */
            getstatic org.apache.xpath.patterns.NodeTest.SCORE_NONE:Lorg/apache/xpath/objects/XNumber;
            if_acmpeq 44
        37: .line 155
            aload 3 /* score */
            astore 16
        38: .line 160
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.popCurrentNode:()V
        39: .line 170
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.popCurrentNode:()V
        40: .line 155
            aload 16
            areturn
        41: .line 159
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
        42: .line 160
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.popCurrentNode:()V
        43: .line 161
            aload 15
            athrow
        44: .line 160
      StackMap locals:
      StackMap stack:
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.popCurrentNode:()V
        45: .line 141
            aload 13 /* atraverser */
            iload 10 /* relative */
            iload 14 /* arelative */
            invokevirtual org.apache.xml.dtm.DTMAxisTraverser.next:(II)I
            istore 14 /* arelative */
        46: .line 140
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 14 /* arelative */
            if_icmpne 33
        end local 14 // int arelative
        47: .line 163
            bipush 9
            istore 11 /* xaxis */
        end local 13 // org.apache.xml.dtm.DTMAxisTraverser atraverser
        48: .line 135
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 12 /* i */
            iconst_2
            if_icmplt 30
        end local 12 // int i
        end local 11 // int xaxis
        50: .line 167
            goto 54
        51: .line 169
      StackMap locals: org.apache.xpath.patterns.ContextMatchStepPattern org.apache.xpath.XPathContext org.apache.xpath.patterns.StepPattern org.apache.xpath.objects.XObject int org.apache.xml.dtm.DTM org.apache.xml.dtm.DTMAxisTraverser int int int int
      StackMap stack: java.lang.Throwable
            astore 17
        52: .line 170
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.popCurrentNode:()V
        53: .line 171
            aload 17
            athrow
        54: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.XPathContext.popCurrentNode:()V
        55: .line 113
            aload 6 /* traverser */
            iload 4 /* context */
            iload 10 /* relative */
            invokevirtual org.apache.xml.dtm.DTMAxisTraverser.next:(II)I
            istore 10 /* relative */
        56: .line 112
      StackMap locals:
      StackMap stack:
            iconst_m1
            iload 10 /* relative */
            if_icmpne 17
        end local 10 // int relative
        end local 9 // boolean iterRootIsAttr
        end local 8 // boolean needToTraverseAttrs
        end local 7 // int axis
        end local 6 // org.apache.xml.dtm.DTMAxisTraverser traverser
        57: .line 176
      StackMap locals: org.apache.xpath.patterns.ContextMatchStepPattern org.apache.xpath.XPathContext org.apache.xpath.patterns.StepPattern org.apache.xpath.objects.XObject int org.apache.xml.dtm.DTM
      StackMap stack:
            aload 3 /* score */
            areturn
        end local 5 // org.apache.xml.dtm.DTM dtm
        end local 4 // int context
        end local 3 // org.apache.xpath.objects.XObject score
        end local 2 // org.apache.xpath.patterns.StepPattern prevStep
        end local 1 // org.apache.xpath.XPathContext xctxt
        end local 0 // org.apache.xpath.patterns.ContextMatchStepPattern this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   58     0                 this  Lorg/apache/xpath/patterns/ContextMatchStepPattern;
            0   58     1                xctxt  Lorg/apache/xpath/XPathContext;
            0   58     2             prevStep  Lorg/apache/xpath/patterns/StepPattern;
            1   58     3                score  Lorg/apache/xpath/objects/XObject;
            2   58     4              context  I
            3   58     5                  dtm  Lorg/apache/xml/dtm/DTM;
           15   57     6            traverser  Lorg/apache/xml/dtm/DTMAxisTraverser;
            6   57     7                 axis  I
            7   57     8  needToTraverseAttrs  Z
           12   57     9       iterRootIsAttr  Z
           16   57    10             relative  I
           28   50    11                xaxis  I
           29   50    12                    i  I
           31   48    13           atraverser  Lorg/apache/xml/dtm/DTMAxisTraverser;
           32   47    14            arelative  I
      Exception table:
        from    to  target  type
          33    38      41  any
          17    22      51  any
          24    39      51  any
          41    51      51  any
    Exceptions:
      throws javax.xml.transform.TransformerException
    MethodParameters:
          Name  Flags
      xctxt     
      prevStep  
}
SourceFile: "ContextMatchStepPattern.java"