final class com.sun.org.apache.xalan.internal.xsltc.compiler.When 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.When
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.When._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/When;
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.When.indent:(I)V
1: ldc "When"
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.When.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.When._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.When.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/When;
0 7 1 indent I
MethodParameters:
Name Flags
indent
public com.sun.org.apache.xalan.internal.xsltc.compiler.Expression getTest();
descriptor: ()Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.When._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/When;
public boolean ignore();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.When._ignore:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/When;
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.When._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
1: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.When._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 2: aload 2
ifnull 6
aload 2
instanceof java.lang.Boolean
ifeq 6
3: aload 0
aload 2
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 4
iconst_0
goto 5
StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.When com.sun.org.apache.xalan.internal.xsltc.compiler.Parser java.lang.Object
StackMap stack: com.sun.org.apache.xalan.internal.xsltc.compiler.When
4: iconst_1
StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.When com.sun.org.apache.xalan.internal.xsltc.compiler.Parser java.lang.Object
StackMap stack: com.sun.org.apache.xalan.internal.xsltc.compiler.When int
5: putfield com.sun.org.apache.xalan.internal.xsltc.compiler.When._ignore:Z
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.When.parseChildren:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;)V
7: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.When._test:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Expression.isDummy:()Z
ifeq 9
8: aload 0
aload 0
aload 1
ldc "REQUIRED_ATTR_ERR"
ldc "test"
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.When.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
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/When;
0 10 1 parser Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;
2 10 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.When._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.When._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.When._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.When._ignore:Z
ifne 4
3: aload 0
aload 1
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.When.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/When;
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=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg
dup
ldc "STRAY_WHEN_ERR"
aload 0
invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg.<init>:(Ljava/lang/String;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode;)V
astore 3
start local 3 1: aload 0
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.When.getParser:()Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;
iconst_3
aload 3
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.reportError:(ILcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/When;
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 msg Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;
MethodParameters:
Name Flags
classGen
methodGen
}
SourceFile: "When.java"