final class com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall extends com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionCall
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall
super_class: com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionCall
{
private java.lang.String _className;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private com.sun.org.apache.xalan.internal.xsltc.compiler.Expression _right;
descriptor: Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
flags: (0x0002) ACC_PRIVATE
public void <init>(com.sun.org.apache.xalan.internal.xsltc.compiler.QName, java.util.List<com.sun.org.apache.xalan.internal.xsltc.compiler.Expression>);
descriptor: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/QName;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall this
start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.QName fname
start local 2 // java.util.List arguments
0: .line 55
aload 0 /* this */
aload 1 /* fname */
aload 2 /* arguments */
invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionCall.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/QName;Ljava/util/List;)V
1: .line 56
return
end local 2 // java.util.List arguments
end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.QName fname
end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/CastCall;
0 2 1 fname Lcom/sun/org/apache/xalan/internal/xsltc/compiler/QName;
0 2 2 arguments Ljava/util/List<Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;>;
Signature: (Lcom/sun/org/apache/xalan/internal/xsltc/compiler/QName;Ljava/util/List<Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;>;)V
MethodParameters:
Name Flags
fname
arguments
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=8, locals=4, args_size=2
start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall this
start local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable stable
0: .line 63
aload 0 /* this */
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall.argumentCount:()I
iconst_2
if_icmpeq 4
1: .line 64
new com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError
dup
new com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg
dup
ldc "ILLEGAL_ARG_ERR"
2: .line 65
aload 0 /* this */
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall.getName:()Ljava/lang/String;
aload 0 /* this */
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
3: .line 64
invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;)V
athrow
4: .line 69
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall.argument:(I)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
astore 2 /* exp */
start local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression exp
5: .line 70
aload 2 /* exp */
instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr
ifeq 9
6: .line 71
aload 0 /* this */
aload 2 /* exp */
checkcast com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr.getValue:()Ljava/lang/String;
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._className:Ljava/lang/String;
7: .line 72
aload 0 /* this */
aload 0 /* this */
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._className:Ljava/lang/String;
invokestatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.newObjectType:(Ljava/lang/String;)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
8: .line 73
goto 12
9: .line 75
StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.Expression
StackMap stack:
new com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError
dup
new com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg
dup
ldc "NEED_LITERAL_ERR"
10: .line 76
aload 0 /* this */
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall.getName:()Ljava/lang/String;
aload 0 /* this */
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
11: .line 75
invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;)V
athrow
12: .line 80
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
iconst_1
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall.argument:(I)Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._right:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
13: .line 81
aload 0 /* this */
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._right: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;
astore 3 /* tright */
start local 3 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type tright
14: .line 82
aload 3 /* tright */
getstatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.Reference:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
if_acmpeq 19
15: .line 83
aload 3 /* tright */
instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.util.ObjectType
ifne 19
16: .line 85
new com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError
dup
new com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg
dup
ldc "DATA_CONVERSION_ERR"
17: .line 86
aload 3 /* tright */
aload 0 /* this */
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
aload 0 /* this */
invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode;)V
18: .line 85
invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;)V
athrow
19: .line 89
StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type
StackMap stack:
aload 0 /* this */
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
areturn
end local 3 // com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type tright
end local 2 // com.sun.org.apache.xalan.internal.xsltc.compiler.Expression exp
end local 1 // com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable stable
end local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/CastCall;
0 20 1 stable Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;
5 20 2 exp Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
14 20 3 tright Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
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=5, args_size=3
start local 0 // com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall 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 93
aload 1 /* classGen */
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator.getConstantPool:()Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;
astore 3 /* cpg */
start local 3 // com.sun.org.apache.bcel.internal.generic.ConstantPoolGen cpg
1: .line 94
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
2: .line 96
aload 0 /* this */
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._right: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.translate:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator;Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator;)V
3: .line 97
aload 4 /* il */
new com.sun.org.apache.bcel.internal.generic.CHECKCAST
dup
aload 3 /* cpg */
aload 0 /* this */
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.CastCall._className:Ljava/lang/String;
invokevirtual com.sun.org.apache.bcel.internal.generic.ConstantPoolGen.addClass:(Ljava/lang/String;)I
invokespecial com.sun.org.apache.bcel.internal.generic.CHECKCAST.<init>:(I)V
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
4: .line 98
return
end local 4 // com.sun.org.apache.bcel.internal.generic.InstructionList il
end local 3 // com.sun.org.apache.bcel.internal.generic.ConstantPoolGen cpg
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.CastCall this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/CastCall;
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;
1 5 3 cpg Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;
2 5 4 il Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
MethodParameters:
Name Flags
classGen
methodGen
}
SourceFile: "CastCall.java"