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 0: aload 0
invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.Instruction.<init>:()V
1: aload 0
iconst_0
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._ignore:Z
2: return
end local 0 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 start local 1 0: aload 0
iload 1
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.indent:(I)V
1: ldc "If"
invokestatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Util.println:(Ljava/lang/String;)V
2: aload 0
iload 1
iconst_4
iadd
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.indent:(I)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "test "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
4: aload 0
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: aload 0
iload 1
iconst_4
iadd
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.displayContents:(I)V
6: return
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
aload 0
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: aload 0
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: aload 0
aload 0
aload 1
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: return
4: StackMap locals:
StackMap stack:
aload 0
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
start local 2 5: aload 2
ifnull 9
aload 2
instanceof java.lang.Boolean
ifeq 9
6: aload 0
aload 2
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: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.If.parseChildren:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;)V
10: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
aload 1
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: aload 0
new com.sun.org.apache.xalan.internal.xsltc.compiler.CastExpr
dup
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._ignore:Z
ifne 4
3: aload 0
aload 1
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: 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 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getInstructionList:()Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
astore 3
start local 3 1: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
aload 1
aload 2
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: aload 3
invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.getEnd:()Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
astore 4
start local 4 3: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._ignore:Z
ifne 5
4: aload 0
aload 1
aload 2
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: StackMap locals: com.sun.org.apache.bcel.internal.generic.InstructionList com.sun.org.apache.bcel.internal.generic.InstructionHandle
StackMap stack:
aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
aload 3
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: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.If._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
aload 4
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: return
end local 4 end local 3 end local 2 end local 1 end local 0 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"