public final class com.oracle.truffle.regex.RegexSource implements com.oracle.truffle.regex.tregex.util.json.JsonConvertible
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.regex.RegexSource
super_class: java.lang.Object
{
private final java.lang.String pattern;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String flags;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.regex.tregex.string.Encodings$Encoding encoding;
descriptor: Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.source.Source source;
descriptor: Lcom/oracle/truffle/api/source/Source;
flags: (0x0002) ACC_PRIVATE
private boolean hashComputed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int cachedHash;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String, java.lang.String, com.oracle.truffle.regex.tregex.string.Encodings$Encoding);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.oracle.truffle.regex.RegexSource.hashComputed:Z
2: aload 0
aload 1
putfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
3: aload 0
aload 2
putfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
4: aload 0
aload 3
putfield com.oracle.truffle.regex.RegexSource.encoding:Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/regex/RegexSource;
0 6 1 pattern Ljava/lang/String;
0 6 2 flags Ljava/lang/String;
0 6 3 encoding Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
MethodParameters:
Name Flags
pattern
flags
encoding
public java.lang.String getPattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/RegexSource;
public java.lang.String getFlags();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/RegexSource;
public com.oracle.truffle.regex.tregex.string.Encodings$Encoding getEncoding();
descriptor: ()Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.RegexSource.encoding:Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/RegexSource;
public com.oracle.truffle.api.source.Source getSource();
descriptor: ()Lcom/oracle/truffle/api/source/Source;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.RegexSource.source:Lcom/oracle/truffle/api/source/Source;
ifnonnull 3
1: aload 0
invokevirtual com.oracle.truffle.regex.RegexSource.toString:()Ljava/lang/String;
astore 1
start local 1 2: aload 0
ldc "regex"
aload 1
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
iconst_1
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
aload 1
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
ldc "application/tregex"
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
putfield com.oracle.truffle.regex.RegexSource.source:Lcom/oracle/truffle/api/source/Source;
end local 1 3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.RegexSource.source:Lcom/oracle/truffle/api/source/Source;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/regex/RegexSource;
2 3 1 text Ljava/lang/String;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.RegexSource.hashComputed:Z
ifne 7
1: iconst_1
istore 1
start local 1 2: bipush 31
iload 1
imul
aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
istore 1
3: bipush 31
iload 1
imul
aload 0
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
istore 1
4: bipush 31
iload 1
imul
aload 0
getfield com.oracle.truffle.regex.RegexSource.encoding:Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
5: aload 0
iload 1
putfield com.oracle.truffle.regex.RegexSource.cachedHash:I
6: aload 0
iconst_1
putfield com.oracle.truffle.regex.RegexSource.hashComputed:Z
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.RegexSource.cachedHash:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/regex/RegexSource;
2 7 1 hash I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpeq 5
aload 1
instanceof com.oracle.truffle.regex.RegexSource
ifeq 4
1: aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
aload 1
checkcast com.oracle.truffle.regex.RegexSource
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
aload 1
checkcast com.oracle.truffle.regex.RegexSource
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
getfield com.oracle.truffle.regex.RegexSource.encoding:Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
aload 1
checkcast com.oracle.truffle.regex.RegexSource
getfield com.oracle.truffle.regex.RegexSource.encoding:Lcom/oracle/truffle/regex/tregex/string/Encodings$Encoding;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/regex/RegexSource;
0 6 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/RegexSource;
public java.lang.String toStringEscaped();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_2
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 1
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 2
start local 2 3: goto 15
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
iload 2
invokevirtual java.lang.String.codePointAt:(I)I
istore 3
start local 3 5: bipush 32
iload 3
if_icmpgt 8
iload 3
bipush 126
if_icmpgt 8
6: aload 1
iload 3
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
7: goto 14
8: StackMap locals: int
StackMap stack:
aload 1
ldc "\\u"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: iload 3
ldc 65535
if_icmple 13
10: iinc 2 1
11: aload 1
ldc "{%06x}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 14
13: StackMap locals:
StackMap stack:
aload 1
ldc "%04x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: StackMap locals:
StackMap stack:
iinc 2 1
end local 3 15: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 4
16: aload 1
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/regex/RegexSource;
1 17 1 sb Ljava/lang/StringBuilder;
3 17 2 i I
5 15 3 c I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String toFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
bipush 20
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 12
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
iload 2
invokevirtual java.lang.String.codePointAt:(I)I
istore 3
start local 3 4: iload 3
invokestatic com.oracle.truffle.regex.tregex.util.DebugUtil.isValidCharForFileName:(I)Z
ifeq 7
5: aload 1
iload 3
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
6: goto 8
7: StackMap locals: int
StackMap stack:
aload 1
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
iload 3
ldc 65535
if_icmple 11
9: iinc 2 2
10: goto 12
11: StackMap locals:
StackMap stack:
iinc 2 1
end local 3 12: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
bipush 20
invokestatic java.lang.Math.min:(II)I
if_icmplt 3
13: aload 0
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 15
14: aload 1
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/regex/RegexSource;
1 16 1 sb Ljava/lang/StringBuilder;
2 16 2 i I
4 12 3 c I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.regex.tregex.util.json.JsonValue toJson();
descriptor: ()Lcom/oracle/truffle/regex/tregex/util/json/JsonValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iconst_2
anewarray com.oracle.truffle.regex.tregex.util.json.JsonObject$JsonObjectProperty
dup
iconst_0
ldc "pattern"
aload 0
getfield com.oracle.truffle.regex.RegexSource.pattern:Ljava/lang/String;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
iconst_1
1: ldc "flags"
aload 0
getfield com.oracle.truffle.regex.RegexSource.flags:Ljava/lang/String;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
2: invokestatic com.oracle.truffle.regex.tregex.util.json.Json.obj:([Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/RegexSource;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
}
SourceFile: "RegexSource.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
public abstract Encoding = com.oracle.truffle.regex.tregex.string.Encodings$Encoding of com.oracle.truffle.regex.tregex.string.Encodings
public JsonObjectProperty = com.oracle.truffle.regex.tregex.util.json.JsonObject$JsonObjectProperty of com.oracle.truffle.regex.tregex.util.json.JsonObject