final class com.sun.org.apache.xalan.internal.xsltc.compiler.If extends com.sun.org.apache.xalan.internal.xsltc.compiler.Instruction
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.org.apache.xalan.internal.xsltc.compiler.If
  super_class: com.sun.org.apache.xalan.internal.xsltc.compiler.Instruction
{
  private com.sun.org.apache.xalan.internal.xsltc.compiler.Expression _test;
    descriptor: Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
    flags: (0x0002) ACC_PRIVATE

  private boolean _ignore;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.If this
         0: .line 39
            aload 0 /* this */
            invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.Instruction.<init>:()V
         1: .line 42
            aload 0 /* this */
            iconst_0
            putfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._ignore:Z
         2: .line 39
            return
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.If this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/If;

  public void display(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.If this
        start local 1 // int indent
         0: .line 48
            aload 0 /* this */
            iload 1 /* indent */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.indent:(I)V
         1: .line 49
            ldc "If"
            invokestatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Util.println:(Ljava/lang/String;)V
         2: .line 50
            aload 0 /* this */
            iload 1 /* indent */
            iconst_4
            iadd
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.indent:(I)V
         3: .line 51
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "test "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         4: .line 52
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.toString:()Ljava/lang/String;
            invokestatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Util.println:(Ljava/lang/String;)V
         5: .line 53
            aload 0 /* this */
            iload 1 /* indent */
            iconst_4
            iadd
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.displayContents:(I)V
         6: .line 54
            return
        end local 1 // int indent
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.If this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/If;
            0    7     1  indent  I
    MethodParameters:
        Name  Flags
      indent  

  public void parseContents(com.sun.org.apache.xalan.internal.xsltc.compiler.Parser);
    descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.If this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.Parser parser
         0: .line 61
            aload 0 /* this */
            aload 1 /* parser */
            aload 0 /* this */
            ldc "test"
            aconst_null
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.parseExpression:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            putfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
         1: .line 64
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.isDummy:()Z
            ifeq 4
         2: .line 65
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* parser */
            ldc "REQUIRED_ATTR_ERR"
            ldc "test"
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.reportError:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 66
            return
         4: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.evaluateAtCompileTime:()Ljava/lang/Object;
            astore 2 /* result */
        start local 2 // java.lang.Object result
         5: .line 72
            aload 2 /* result */
            ifnull 9
            aload 2 /* result */
            instanceof java.lang.Boolean
            ifeq 9
         6: .line 73
            aload 0 /* this */
            aload 2 /* result */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.If com.sun.org.apache.xalan.internal.xsltc.compiler.Parser java.lang.Object
      StackMap stack: com.sun.org.apache.xalan.internal.xsltc.compiler.If
         7: iconst_1
      StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.If com.sun.org.apache.xalan.internal.xsltc.compiler.Parser java.lang.Object
      StackMap stack: com.sun.org.apache.xalan.internal.xsltc.compiler.If int
         8: putfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._ignore:Z
         9: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parser */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.parseChildren:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;)V
        10: .line 77
            return
        end local 2 // java.lang.Object result
        end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.Parser parser
        end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.If this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/If;
            0   11     1  parser  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;
            5   11     2  result  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      parser  

  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=5, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.If this
        start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable stable
         0: .line 85
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            aload 1 /* stable */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.typeCheck:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
            instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.util.BooleanType
            ifne 2
         1: .line 86
            aload 0 /* this */
            new com.sun.org.apache.xalan.internal.xsltc.compiler.CastExpr
            dup
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            getstatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.Boolean:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
            invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.CastExpr.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;)V
            putfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
         2: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._ignore:Z
            ifne 4
         3: .line 90
            aload 0 /* this */
            aload 1 /* stable */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.typeCheckContents:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
            pop
         4: .line 92
      StackMap locals:
      StackMap stack:
            getstatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.Void: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.If this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/If;
            0    5     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=3, locals=5, args_size=3
        start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.If 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 100
            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 101
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            aload 1 /* classGen */
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.translateDesynthesized:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
         2: .line 103
            aload 3 /* il */
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.getEnd:()Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            astore 4 /* truec */
        start local 4 // com.sun.org.apache.bcel.internal.generic.InstructionHandle truec
         3: .line 104
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._ignore:Z
            ifne 5
         4: .line 105
            aload 0 /* this */
            aload 1 /* classGen */
            aload 2 /* methodGen */
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.translateContents:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
         5: .line 107
      StackMap locals: com.sun.org.apache.bcel.internal.generic.InstructionList com.sun.org.apache.bcel.internal.generic.InstructionHandle
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            aload 3 /* il */
            getstatic com.sun.org.apache.xalan.internal.xsltc.compiler.If.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.xalan.internal.xsltc.compiler.Expression.backPatchFalseList:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
         6: .line 108
            aload 0 /* this */
            getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
            aload 4 /* truec */
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionHandle.getNext:()Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.backPatchTrueList:(Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
         7: .line 109
            return
        end local 4 // com.sun.org.apache.bcel.internal.generic.InstructionHandle 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.If this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/If;
            0    8     1   classGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;
            0    8     2  methodGen  Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;
            1    8     3         il  Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            3    8     4      truec  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    MethodParameters:
           Name  Flags
      classGen   
      methodGen  
}
SourceFile: "If.java"