public class com.oracle.truffle.js.builtins.helper.FloatParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.builtins.helper.FloatParser
super_class: java.lang.Object
{
private final java.lang.String input;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int pos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isNaN;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final double value;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.profiles.BranchProfile exponentBranch;
descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/builtins/helper/FloatParser;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.js.builtins.helper.FloatParser.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.js.builtins.helper.FloatParser.input:Ljava/lang/String;
2: aload 0
iconst_0
putfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
3: aload 0
iconst_0
putfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
4: aload 0
aload 2
putfield com.oracle.truffle.js.builtins.helper.FloatParser.exponentBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
5: aload 0
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.parse:()D
putfield com.oracle.truffle.js.builtins.helper.FloatParser.value:D
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
0 7 1 s Ljava/lang/String;
0 7 2 exponentBranch Lcom/oracle/truffle/api/profiles/BranchProfile;
MethodParameters:
Name Flags
s
exponentBranch
public double getResult();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.value:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
private double parse();
descriptor: ()D
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.strDecimalLiteral:()V
1: aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
ifeq 3
2: ldc NaN
dreturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.parseValidSubstring:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private double parseValidSubstring();
descriptor: ()D
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.input:Ljava/lang/String;
iconst_0
aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private void strDecimalLiteral();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
istore 1
start local 1 1: iload 1
bipush 43
if_icmpeq 2
iload 1
bipush 45
if_icmpne 4
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.next:()V
3: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
istore 1
4: StackMap locals:
StackMap stack:
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifne 5
iload 1
bipush 46
if_icmpne 7
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.strUnsignedDecimalLiteral:()V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
1 9 1 currentChar C
private void strUnsignedDecimalLiteral();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 2
1: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.decimalDigits:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
istore 1
start local 1 3: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.hasNext:()Z
ifeq 7
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
bipush 46
if_icmpne 7
4: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.next:()V
5: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 7
6: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.decimalDigits:()V
7: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
ifeq 11
8: aload 0
iload 1
putfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
9: aload 0
iconst_0
putfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
10: return
11: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
istore 1
12: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.isExponentPart:()Z
ifeq 14
13: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.exponentPart:()V
14: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
ifeq 18
15: aload 0
iload 1
putfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
16: aload 0
iconst_0
putfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
17: return
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
3 19 1 prevPos I
private void next();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
iconst_1
iadd
putfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
private char current();
descriptor: ()C
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.hasNext:()Z
ifeq 2
1: aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.input:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
invokevirtual java.lang.String.charAt:(I)C
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
private boolean hasNext();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.pos:I
aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.input:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
private void exponentPart();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.builtins.helper.FloatParser.exponentBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
1: getstatic com.oracle.truffle.js.builtins.helper.FloatParser.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
bipush 101
if_icmpeq 2
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
bipush 69
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.next:()V
3: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
istore 1
start local 1 4: iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 7
5: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.decimalDigits:()V
6: goto 12
StackMap locals: int
StackMap stack:
7: iload 1
bipush 43
if_icmpeq 8
iload 1
bipush 45
if_icmpne 11
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.next:()V
9: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.decimalDigits:()V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
4 13 1 currentChar C
private boolean isExponentPart();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.hasNext:()Z
ifeq 4
1: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
istore 1
start local 1 2: iload 1
bipush 101
if_icmpeq 3
iload 1
bipush 69
if_icmpeq 3
iconst_0
ireturn
StackMap locals: int
StackMap stack:
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
2 4 1 firstChar C
private void decimalDigits();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
iconst_1
istore 2
4: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.next:()V
5: aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.current:()C
istore 1
6: StackMap locals:
StackMap stack:
iload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isAsciiDigit:(C)Z
ifeq 7
aload 0
invokevirtual com.oracle.truffle.js.builtins.helper.FloatParser.hasNext:()Z
ifne 3
7: StackMap locals:
StackMap stack:
iload 2
ifne 9
8: aload 0
iconst_1
putfield com.oracle.truffle.js.builtins.helper.FloatParser.isNaN:Z
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/builtins/helper/FloatParser;
1 10 1 currentChar C
2 10 2 valid Z
}
SourceFile: "FloatParser.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives