abstract class com.sun.org.apache.xalan.internal.xsltc.compiler.Expression extends com.sun.org.apache.xalan.internal.xsltc.compiler.SyntaxTreeNode
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.org.apache.xalan.internal.xsltc.compiler.Expression
  super_class: com.sun.org.apache.xalan.internal.xsltc.compiler.SyntaxTreeNode
{
  protected com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type _type;
    descriptor: Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
    flags: (0x0004) ACC_PROTECTED

  protected com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList _trueList;
    descriptor: Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
    flags: (0x0004) ACC_PROTECTED

  protected com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList _falseList;
    descriptor: Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
    flags: (0x0004) ACC_PROTECTED

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
         0: .line 46
            aload 0 /* this */
            invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.SyntaxTreeNode.<init>:()V
         1: .line 56
            aload 0 /* this */
            new com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList
            dup
            invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList.<init>:()V
            putfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._trueList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
         2: .line 61
            aload 0 /* this */
            new com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList
            dup
            invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList.<init>:()V
            putfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._falseList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
         3: .line 46
            return
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;

  public com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type getType();
    descriptor: ()Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
         0: .line 64
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
            areturn
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;

  public abstract java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean hasPositionCall();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
         0: .line 70
            iconst_0
            ireturn
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;

  public boolean hasLastCall();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
         0: .line 74
            iconst_0
            ireturn
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;

  public java.lang.Object evaluateAtCompileTime();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
         0: .line 83
            aconst_null
            areturn
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;

  public com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type typeCheck(com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable stable
         0: .line 90
            aload 0 /* this */
            aload 1 /* stable */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.typeCheckContents:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
            areturn
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable stable
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0    1     1  stable  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;
    Exceptions:
      throws com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError
    MethodParameters:
        Name  Flags
      stable  

  public void translate(com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator, com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        start local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
         0: .line 97
            new com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg
            dup
            ldc "NOT_IMPLEMENTED_ERR"
         1: .line 98
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0 /* this */
         2: .line 97
            invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg.<init>:(Ljava/lang/String;Ljava/lang/Object;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode;)V
            astore 3 /* msg */
        start local 3 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg msg
         3: .line 99
            aload 0 /* this */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.getParser:()Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;
            iconst_2
            aload 3 /* msg */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.reportError:(ILcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;)V
         4: .line 100
            return
        end local 3 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg msg
        end local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0    5     1   classGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;
            0    5     2  methodGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;
            3    5     3        msg  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;
    MethodParameters:
           Name  Flags
      classGen   
      methodGen  

  public final com.sun.org.apache.bcel.internal.generic.InstructionList compile(com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator, com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        start local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
         0: .line 108
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getInstructionList:()Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            astore 4 /* save */
        start local 4 // com.sun.org.apache.bcel.internal.generic.InstructionList save
         1: .line 109
            aload 2 /* methodGen */
            new com.sun.org.apache.bcel.internal.generic.InstructionList
            dup
            invokespecial com.sun.org.apache.bcel.internal.generic.InstructionList.<init>:()V
            dup
            astore 3 /* result */
        start local 3 // com.sun.org.apache.bcel.internal.generic.InstructionList result
         2: invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.setInstructionList:(Lcom/sun/org/apache/bcel/internal/generic/InstructionList;)V
         3: .line 110
            aload 0 /* this */
            aload 1 /* classGen */
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.translate:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
         4: .line 111
            aload 2 /* methodGen */
            aload 4 /* save */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.setInstructionList:(Lcom/sun/org/apache/bcel/internal/generic/InstructionList;)V
         5: .line 112
            aload 3 /* result */
            areturn
        end local 4 // com.sun.org.apache.bcel.internal.generic.InstructionList save
        end local 3 // com.sun.org.apache.bcel.internal.generic.InstructionList result
        end local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0    6     1   classGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;
            0    6     2  methodGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;
            2    6     3     result  Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            1    6     4       save  Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
    MethodParameters:
           Name  Flags
      classGen   
      methodGen  

  public void translateDesynthesized(com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator, com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        start local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
         0: .line 120
            aload 0 /* this */
            aload 1 /* classGen */
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.translate:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
         1: .line 121
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
            instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.util.BooleanType
            ifeq 3
         2: .line 122
            aload 0 /* this */
            aload 1 /* classGen */
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.desynthesize:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
         3: .line 124
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0    4     1   classGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;
            0    4     2  methodGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;
    MethodParameters:
           Name  Flags
      classGen   
      methodGen  

  public void startIterator(com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator, com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        start local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
         0: .line 133
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
            instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.util.NodeSetType
            ifne 2
         1: .line 134
            return
         2: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 3 /* expr */
        start local 3 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression expr
         3: .line 139
            aload 3 /* expr */
            instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.CastExpr
            ifeq 5
         4: .line 140
            aload 3 /* expr */
            checkcast com.sun.org.apache.xalan.internal.xsltc.compiler.CastExpr
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.CastExpr.getExpr:()Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            astore 3 /* expr */
         5: .line 142
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.Expression
      StackMap stack:
            aload 3 /* expr */
            instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.VariableRefBase
            ifne 9
         6: .line 143
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getInstructionList:()Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            astore 4 /* il */
        start local 4 // com.sun.org.apache.bcel.internal.generic.InstructionList il
         7: .line 144
            aload 4 /* il */
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.loadContextNode:()Lcom/sun/org/apache/bcel/internal/generic/Instruction;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.append:(Lcom/sun/org/apache/bcel/internal/generic/Instruction;)Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            pop
         8: .line 145
            aload 4 /* il */
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.setStartNode:()Lcom/sun/org/apache/bcel/internal/generic/Instruction;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.append:(Lcom/sun/org/apache/bcel/internal/generic/Instruction;)Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            pop
        end local 4 // com.sun.org.apache.bcel.internal.generic.InstructionList il
         9: .line 147
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression expr
        end local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0   10     1   classGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;
            0   10     2  methodGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;
            3   10     3       expr  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            7    9     4         il  Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
    MethodParameters:
           Name  Flags
      classGen   
      methodGen  

  public void synthesize(com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator, com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        start local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
         0: .line 155
            aload 1 /* classGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator.getConstantPool:()Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;
            pop
         1: .line 156
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getInstructionList:()Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            astore 3 /* il */
        start local 3 // com.sun.org.apache.bcel.internal.generic.InstructionList il
         2: .line 157
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._trueList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
            aload 3 /* il */
            getstatic com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.ICONST_1:Lcom/sun/org/apache/bcel/internal/generic/Instruction;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.append:(Lcom/sun/org/apache/bcel/internal/generic/Instruction;)Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList.backPatch:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
         3: .line 158
            aload 3 /* il */
            new com.sun.org.apache.bcel.internal.generic.GOTO_W
            dup
            aconst_null
            invokespecial com.sun.org.apache.bcel.internal.generic.GOTO_W.<init>:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.append:(Lcom/sun/org/apache/bcel/internal/generic/BranchInstruction;)Lcom/sun/org/apache/bcel/internal/generic/BranchHandle;
            astore 4 /* truec */
        start local 4 // com.sun.org.apache.bcel.internal.generic.BranchHandle truec
         4: .line 159
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._falseList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
            aload 3 /* il */
            getstatic com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.ICONST_0:Lcom/sun/org/apache/bcel/internal/generic/Instruction;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.append:(Lcom/sun/org/apache/bcel/internal/generic/Instruction;)Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList.backPatch:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
         5: .line 160
            aload 4 /* truec */
            aload 3 /* il */
            getstatic com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.NOP:Lcom/sun/org/apache/bcel/internal/generic/Instruction;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.append:(Lcom/sun/org/apache/bcel/internal/generic/Instruction;)Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            invokevirtual com.sun.org.apache.bcel.internal.generic.BranchHandle.setTarget:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
         6: .line 161
            return
        end local 4 // com.sun.org.apache.bcel.internal.generic.BranchHandle truec
        end local 3 // com.sun.org.apache.bcel.internal.generic.InstructionList il
        end local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0    7     1   classGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;
            0    7     2  methodGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;
            2    7     3         il  Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            4    7     4      truec  Lcom/sun/org/apache/bcel/internal/generic/BranchHandle;
    MethodParameters:
           Name  Flags
      classGen   
      methodGen  

  public void desynthesize(com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator, com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        start local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
         0: .line 165
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getInstructionList:()Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            astore 3 /* il */
        start local 3 // com.sun.org.apache.bcel.internal.generic.InstructionList il
         1: .line 166
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._falseList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
            aload 3 /* il */
            new com.sun.org.apache.bcel.internal.generic.IFEQ
            dup
            aconst_null
            invokespecial com.sun.org.apache.bcel.internal.generic.IFEQ.<init>:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.append:(Lcom/sun/org/apache/bcel/internal/generic/BranchInstruction;)Lcom/sun/org/apache/bcel/internal/generic/BranchHandle;
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList.add:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
            pop
         2: .line 167
            return
        end local 3 // com.sun.org.apache.bcel.internal.generic.InstructionList il
        end local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator methodGen
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator classGen
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0    3     1   classGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;
            0    3     2  methodGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;
            1    3     3         il  Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
    MethodParameters:
           Name  Flags
      classGen   
      methodGen  

  public com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList getFalseList();
    descriptor: ()Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
         0: .line 170
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._falseList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
            areturn
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;

  public com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList getTrueList();
    descriptor: ()Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
         0: .line 174
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._trueList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
            areturn
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;

  public void backPatchFalseList(com.sun.org.apache.bcel.internal.generic.InstructionHandle);
    descriptor: (Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.bcel.internal.generic.InstructionHandle ih
         0: .line 178
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._falseList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
            aload 1 /* ih */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList.backPatch:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
         1: .line 179
            return
        end local 1 // com.sun.org.apache.bcel.internal.generic.InstructionHandle ih
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0    2     1    ih  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    MethodParameters:
      Name  Flags
      ih    

  public void backPatchTrueList(com.sun.org.apache.bcel.internal.generic.InstructionHandle);
    descriptor: (Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.bcel.internal.generic.InstructionHandle ih
         0: .line 182
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.Expression._trueList:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FlowList;
            aload 1 /* ih */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FlowList.backPatch:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
         1: .line 183
            return
        end local 1 // com.sun.org.apache.bcel.internal.generic.InstructionHandle ih
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0    2     1    ih  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    MethodParameters:
      Name  Flags
      ih    

  public com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType lookupPrimop(com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable, java.lang.String, com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;Ljava/lang/String;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType;)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=11, args_size=4
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable stable
        start local 2 // java.lang.String op
        start local 3 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType ctype
         0: .line 194
            aconst_null
            astore 4 /* result */
        start local 4 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType result
         1: .line 195
            aload 1 /* stable */
            aload 2 /* op */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable.lookupPrimop:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* primop */
        start local 5 // java.util.List primop
         2: .line 196
            aload 5 /* primop */
            ifnull 18
         3: .line 197
            aload 5 /* primop */
            invokeinterface java.util.List.size:()I
            istore 6 /* n */
        start local 6 // int n
         4: .line 198
            ldc 2147483647
            istore 7 /* minDistance */
        start local 7 // int minDistance
         5: .line 199
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         6: goto 17
         7: .line 200
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.Expression com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable java.lang.String com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType java.util.List int int int
      StackMap stack:
            aload 5 /* primop */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType
            astore 9 /* ptype */
        start local 9 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType ptype
         8: .line 202
            aload 9 /* ptype */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType.argsCount:()I
            aload 3 /* ctype */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType.argsCount:()I
            if_icmpeq 10
         9: .line 203
            goto 16
        10: .line 207
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType
      StackMap stack:
            aload 4 /* result */
            ifnonnull 12
        11: .line 208
            aload 9 /* ptype */
            astore 4 /* result */
        12: .line 212
      StackMap locals:
      StackMap stack:
            aload 3 /* ctype */
            aload 9 /* ptype */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType.distanceTo:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;)I
            istore 10 /* distance */
        start local 10 // int distance
        13: .line 213
            iload 10 /* distance */
            iload 7 /* minDistance */
            if_icmpge 16
        14: .line 214
            iload 10 /* distance */
            istore 7 /* minDistance */
        15: .line 215
            aload 9 /* ptype */
            astore 4 /* result */
        end local 10 // int distance
        end local 9 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType ptype
        16: .line 199
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 8 /* i */
            iload 6 /* n */
            if_icmplt 7
        end local 8 // int i
        end local 7 // int minDistance
        end local 6 // int n
        18: .line 219
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 5 // java.util.List primop
        end local 4 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType result
        end local 3 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType ctype
        end local 2 // java.lang.String op
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable stable
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            0   19     1       stable  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;
            0   19     2           op  Ljava/lang/String;
            0   19     3        ctype  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType;
            1   19     4       result  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType;
            2   19     5       primop  Ljava/util/List<Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType;>;
            4   18     6            n  I
            5   18     7  minDistance  I
            6   18     8            i  I
            8   16     9        ptype  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType;
           13   16    10     distance  I
    MethodParameters:
        Name  Flags
      stable  
      op      
      ctype   
}
SourceFile: "Expression.java"