public final class com.oracle.truffle.regex.RegexEngineBuilder extends com.oracle.truffle.regex.AbstractRegexObject
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.regex.RegexEngineBuilder
super_class: com.oracle.truffle.regex.AbstractRegexObject
{
private final com.oracle.truffle.regex.RegexLanguage language;
descriptor: Lcom/oracle/truffle/regex/RegexLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.truffle.regex.RegexLanguage);
descriptor: (Lcom/oracle/truffle/regex/RegexLanguage;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.regex.AbstractRegexObject.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.regex.RegexEngineBuilder.language:Lcom/oracle/truffle/regex/RegexLanguage;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/RegexEngineBuilder;
0 3 1 language Lcom/oracle/truffle/regex/RegexLanguage;
MethodParameters:
Name Flags
language
public static boolean isInstance(com.oracle.truffle.api.interop.TruffleObject);
descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.regex.RegexEngineBuilder
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Lcom/oracle/truffle/api/interop/TruffleObject;
MethodParameters:
Name Flags
object
public boolean isExecutable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/RegexEngineBuilder;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object execute(java.lang.Object[], com.oracle.truffle.regex.runtime.nodes.ToStringNode, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/regex/runtime/nodes/ToStringNode;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
iconst_2
if_icmple 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: iconst_2
aload 1
arraylength
invokestatic com.oracle.truffle.api.interop.ArityException.create:(II)Lcom/oracle/truffle/api/interop/ArityException;
athrow
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.regex.RegexOptions.DEFAULT:Lcom/oracle/truffle/regex/RegexOptions;
astore 4
start local 4 4: aload 1
arraylength
iconst_1
if_icmplt 6
5: aload 2
aload 1
iconst_0
aaload
invokevirtual com.oracle.truffle.regex.runtime.nodes.ToStringNode.execute:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic com.oracle.truffle.regex.RegexOptions.parse:(Ljava/lang/String;)Lcom/oracle/truffle/regex/RegexOptions;
astore 4
6: StackMap locals: com.oracle.truffle.regex.RegexOptions
StackMap stack:
aconst_null
astore 5
start local 5 7: aload 1
arraylength
iconst_2
if_icmplt 12
8: aload 3
aload 1
iconst_1
aaload
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
ifne 11
9: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
10: aload 1
invokestatic com.oracle.truffle.api.interop.UnsupportedTypeException.create:([Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/UnsupportedTypeException;
athrow
11: StackMap locals: com.oracle.truffle.api.interop.TruffleObject
StackMap stack:
aload 1
iconst_1
aaload
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 5
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.RegexEngineBuilder.language:Lcom/oracle/truffle/regex/RegexLanguage;
aload 4
aload 5
invokestatic com.oracle.truffle.regex.RegexEngineBuilder.createRegexEngine:(Lcom/oracle/truffle/regex/RegexLanguage;Lcom/oracle/truffle/regex/RegexOptions;Lcom/oracle/truffle/api/interop/TruffleObject;)Lcom/oracle/truffle/regex/RegexEngine;
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 13 0 this Lcom/oracle/truffle/regex/RegexEngineBuilder;
0 13 1 args [Ljava/lang/Object;
0 13 2 expectOptionsNode Lcom/oracle/truffle/regex/runtime/nodes/ToStringNode;
0 13 3 fallbackCompilers Lcom/oracle/truffle/api/interop/InteropLibrary;
4 13 4 options Lcom/oracle/truffle/regex/RegexOptions;
7 13 5 fallbackCompiler Lcom/oracle/truffle/api/interop/TruffleObject;
Exceptions:
throws com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedTypeException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached()
2:
com.oracle.truffle.api.library.CachedLibrary(limit = "1")
MethodParameters:
Name Flags
args
expectOptionsNode
fallbackCompilers
private static com.oracle.truffle.regex.RegexEngine createRegexEngine(com.oracle.truffle.regex.RegexLanguage, com.oracle.truffle.regex.RegexOptions, com.oracle.truffle.api.interop.TruffleObject);
descriptor: (Lcom/oracle/truffle/regex/RegexLanguage;Lcom/oracle/truffle/regex/RegexOptions;Lcom/oracle/truffle/api/interop/TruffleObject;)Lcom/oracle/truffle/regex/RegexEngine;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.regex.RegexEngineBuilder.createRegexCompiler:(Lcom/oracle/truffle/regex/RegexLanguage;Lcom/oracle/truffle/regex/RegexOptions;Lcom/oracle/truffle/api/interop/TruffleObject;)Lcom/oracle/truffle/regex/RegexCompiler;
astore 3
start local 3 1: aload 1
invokevirtual com.oracle.truffle.regex.RegexOptions.isRegressionTestMode:()Z
ifeq 2
new com.oracle.truffle.regex.RegexEngine
dup
aload 3
aload 1
invokespecial com.oracle.truffle.regex.RegexEngine.<init>:(Lcom/oracle/truffle/regex/RegexCompiler;Lcom/oracle/truffle/regex/RegexOptions;)V
goto 3
StackMap locals: com.oracle.truffle.regex.RegexCompiler
StackMap stack:
2: new com.oracle.truffle.regex.CachingRegexEngine
dup
aload 3
aload 1
invokespecial com.oracle.truffle.regex.CachingRegexEngine.<init>:(Lcom/oracle/truffle/regex/RegexCompiler;Lcom/oracle/truffle/regex/RegexOptions;)V
StackMap locals:
StackMap stack: com.oracle.truffle.regex.RegexEngine
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 regexLanguage Lcom/oracle/truffle/regex/RegexLanguage;
0 4 1 options Lcom/oracle/truffle/regex/RegexOptions;
0 4 2 fallbackCompiler Lcom/oracle/truffle/api/interop/TruffleObject;
1 4 3 compiler Lcom/oracle/truffle/regex/RegexCompiler;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
regexLanguage
options
fallbackCompiler
private static com.oracle.truffle.regex.RegexCompiler createRegexCompiler(com.oracle.truffle.regex.RegexLanguage, com.oracle.truffle.regex.RegexOptions, com.oracle.truffle.api.interop.TruffleObject);
descriptor: (Lcom/oracle/truffle/regex/RegexLanguage;Lcom/oracle/truffle/regex/RegexOptions;Lcom/oracle/truffle/api/interop/TruffleObject;)Lcom/oracle/truffle/regex/RegexCompiler;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 2
1: new com.oracle.truffle.regex.RegexCompilerWithFallback
dup
new com.oracle.truffle.regex.tregex.TRegexCompiler
dup
aload 0
aload 1
invokespecial com.oracle.truffle.regex.tregex.TRegexCompiler.<init>:(Lcom/oracle/truffle/regex/RegexLanguage;Lcom/oracle/truffle/regex/RegexOptions;)V
aload 2
invokespecial com.oracle.truffle.regex.RegexCompilerWithFallback.<init>:(Lcom/oracle/truffle/regex/RegexCompiler;Lcom/oracle/truffle/api/interop/TruffleObject;)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.regex.tregex.TRegexCompiler
dup
aload 0
aload 1
invokespecial com.oracle.truffle.regex.tregex.TRegexCompiler.<init>:(Lcom/oracle/truffle/regex/RegexLanguage;Lcom/oracle/truffle/regex/RegexOptions;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 regexLanguage Lcom/oracle/truffle/regex/RegexLanguage;
0 3 1 options Lcom/oracle/truffle/regex/RegexOptions;
0 3 2 fallbackCompiler Lcom/oracle/truffle/api/interop/TruffleObject;
MethodParameters:
Name Flags
regexLanguage
options
fallbackCompiler
}
SourceFile: "RegexEngineBuilder.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)