public class jdk.nashorn.internal.runtime.regexp.JoniRegExp extends jdk.nashorn.internal.runtime.regexp.RegExp
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.regexp.JoniRegExp
super_class: jdk.nashorn.internal.runtime.regexp.RegExp
{
private jdk.nashorn.internal.runtime.regexp.joni.Regex regex;
descriptor: Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=3
start local 0 // jdk.nashorn.internal.runtime.regexp.JoniRegExp this
start local 1 // java.lang.String pattern
start local 2 // java.lang.String flags
0: .line 54
aload 0 /* this */
aload 1 /* pattern */
aload 2 /* flags */
invokespecial jdk.nashorn.internal.runtime.regexp.RegExp.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: .line 56
bipush 8
istore 3 /* option */
start local 3 // int option
2: .line 58
aload 0 /* this */
invokevirtual jdk.nashorn.internal.runtime.regexp.JoniRegExp.isIgnoreCase:()Z
ifeq 4
3: .line 59
iload 3 /* option */
iconst_1
ior
istore 3 /* option */
4: .line 61
StackMap locals: jdk.nashorn.internal.runtime.regexp.JoniRegExp java.lang.String java.lang.String int
StackMap stack:
aload 0 /* this */
invokevirtual jdk.nashorn.internal.runtime.regexp.JoniRegExp.isMultiline:()Z
ifeq 7
5: .line 62
iload 3 /* option */
bipush -9
iand
istore 3 /* option */
6: .line 63
iload 3 /* option */
bipush 64
ior
istore 3 /* option */
7: .line 70
StackMap locals:
StackMap stack:
aload 1 /* pattern */
invokestatic jdk.nashorn.internal.runtime.regexp.RegExpScanner.scan:(Ljava/lang/String;)Ljdk/nashorn/internal/runtime/regexp/RegExpScanner;
astore 4 /* parsed */
start local 4 // jdk.nashorn.internal.runtime.regexp.RegExpScanner parsed
8: .line 71
goto 12
end local 4 // jdk.nashorn.internal.runtime.regexp.RegExpScanner parsed
StackMap locals:
StackMap stack: java.util.regex.PatternSyntaxException
9: astore 5 /* e */
start local 5 // java.util.regex.PatternSyntaxException e
10: .line 74
aload 1 /* pattern */
iconst_0
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
pop
11: .line 75
aload 5 /* e */
athrow
end local 5 // java.util.regex.PatternSyntaxException e
start local 4 // jdk.nashorn.internal.runtime.regexp.RegExpScanner parsed
12: .line 78
StackMap locals: jdk.nashorn.internal.runtime.regexp.RegExpScanner
StackMap stack:
aload 4 /* parsed */
ifnull 19
13: .line 79
aload 4 /* parsed */
invokevirtual jdk.nashorn.internal.runtime.regexp.RegExpScanner.getJavaPattern:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 5 /* javaPattern */
start local 5 // char[] javaPattern
14: .line 80
aload 0 /* this */
new jdk.nashorn.internal.runtime.regexp.joni.Regex
dup
aload 5 /* javaPattern */
iconst_0
aload 5 /* javaPattern */
arraylength
iload 3 /* option */
getstatic jdk.nashorn.internal.runtime.regexp.joni.Syntax.JAVASCRIPT:Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:([CIIILjdk/nashorn/internal/runtime/regexp/joni/Syntax;)V
putfield jdk.nashorn.internal.runtime.regexp.JoniRegExp.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
15: .line 81
aload 0 /* this */
aload 4 /* parsed */
invokevirtual jdk.nashorn.internal.runtime.regexp.RegExpScanner.getGroupsInNegativeLookahead:()Ljdk/nashorn/internal/runtime/BitVector;
putfield jdk.nashorn.internal.runtime.regexp.JoniRegExp.groupsInNegativeLookahead:Ljdk/nashorn/internal/runtime/BitVector;
end local 5 // char[] javaPattern
end local 4 // jdk.nashorn.internal.runtime.regexp.RegExpScanner parsed
16: .line 83
goto 19
StackMap locals: jdk.nashorn.internal.runtime.regexp.JoniRegExp java.lang.String java.lang.String int
StackMap stack: java.lang.RuntimeException
17: astore 4 /* e2 */
start local 4 // java.lang.RuntimeException e2
18: .line 84
ldc "syntax"
aload 4 /* e2 */
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.regexp.JoniRegExp.throwParserException:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 // java.lang.RuntimeException e2
19: .line 86
StackMap locals:
StackMap stack:
return
end local 3 // int option
end local 2 // java.lang.String flags
end local 1 // java.lang.String pattern
end local 0 // jdk.nashorn.internal.runtime.regexp.JoniRegExp this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/nashorn/internal/runtime/regexp/JoniRegExp;
0 20 1 pattern Ljava/lang/String;
0 20 2 flags Ljava/lang/String;
2 20 3 option I
8 9 4 parsed Ljdk/nashorn/internal/runtime/regexp/RegExpScanner;
12 16 4 parsed Ljdk/nashorn/internal/runtime/regexp/RegExpScanner;
10 12 5 e Ljava/util/regex/PatternSyntaxException;
14 16 5 javaPattern [C
18 19 4 e2 Ljava/lang/RuntimeException;
Exception table:
from to target type
7 8 9 Class java.util.regex.PatternSyntaxException
7 16 17 Class java.util.regex.PatternSyntaxException
7 16 17 Class jdk.nashorn.internal.runtime.regexp.joni.exception.JOniException
Exceptions:
throws jdk.nashorn.internal.runtime.ParserException
MethodParameters:
Name Flags
pattern final
flags final
public jdk.nashorn.internal.runtime.regexp.RegExpMatcher match(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/runtime/regexp/RegExpMatcher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // jdk.nashorn.internal.runtime.regexp.JoniRegExp this
start local 1 // java.lang.String input
0: .line 90
aload 0 /* this */
getfield jdk.nashorn.internal.runtime.regexp.JoniRegExp.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
ifnonnull 2
1: .line 91
aconst_null
areturn
2: .line 94
StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.JoniRegExp$JoniMatcher
dup
aload 0 /* this */
aload 1 /* input */
invokespecial jdk.nashorn.internal.runtime.regexp.JoniRegExp$JoniMatcher.<init>:(Ljdk/nashorn/internal/runtime/regexp/JoniRegExp;Ljava/lang/String;)V
areturn
end local 1 // java.lang.String input
end local 0 // jdk.nashorn.internal.runtime.regexp.JoniRegExp this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/regexp/JoniRegExp;
0 3 1 input Ljava/lang/String;
MethodParameters:
Name Flags
input final
}
SourceFile: "JoniRegExp.java"
NestMembers:
jdk.nashorn.internal.runtime.regexp.JoniRegExp$Factory jdk.nashorn.internal.runtime.regexp.JoniRegExp$JoniMatcher
InnerClasses:
public Factory = jdk.nashorn.internal.runtime.regexp.JoniRegExp$Factory of jdk.nashorn.internal.runtime.regexp.JoniRegExp
JoniMatcher = jdk.nashorn.internal.runtime.regexp.JoniRegExp$JoniMatcher of jdk.nashorn.internal.runtime.regexp.JoniRegExp