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
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 1: aconst_null
astore 2
start local 2 2: 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 3: iload 3
ifle 14
4: 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 5: aload 4
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 6: iload 5
ifle 12
7: aload 4
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
8: aload 1
ifnull 10
aload 1
invokevirtual java.lang.String.length:()I
ifeq 10
9: 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 15
10: 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
11: goto 15
12: StackMap locals:
StackMap stack:
aload 4
astore 2
end local 5 end local 4 13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall._nameOfFunct:Ljava/lang/String;
astore 2
15: StackMap locals:
StackMap stack:
aload 1
ifnull 16
aload 2
ifnonnull 17
16: StackMap locals:
StackMap stack:
iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 2
bipush 45
invokevirtual java.lang.String.indexOf:(I)I
ifle 19
18: aload 2
invokestatic com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall.replaceDash:(Ljava/lang/String;)Ljava/lang/String;
astore 2
19: 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 20: aload 4
ifnonnull 22
21: iconst_0
ireturn
22: StackMap locals: java.lang.Class
StackMap stack:
aload 4
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 5
start local 5 23: iconst_0
istore 6
start local 6 24: goto 30
25: 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 26: iload 7
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 29
iload 7
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 29
27: 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 29
28: iconst_1
ireturn
end local 7 29: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
30: iload 6
aload 5
arraylength
if_icmplt 25
end local 6 end local 5 end local 4 31: goto 34
32: StackMap locals: com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionAvailableCall java.lang.String java.lang.String int
StackMap stack: java.lang.ClassNotFoundException
pop
33: iconst_0
ireturn
34: 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 35 0 this Lcom/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall;
1 35 1 className Ljava/lang/String;
2 35 2 methodName Ljava/lang/String;
3 35 3 colonIndex I
5 13 4 functionName Ljava/lang/String;
6 13 5 lastDotIndex I
20 31 4 clazz Ljava/lang/Class<*>;
23 31 5 methods [Ljava/lang/reflect/Method;
24 31 6 i I
26 29 7 mods I
Exception table:
from to target type
19 21 32 Class java.lang.ClassNotFoundException
22 28 32 Class java.lang.ClassNotFoundException
29 31 32 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"