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"