public class com.sun.org.apache.xpath.internal.functions.FuncSubstring extends com.sun.org.apache.xpath.internal.functions.Function3Args
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.org.apache.xpath.internal.functions.FuncSubstring
super_class: com.sun.org.apache.xpath.internal.functions.Function3Args
{
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -5996676095024715502
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.org.apache.xpath.internal.functions.Function3Args.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/org/apache/xpath/internal/functions/FuncSubstring;
public com.sun.org.apache.xpath.internal.objects.XObject execute(com.sun.org.apache.xpath.internal.XPathContext);
descriptor: (Lcom/sun/org/apache/xpath/internal/XPathContext;)Lcom/sun/org/apache/xpath/internal/objects/XObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.org.apache.xpath.internal.functions.FuncSubstring.m_arg0:Lcom/sun/org/apache/xpath/internal/Expression;
aload 1
invokevirtual com.sun.org.apache.xpath.internal.Expression.execute:(Lcom/sun/org/apache/xpath/internal/XPathContext;)Lcom/sun/org/apache/xpath/internal/objects/XObject;
invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.xstr:()Lcom/sun/org/apache/xml/internal/utils/XMLString;
astore 2
start local 2 1: aload 0
getfield com.sun.org.apache.xpath.internal.functions.FuncSubstring.m_arg1:Lcom/sun/org/apache/xpath/internal/Expression;
aload 1
invokevirtual com.sun.org.apache.xpath.internal.Expression.execute:(Lcom/sun/org/apache/xpath/internal/XPathContext;)Lcom/sun/org/apache/xpath/internal/objects/XObject;
invokevirtual com.sun.org.apache.xpath.internal.objects.XObject.num:()D
dstore 3
start local 3 2: aload 2
invokeinterface com.sun.org.apache.xml.internal.utils.XMLString.length:()I
istore 5
start local 5 3: iload 5
ifgt 5
4: getstatic com.sun.org.apache.xpath.internal.objects.XString.EMPTYSTRING:Lcom/sun/org/apache/xpath/internal/objects/XString;
areturn
5: StackMap locals: com.sun.org.apache.xml.internal.utils.XMLString double int
StackMap stack:
dload 3
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 9
6: ldc -1000000.0
dstore 3
7: iconst_0
istore 7
start local 7 8: goto 13
end local 7 9: StackMap locals:
StackMap stack:
dload 3
invokestatic java.lang.Math.round:(D)J
l2d
dstore 3
10: dload 3
dconst_0
dcmpl
ifle 11
dload 3
d2i
iconst_1
isub
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 7
start local 7 13: StackMap locals: com.sun.org.apache.xpath.internal.functions.FuncSubstring com.sun.org.apache.xpath.internal.XPathContext com.sun.org.apache.xml.internal.utils.XMLString double int top int
StackMap stack:
aload 0
getfield com.sun.org.apache.xpath.internal.functions.FuncSubstring.m_arg2:Lcom/sun/org/apache/xpath/internal/Expression;
ifnull 24
14: aload 0
getfield com.sun.org.apache.xpath.internal.functions.FuncSubstring.m_arg2:Lcom/sun/org/apache/xpath/internal/Expression;
aload 1
invokevirtual com.sun.org.apache.xpath.internal.Expression.num:(Lcom/sun/org/apache/xpath/internal/XPathContext;)D
dstore 8
start local 8 15: dload 8
invokestatic java.lang.Math.round:(D)J
l2d
dload 3
dadd
d2i
iconst_1
isub
istore 10
start local 10 16: iload 10
ifge 18
17: iconst_0
istore 10
goto 20
18: StackMap locals: double int
StackMap stack:
iload 10
iload 5
if_icmple 20
19: iload 5
istore 10
20: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmple 22
21: iload 5
istore 7
22: StackMap locals:
StackMap stack:
aload 2
iload 7
iload 10
invokeinterface com.sun.org.apache.xml.internal.utils.XMLString.substring:(II)Lcom/sun/org/apache/xml/internal/utils/XMLString;
astore 6
end local 10 end local 8 start local 6 23: goto 27
end local 6 24: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmple 26
25: iload 5
istore 7
26: StackMap locals:
StackMap stack:
aload 2
iload 7
invokeinterface com.sun.org.apache.xml.internal.utils.XMLString.substring:(I)Lcom/sun/org/apache/xml/internal/utils/XMLString;
astore 6
end local 7 start local 6 27: StackMap locals: com.sun.org.apache.xpath.internal.functions.FuncSubstring com.sun.org.apache.xpath.internal.XPathContext com.sun.org.apache.xml.internal.utils.XMLString double int com.sun.org.apache.xml.internal.utils.XMLString
StackMap stack:
aload 6
checkcast com.sun.org.apache.xpath.internal.objects.XString
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/org/apache/xpath/internal/functions/FuncSubstring;
0 28 1 xctxt Lcom/sun/org/apache/xpath/internal/XPathContext;
1 28 2 s1 Lcom/sun/org/apache/xml/internal/utils/XMLString;
2 28 3 start D
3 28 5 lenOfS1 I
23 24 6 substr Lcom/sun/org/apache/xml/internal/utils/XMLString;
27 28 6 substr Lcom/sun/org/apache/xml/internal/utils/XMLString;
8 9 7 startIndex I
13 27 7 startIndex I
15 23 8 len D
16 23 10 end I
Exceptions:
throws javax.xml.transform.TransformerException
MethodParameters:
Name Flags
xctxt
public void checkNumberArgs(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
if_icmpge 2
1: aload 0
invokevirtual com.sun.org.apache.xpath.internal.functions.FuncSubstring.reportWrongNumberArgs:()V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/org/apache/xpath/internal/functions/FuncSubstring;
0 3 1 argNum I
Exceptions:
throws com.sun.org.apache.xpath.internal.functions.WrongNumberArgsException
MethodParameters:
Name Flags
argNum
protected void reportWrongNumberArgs();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.sun.org.apache.xpath.internal.functions.WrongNumberArgsException
dup
ldc "ER_TWO_OR_THREE"
aconst_null
invokestatic com.sun.org.apache.xalan.internal.res.XSLMessages.createXPATHMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial com.sun.org.apache.xpath.internal.functions.WrongNumberArgsException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/org/apache/xpath/internal/functions/FuncSubstring;
Exceptions:
throws com.sun.org.apache.xpath.internal.functions.WrongNumberArgsException
}
SourceFile: "FuncSubstring.java"