final class com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall 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.FunctionAvailableCall
super_class: com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionCall
{
private com.sun.org.apache.xalan.internal.xsltc.compiler.Expression _arg;
descriptor: Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
flags: (0x0002) ACC_PRIVATE
private java.lang.String _nameOfFunct;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String _namespaceOfFunct;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean _isFunctionAvailable;
descriptor: Z
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=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
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: aload 0
aconst_null
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._nameOfFunct:Ljava/lang/String;
2: aload 0
aconst_null
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._namespaceOfFunct:Ljava/lang/String;
3: aload 0
iconst_0
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._isFunctionAvailable:Z
4: aload 0
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.org.apache.xalan.internal.xsltc.compiler.Expression
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._arg:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
5: aload 0
aconst_null
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
6: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._arg:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr
ifeq 12
7: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._arg:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
checkcast com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr
astore 3
start local 3 8: aload 0
aload 3
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr.getNamespace:()Ljava/lang/String;
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._namespaceOfFunct:Ljava/lang/String;
9: aload 0
aload 3
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr.getValue:()Ljava/lang/String;
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._nameOfFunct:Ljava/lang/String;
10: aload 0
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.isInternalNamespace:()Z
ifne 12
11: aload 0
aload 0
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.hasMethods:()Z
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._isFunctionAvailable:Z
end local 3 12: StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall com.sun.org.apache.xalan.internal.xsltc.compiler.QName java.util.List
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall;
0 13 1 fname Lcom/sun/org/apache/xalan/internal/xsltc/compiler/QName;
0 13 2 arguments Ljava/util/List<Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;>;
8 12 3 arg Lcom/sun/org/apache/xalan/internal/xsltc/compiler/LiteralExpr;
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=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
ifnull 2
1: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._arg:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
instanceof com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr
ifeq 4
3: aload 0
getstatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.Boolean:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
dup_x1
putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._type:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/Type;
areturn
4: StackMap locals:
StackMap stack:
new com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg
dup
ldc "NEED_LITERAL_ERR"
5: ldc "function-available"
aload 0
6: 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
astore 2
start local 2 7: new com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError
dup
aload 2
invokespecial com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError.<init>:(Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;)V
athrow
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/FunctionAvailableCall;
0 8 1 stable Lcom/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable;
7 8 2 err Lcom/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg;
Exceptions:
throws com.sun.org.apache.xalan.internal.xsltc.compiler.util.TypeCheckError
MethodParameters:
Name Flags
stable
public java.lang.Object evaluateAtCompileTime();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.getResult:()Z
ifeq 1
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
StackMap locals:
StackMap stack: java.lang.Boolean
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall;
private boolean hasMethods();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._arg:Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Expression;
checkcast com.sun.org.apache.xalan.internal.xsltc.compiler.LiteralExpr
pop
1: aload 0
aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._namespaceOfFunct:Ljava/lang/String;
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.getClassNameFromUri:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 2: aconst_null
astore 2
start local 2 3: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._nameOfFunct:Ljava/lang/String;
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 3
start local 3 4: iload 3
ifle 15
5: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._nameOfFunct:Ljava/lang/String;
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
start local 4 6: aload 4
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 7: iload 5
ifle 13
8: aload 4
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
9: aload 1
ifnull 11
aload 1
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
10: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
goto 16
11: StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall java.lang.String java.lang.String int java.lang.String int
StackMap stack:
aload 4
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
12: goto 16
13: StackMap locals:
StackMap stack:
aload 4
astore 2
end local 5 end local 4 14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._nameOfFunct:Ljava/lang/String;
astore 2
16: StackMap locals:
StackMap stack:
aload 1
ifnull 17
aload 2
ifnonnull 18
17: StackMap locals:
StackMap stack:
iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 2
bipush 45
invokevirtual java.lang.String.indexOf:(I)I
ifle 20
19: aload 2
invokestatic com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.replaceDash:(Ljava/lang/String;)Ljava/lang/String;
astore 2
20: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokestatic com.sun.org.apache.xalan.internal.utils.ObjectFactory.findProviderClass:(Ljava/lang/String;Z)Ljava/lang/Class;
astore 4
start local 4 21: aload 4
ifnonnull 23
22: iconst_0
ireturn
23: StackMap locals: java.lang.Class
StackMap stack:
aload 4
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 5
start local 5 24: iconst_0
istore 6
start local 6 25: goto 31
26: StackMap locals: java.lang.reflect.Method[] int
StackMap stack:
aload 5
iload 6
aaload
invokevirtual java.lang.reflect.Method.getModifiers:()I
istore 7
start local 7 27: iload 7
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 30
iload 7
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 30
28: aload 5
iload 6
aaload
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
29: iconst_1
ireturn
end local 7 30: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
31: iload 6
aload 5
arraylength
if_icmplt 26
end local 6 end local 5 end local 4 32: goto 35
33: StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall java.lang.String java.lang.String int
StackMap stack: java.lang.ClassNotFoundException
pop
34: iconst_0
ireturn
35: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall;
2 36 1 className Ljava/lang/String;
3 36 2 methodName Ljava/lang/String;
4 36 3 colonIndex I
6 14 4 functionName Ljava/lang/String;
7 14 5 lastDotIndex I
21 32 4 clazz Ljava/lang/Class<*>;
24 32 5 methods [Ljava/lang/reflect/Method;
25 32 6 i I
27 30 7 mods I
Exception table:
from to target type
20 22 33 Class java.lang.ClassNotFoundException
23 29 33 Class java.lang.ClassNotFoundException
30 32 33 Class java.lang.ClassNotFoundException
public boolean getResult();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._nameOfFunct:Ljava/lang/String;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.isInternalNamespace:()Z
ifeq 7
3: aload 0
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.getParser:()Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;
astore 1
start local 1 4: aload 0
5: aload 1
aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._nameOfFunct:Ljava/lang/String;
invokestatic com.sun.org.apache.xalan.internal.xsltc.compiler.util.Util.getLocalName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.functionSupported:(Ljava/lang/String;)Z
6: putfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._isFunctionAvailable:Z
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._isFunctionAvailable:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall;
4 7 1 parser Lcom/sun/org/apache/xalan/internal/xsltc/compiler/Parser;
private boolean isInternalNamespace();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._namespaceOfFunct:Ljava/lang/String;
ifnull 4
1: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._namespaceOfFunct:Ljava/lang/String;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
2: aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._namespaceOfFunct:Ljava/lang/String;
ldc "http://xml.apache.org/xalan/xsltc"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall;
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=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator.getConstantPool:()Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;
astore 3
start local 3 1: aload 2
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getInstructionList:()Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
new com.sun.org.apache.bcel.internal.generic.PUSH
dup
aload 3
aload 0
invokevirtual com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.getResult:()Z
invokespecial com.sun.org.apache.bcel.internal.generic.PUSH.<init>:(Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;Z)V
invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.append:(Lcom/sun/org/apache/bcel/internal/generic/CompoundInstruction;)Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
pop
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/FunctionAvailableCall;
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 cpg Lcom/sun/org/apache/bcel/internal/generic/ConstantPoolGen;
MethodParameters:
Name Flags
classGen
methodGen
}
SourceFile: "FunctionAvailableCall.java"