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

  private org.apache.xpath.patterns.StepPattern[] m_patterns;
    descriptor: [Lorg/apache/xpath/patterns/StepPattern;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.xpath.patterns.UnionPattern this
         0: .line 34
            aload 0 /* this */
            invokespecial org.apache.xpath.Expression.<init>:()V
            return
        end local 0 // org.apache.xpath.patterns.UnionPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/xpath/patterns/UnionPattern;

  public void fixupVariables(java.util.Vector, int);
    descriptor: (Ljava/util/Vector;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.xpath.patterns.UnionPattern this
        start local 1 // java.util.Vector vars
        start local 2 // int globalsSize
         0: .line 47
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 49
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            iload 3 /* i */
            aaload
            aload 1 /* vars */
            iload 2 /* globalsSize */
            invokevirtual org.apache.xpath.patterns.StepPattern.fixupVariables:(Ljava/util/Vector;I)V
         3: .line 47
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 51
            return
        end local 2 // int globalsSize
        end local 1 // java.util.Vector vars
        end local 0 // org.apache.xpath.patterns.UnionPattern this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/apache/xpath/patterns/UnionPattern;
            0    6     1         vars  Ljava/util/Vector;
            0    6     2  globalsSize  I
            1    5     3            i  I
    MethodParameters:
             Name  Flags
      vars         
      globalsSize  

  public boolean canTraverseOutsideSubtree();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.xpath.patterns.UnionPattern this
         0: .line 62
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            ifnull 8
         1: .line 64
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            arraylength
            istore 1 /* n */
        start local 1 // int n
         2: .line 65
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 67
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.xpath.patterns.StepPattern.canTraverseOutsideSubtree:()Z
            ifeq 6
         5: .line 68
            iconst_1
            ireturn
         6: .line 65
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 1 /* n */
            if_icmplt 4
        end local 2 // int i
        end local 1 // int n
         8: .line 71
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.apache.xpath.patterns.UnionPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/xpath/patterns/UnionPattern;
            2    8     1     n  I
            3    8     2     i  I

  public void setPatterns(org.apache.xpath.patterns.StepPattern[]);
    descriptor: ([Lorg/apache/xpath/patterns/StepPattern;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.xpath.patterns.UnionPattern this
        start local 1 // org.apache.xpath.patterns.StepPattern[] patterns
         0: .line 82
            aload 0 /* this */
            aload 1 /* patterns */
            putfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
         1: .line 83
            aload 1 /* patterns */
            ifnull 7
         2: .line 85
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 87
      StackMap locals: int
      StackMap stack:
            aload 1 /* patterns */
            iload 2 /* i */
            aaload
            aload 0 /* this */
            invokevirtual org.apache.xpath.patterns.StepPattern.exprSetParent:(Lorg/apache/xpath/ExpressionNode;)V
         5: .line 85
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* patterns */
            arraylength
            if_icmplt 4
        end local 2 // int i
         7: .line 91
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.xpath.patterns.StepPattern[] patterns
        end local 0 // org.apache.xpath.patterns.UnionPattern this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/xpath/patterns/UnionPattern;
            0    8     1  patterns  [Lorg/apache/xpath/patterns/StepPattern;
            3    7     2         i  I
    MethodParameters:
          Name  Flags
      patterns  

  public org.apache.xpath.patterns.StepPattern[] getPatterns();
    descriptor: ()[Lorg/apache/xpath/patterns/StepPattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.xpath.patterns.UnionPattern this
         0: .line 101
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            areturn
        end local 0 // org.apache.xpath.patterns.UnionPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/xpath/patterns/UnionPattern;

  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=4, locals=6, args_size=2
        start local 0 // org.apache.xpath.patterns.UnionPattern this
        start local 1 // org.apache.xpath.XPathContext xctxt
         0: .line 120
            aconst_null
            astore 2 /* bestScore */
        start local 2 // org.apache.xpath.objects.XObject bestScore
         1: .line 121
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            arraylength
            istore 3 /* n */
        start local 3 // int n
         2: .line 123
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 11
         4: .line 125
      StackMap locals: org.apache.xpath.objects.XObject int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            iload 4 /* i */
            aaload
            aload 1 /* xctxt */
            invokevirtual org.apache.xpath.patterns.StepPattern.execute:(Lorg/apache/xpath/XPathContext;)Lorg/apache/xpath/objects/XObject;
            astore 5 /* score */
        start local 5 // org.apache.xpath.objects.XObject score
         5: .line 127
            aload 5 /* score */
            getstatic org.apache.xpath.patterns.NodeTest.SCORE_NONE:Lorg/apache/xpath/objects/XNumber;
            if_acmpeq 10
         6: .line 129
            aload 2 /* bestScore */
            ifnonnull 8
         7: .line 130
            aload 5 /* score */
            astore 2 /* bestScore */
            goto 10
         8: .line 131
      StackMap locals: org.apache.xpath.objects.XObject
      StackMap stack:
            aload 5 /* score */
            invokevirtual org.apache.xpath.objects.XObject.num:()D
            aload 2 /* bestScore */
            invokevirtual org.apache.xpath.objects.XObject.num:()D
            dcmpl
            ifle 10
         9: .line 132
            aload 5 /* score */
            astore 2 /* bestScore */
        end local 5 // org.apache.xpath.objects.XObject score
        10: .line 123
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* n */
            if_icmplt 4
        end local 4 // int i
        12: .line 136
            aload 2 /* bestScore */
            ifnonnull 14
        13: .line 138
            getstatic org.apache.xpath.patterns.NodeTest.SCORE_NONE:Lorg/apache/xpath/objects/XNumber;
            astore 2 /* bestScore */
        14: .line 141
      StackMap locals:
      StackMap stack:
            aload 2 /* bestScore */
            areturn
        end local 3 // int n
        end local 2 // org.apache.xpath.objects.XObject bestScore
        end local 1 // org.apache.xpath.XPathContext xctxt
        end local 0 // org.apache.xpath.patterns.UnionPattern this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/apache/xpath/patterns/UnionPattern;
            0   15     1      xctxt  Lorg/apache/xpath/XPathContext;
            1   15     2  bestScore  Lorg/apache/xpath/objects/XObject;
            2   15     3          n  I
            3   12     4          i  I
            5   10     5      score  Lorg/apache/xpath/objects/XObject;
    Exceptions:
      throws javax.xml.transform.TransformerException
    MethodParameters:
       Name  Flags
      xctxt  

  public void callVisitors(org.apache.xpath.ExpressionOwner, org.apache.xpath.XPathVisitor);
    descriptor: (Lorg/apache/xpath/ExpressionOwner;Lorg/apache/xpath/XPathVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.xpath.patterns.UnionPattern this
        start local 1 // org.apache.xpath.ExpressionOwner owner
        start local 2 // org.apache.xpath.XPathVisitor visitor
         0: .line 177
            aload 2 /* visitor */
            aload 1 /* owner */
            aload 0 /* this */
            invokevirtual org.apache.xpath.XPathVisitor.visitUnionPattern:(Lorg/apache/xpath/ExpressionOwner;Lorg/apache/xpath/patterns/UnionPattern;)Z
            pop
         1: .line 178
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            ifnull 8
         2: .line 180
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            arraylength
            istore 3 /* n */
        start local 3 // int n
         3: .line 181
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 183
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            iload 4 /* i */
            aaload
            new org.apache.xpath.patterns.UnionPattern$UnionPathPartOwner
            dup
            aload 0 /* this */
            iload 4 /* i */
            invokespecial org.apache.xpath.patterns.UnionPattern$UnionPathPartOwner.<init>:(Lorg/apache/xpath/patterns/UnionPattern;I)V
            aload 2 /* visitor */
            invokevirtual org.apache.xpath.patterns.StepPattern.callVisitors:(Lorg/apache/xpath/ExpressionOwner;Lorg/apache/xpath/XPathVisitor;)V
         6: .line 181
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* n */
            if_icmplt 5
        end local 4 // int i
        end local 3 // int n
         8: .line 186
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.xpath.XPathVisitor visitor
        end local 1 // org.apache.xpath.ExpressionOwner owner
        end local 0 // org.apache.xpath.patterns.UnionPattern this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/xpath/patterns/UnionPattern;
            0    9     1    owner  Lorg/apache/xpath/ExpressionOwner;
            0    9     2  visitor  Lorg/apache/xpath/XPathVisitor;
            3    8     3        n  I
            4    8     4        i  I
    MethodParameters:
         Name  Flags
      owner    
      visitor  

  public boolean deepEquals(org.apache.xpath.Expression);
    descriptor: (Lorg/apache/xpath/Expression;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.xpath.patterns.UnionPattern this
        start local 1 // org.apache.xpath.Expression expr
         0: .line 193
            aload 0 /* this */
            aload 1 /* expr */
            invokevirtual org.apache.xpath.patterns.UnionPattern.isSameClass:(Lorg/apache/xpath/Expression;)Z
            ifne 2
         1: .line 194
            iconst_0
            ireturn
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* expr */
            checkcast org.apache.xpath.patterns.UnionPattern
            astore 2 /* up */
        start local 2 // org.apache.xpath.patterns.UnionPattern up
         3: .line 198
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            ifnull 14
         4: .line 200
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            arraylength
            istore 3 /* n */
        start local 3 // int n
         5: .line 201
            aload 2 /* up */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            ifnull 6
            aload 2 /* up */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            arraylength
            iload 3 /* n */
            if_icmpeq 7
         6: .line 202
      StackMap locals: org.apache.xpath.patterns.UnionPattern int
      StackMap stack:
            iconst_0
            ireturn
         7: .line 204
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 12
         9: .line 206
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            iload 4 /* i */
            aaload
            aload 2 /* up */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            iload 4 /* i */
            aaload
            invokevirtual org.apache.xpath.patterns.StepPattern.deepEquals:(Lorg/apache/xpath/Expression;)Z
            ifne 11
        10: .line 207
            iconst_0
            ireturn
        11: .line 204
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 3 /* n */
            if_icmplt 9
        end local 4 // int i
        end local 3 // int n
        13: .line 209
            goto 16
        14: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* up */
            getfield org.apache.xpath.patterns.UnionPattern.m_patterns:[Lorg/apache/xpath/patterns/StepPattern;
            ifnull 16
        15: .line 211
            iconst_0
            ireturn
        16: .line 213
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.apache.xpath.patterns.UnionPattern up
        end local 1 // org.apache.xpath.Expression expr
        end local 0 // org.apache.xpath.patterns.UnionPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/apache/xpath/patterns/UnionPattern;
            0   17     1  expr  Lorg/apache/xpath/Expression;
            3   17     2    up  Lorg/apache/xpath/patterns/UnionPattern;
            5   13     3     n  I
            8   13     4     i  I
    MethodParameters:
      Name  Flags
      expr  
}
SourceFile: "UnionPattern.java"
NestMembers:
  org.apache.xpath.patterns.UnionPattern$UnionPathPartOwner
InnerClasses:
  UnionPathPartOwner = org.apache.xpath.patterns.UnionPattern$UnionPathPartOwner of org.apache.xpath.patterns.UnionPattern