public class com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI implements com.sun.org.apache.xml.internal.security.utils.XPathAPI
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI
super_class: java.lang.Object
{
private static final com.sun.org.slf4j.internal.Logger LOG;
descriptor: Lcom/sun/org/slf4j/internal/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String xpathStr;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private com.sun.org.apache.xpath.internal.XPath xpath;
descriptor: Lcom/sun/org/apache/xpath/internal/XPath;
flags: (0x0002) ACC_PRIVATE
private static com.sun.org.apache.xpath.internal.compiler.FunctionTable funcTable;
descriptor: Lcom/sun/org/apache/xpath/internal/compiler/FunctionTable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean installed;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private com.sun.org.apache.xpath.internal.XPathContext context;
descriptor: Lcom/sun/org/apache/xpath/internal/XPathContext;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/sun/org/apache/xml/internal/security/utils/XalanXPathAPI;
invokestatic com.sun.org.slf4j.internal.LoggerFactory.getLogger:(Ljava/lang/Class;)Lcom/sun/org/slf4j/internal/Logger;
1: putstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.LOG:Lcom/sun/org/slf4j/internal/Logger;
2: invokestatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.fixupFunctionTable:()V
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/org/apache/xml/internal/security/utils/XalanXPathAPI;
public org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node, org.w3c.dom.Node, java.lang.String, org.w3c.dom.Node);
descriptor: (Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Lorg/w3c/dom/Node;)Lorg/w3c/dom/NodeList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.eval:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Lorg/w3c/dom/Node;)Lcom/sun/org/apache/xpath/internal/objects/XObject;
astore 5
start local 5 1: aload 5
invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.nodelist:()Lorg/w3c/dom/NodeList;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/org/apache/xml/internal/security/utils/XalanXPathAPI;
0 2 1 contextNode Lorg/w3c/dom/Node;
0 2 2 xpathnode Lorg/w3c/dom/Node;
0 2 3 str Ljava/lang/String;
0 2 4 namespaceNode Lorg/w3c/dom/Node;
1 2 5 list Lcom/sun/org/apache/xpath/internal/objects/XObject;
Exceptions:
throws javax.xml.transform.TransformerException
MethodParameters:
Name Flags
contextNode
xpathnode
str
namespaceNode
public boolean evaluate(org.w3c.dom.Node, org.w3c.dom.Node, java.lang.String, org.w3c.dom.Node);
descriptor: (Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Lorg/w3c/dom/Node;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.eval:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Lorg/w3c/dom/Node;)Lcom/sun/org/apache/xpath/internal/objects/XObject;
astore 5
start local 5 1: aload 5
invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.bool:()Z
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/org/apache/xml/internal/security/utils/XalanXPathAPI;
0 2 1 contextNode Lorg/w3c/dom/Node;
0 2 2 xpathnode Lorg/w3c/dom/Node;
0 2 3 str Ljava/lang/String;
0 2 4 namespaceNode Lorg/w3c/dom/Node;
1 2 5 object Lcom/sun/org/apache/xpath/internal/objects/XObject;
Exceptions:
throws javax.xml.transform.TransformerException
MethodParameters:
Name Flags
contextNode
xpathnode
str
namespaceNode
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.xpathStr:Ljava/lang/String;
1: aload 0
aconst_null
putfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.xpath:Lcom/sun/org/apache/xpath/internal/XPath;
2: aload 0
aconst_null
putfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.context:Lcom/sun/org/apache/xpath/internal/XPathContext;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/org/apache/xml/internal/security/utils/XalanXPathAPI;
public static synchronized boolean isInstalled();
descriptor: ()Z
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.installed:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
private com.sun.org.apache.xpath.internal.objects.XObject eval(org.w3c.dom.Node, org.w3c.dom.Node, java.lang.String, org.w3c.dom.Node);
descriptor: (Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Lorg/w3c/dom/Node;)Lcom/sun/org/apache/xpath/internal/objects/XObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.context:Lcom/sun/org/apache/xpath/internal/XPathContext;
ifnonnull 3
1: aload 0
new com.sun.org.apache.xpath.internal.XPathContext
dup
aload 2
invokespecial com.sun.org.apache.xpath.internal.XPathContext.<init>:(Ljava/lang/Object;)V
putfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.context:Lcom/sun/org/apache/xpath/internal/XPathContext;
2: aload 0
getfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.context:Lcom/sun/org/apache/xpath/internal/XPathContext;
iconst_1
invokevirtual com.sun.org.apache.xpath.internal.XPathContext.setSecureProcessing:(Z)V
3: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.w3c.dom.Node.getNodeType:()S
bipush 9
if_icmpne 5
4: aload 4
checkcast org.w3c.dom.Document
invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
goto 6
StackMap locals:
StackMap stack:
5: aload 4
6: StackMap locals:
StackMap stack: org.w3c.dom.Node
astore 5
start local 5 7: new com.sun.org.apache.xml.internal.utils.PrefixResolverDefault
dup
aload 5
invokespecial com.sun.org.apache.xml.internal.utils.PrefixResolverDefault.<init>:(Lorg/w3c/dom/Node;)V
astore 6
start local 6 8: aload 3
aload 0
getfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.xpathStr:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
9: aload 3
ldc "here()"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 11
10: aload 0
getfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.context:Lcom/sun/org/apache/xpath/internal/XPathContext;
invokevirtual com.sun.org.apache.xpath.internal.XPathContext.reset:()V
11: StackMap locals: org.w3c.dom.Node com.sun.org.apache.xml.internal.utils.PrefixResolverDefault
StackMap stack:
aload 0
aload 0
aload 3
aload 6
invokevirtual com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.createXPath:(Ljava/lang/String;Lcom/sun/org/apache/xml/internal/utils/PrefixResolver;)Lcom/sun/org/apache/xpath/internal/XPath;
putfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.xpath:Lcom/sun/org/apache/xpath/internal/XPath;
12: aload 0
aload 3
putfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.xpathStr:Ljava/lang/String;
13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.context:Lcom/sun/org/apache/xpath/internal/XPathContext;
aload 1
invokevirtual com.sun.org.apache.xpath.internal.XPathContext.getDTMHandleFromNode:(Lorg/w3c/dom/Node;)I
istore 7
start local 7 14: aload 0
getfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.xpath:Lcom/sun/org/apache/xpath/internal/XPath;
aload 0
getfield com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.context:Lcom/sun/org/apache/xpath/internal/XPathContext;
iload 7
aload 6
invokevirtual com.sun.org.apache.xpath.internal.XPath.execute:(Lcom/sun/org/apache/xpath/internal/XPathContext;ILcom/sun/org/apache/xml/internal/utils/PrefixResolver;)Lcom/sun/org/apache/xpath/internal/objects/XObject;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/org/apache/xml/internal/security/utils/XalanXPathAPI;
0 15 1 contextNode Lorg/w3c/dom/Node;
0 15 2 xpathnode Lorg/w3c/dom/Node;
0 15 3 str Ljava/lang/String;
0 15 4 namespaceNode Lorg/w3c/dom/Node;
7 15 5 resolverNode Lorg/w3c/dom/Node;
8 15 6 prefixResolver Lcom/sun/org/apache/xml/internal/utils/PrefixResolverDefault;
14 15 7 ctxtNode I
Exceptions:
throws javax.xml.transform.TransformerException
MethodParameters:
Name Flags
contextNode
xpathnode
str
namespaceNode
private com.sun.org.apache.xpath.internal.XPath createXPath(java.lang.String, com.sun.org.apache.xml.internal.utils.PrefixResolver);
descriptor: (Ljava/lang/String;Lcom/sun/org/apache/xml/internal/utils/PrefixResolver;)Lcom/sun/org/apache/xpath/internal/XPath;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: bipush 6
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljavax/xml/transform/SourceLocator;
aastore
dup
iconst_2
ldc Lcom/sun/org/apache/xml/internal/utils/PrefixResolver;
aastore
dup
iconst_3
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_4
2: ldc Ljavax/xml/transform/ErrorListener;
aastore
dup
iconst_5
ldc Lcom/sun/org/apache/xpath/internal/compiler/FunctionTable;
aastore
3: astore 4
start local 4 4: bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.funcTable:Lcom/sun/org/apache/xpath/internal/compiler/FunctionTable;
aastore
5: astore 5
start local 5 6: ldc Lcom/sun/org/apache/xpath/internal/XPath;
aload 4
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 6
start local 6 7: aload 6
aload 5
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.org.apache.xpath.internal.XPath
astore 3
end local 6 8: goto 11
StackMap locals: com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI java.lang.String com.sun.org.apache.xml.internal.utils.PrefixResolver com.sun.org.apache.xpath.internal.XPath java.lang.Class[] java.lang.Object[]
StackMap stack: java.lang.Exception
9: astore 6
start local 6 10: getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.LOG:Lcom/sun/org/slf4j/internal/Logger;
aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 6
invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 11: StackMap locals:
StackMap stack:
aload 3
ifnonnull 13
12: new com.sun.org.apache.xpath.internal.XPath
dup
aload 1
aconst_null
aload 2
iconst_0
aconst_null
invokespecial com.sun.org.apache.xpath.internal.XPath.<init>:(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;Lcom/sun/org/apache/xml/internal/utils/PrefixResolver;ILjavax/xml/transform/ErrorListener;)V
astore 3
13: StackMap locals:
StackMap stack:
aload 3
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/org/apache/xml/internal/security/utils/XalanXPathAPI;
0 14 1 str Ljava/lang/String;
0 14 2 prefixResolver Lcom/sun/org/apache/xml/internal/utils/PrefixResolver;
1 14 3 xpath Lcom/sun/org/apache/xpath/internal/XPath;
4 14 4 classes [Ljava/lang/Class;
6 14 5 objects [Ljava/lang/Object;
7 8 6 constructor Ljava/lang/reflect/Constructor<*>;
10 11 6 ex Ljava/lang/Exception;
Exception table:
from to target type
6 8 9 Class java.lang.Exception
Exceptions:
throws javax.xml.transform.TransformerException
MethodParameters:
Name Flags
str
prefixResolver
private static synchronized void fixupFunctionTable();
descriptor: ()V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=3, args_size=0
0: iconst_0
putstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.installed:Z
1: new com.sun.org.apache.xpath.internal.compiler.FunctionTable
dup
invokespecial com.sun.org.apache.xpath.internal.compiler.FunctionTable.<init>:()V
ldc "here"
invokevirtual com.sun.org.apache.xpath.internal.compiler.FunctionTable.functionAvailable:(Ljava/lang/String;)Z
ifeq 5
2: getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.LOG:Lcom/sun/org/slf4j/internal/Logger;
ldc "Here function already registered"
invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;)V
3: iconst_1
putstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.installed:Z
4: return
5: StackMap locals:
StackMap stack:
getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.LOG:Lcom/sun/org/slf4j/internal/Logger;
ldc "Registering Here function"
invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;)V
6: iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Lcom/sun/org/apache/xpath/internal/Expression;
aastore
astore 0
start local 0 7: ldc Lcom/sun/org/apache/xpath/internal/compiler/FunctionTable;
ldc "installFunction"
aload 0
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
start local 1 8: aload 1
invokevirtual java.lang.reflect.Method.getModifiers:()I
bipush 8
iand
ifeq 15
9: iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "here"
aastore
dup
iconst_1
new com.sun.org.apache.xml.internal.security.transforms.implementations.FuncHere
dup
invokespecial com.sun.org.apache.xml.internal.security.transforms.implementations.FuncHere.<init>:()V
aastore
astore 2
start local 2 10: aload 1
aconst_null
aload 2
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
11: iconst_1
putstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.installed:Z
end local 2 end local 1 end local 0 12: goto 15
StackMap locals:
StackMap stack: java.lang.Exception
13: astore 0
start local 0 14: getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.LOG:Lcom/sun/org/slf4j/internal/Logger;
ldc "Error installing function using the static installFunction method"
aload 0
invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 0 15: StackMap locals:
StackMap stack:
getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.installed:Z
ifne 25
16: new com.sun.org.apache.xpath.internal.compiler.FunctionTable
dup
invokespecial com.sun.org.apache.xpath.internal.compiler.FunctionTable.<init>:()V
putstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.funcTable:Lcom/sun/org/apache/xpath/internal/compiler/FunctionTable;
17: iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/Class;
aastore
astore 0
start local 0 18: ldc Lcom/sun/org/apache/xpath/internal/compiler/FunctionTable;
ldc "installFunction"
aload 0
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
start local 1 19: iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "here"
aastore
dup
iconst_1
ldc Lcom/sun/org/apache/xml/internal/security/transforms/implementations/FuncHere;
aastore
astore 2
start local 2 20: aload 1
getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.funcTable:Lcom/sun/org/apache/xpath/internal/compiler/FunctionTable;
aload 2
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
21: iconst_1
putstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.installed:Z
end local 2 end local 1 end local 0 22: goto 25
StackMap locals:
StackMap stack: java.lang.Exception
23: astore 0
start local 0 24: getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.LOG:Lcom/sun/org/slf4j/internal/Logger;
ldc "Error installing function using the static installFunction method"
aload 0
invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 0 25: StackMap locals:
StackMap stack:
getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.installed:Z
ifeq 28
26: getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.LOG:Lcom/sun/org/slf4j/internal/Logger;
ldc "Registered class {} for XPath function 'here()' function in internal table"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc Lcom/sun/org/apache/xml/internal/security/transforms/implementations/FuncHere;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
27: goto 29
28: StackMap locals:
StackMap stack:
getstatic com.sun.org.apache.xml.internal.security.utils.XalanXPathAPI.LOG:Lcom/sun/org/slf4j/internal/Logger;
ldc "Unable to register class {} for XPath function 'here()' function in internal table"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc Lcom/sun/org/apache/xml/internal/security/transforms/implementations/FuncHere;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
29: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
7 12 0 args [Ljava/lang/Class;
8 12 1 installFunction Ljava/lang/reflect/Method;
10 12 2 params [Ljava/lang/Object;
14 15 0 ex Ljava/lang/Exception;
18 22 0 args [Ljava/lang/Class;
19 22 1 installFunction Ljava/lang/reflect/Method;
20 22 2 params [Ljava/lang/Object;
24 25 0 ex Ljava/lang/Exception;
Exception table:
from to target type
6 12 13 Class java.lang.Exception
16 22 23 Class java.lang.Exception
}
SourceFile: "XalanXPathAPI.java"