class freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod implements freemarker.template.TemplateMethodModel
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod
super_class: java.lang.Object
{
private java.lang.String s;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
final freemarker.core.BuiltInsForStringsRegexp$replace_reBI this$1;
descriptor: Lfreemarker/core/BuiltInsForStringsRegexp$replace_reBI;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(freemarker.core.BuiltInsForStringsRegexp$replace_reBI, java.lang.String);
descriptor: (Lfreemarker/core/BuiltInsForStringsRegexp$replace_reBI;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod this
start local 2 // java.lang.String s
0: .line 99
aload 0 /* this */
aload 1
putfield freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod.this$1:Lfreemarker/core/BuiltInsForStringsRegexp$replace_reBI;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 100
aload 0 /* this */
aload 2 /* s */
putfield freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod.s:Ljava/lang/String;
2: .line 101
return
end local 2 // java.lang.String s
end local 0 // freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod;
0 3 2 s Ljava/lang/String;
MethodParameters:
Name Flags
this$0 final
s
public java.lang.Object exec(java.util.List);
descriptor: (Ljava/util/List;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=2
start local 0 // freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod this
start local 1 // java.util.List args
0: .line 104
aload 1 /* args */
invokeinterface java.util.List.size:()I
istore 2 /* argCnt */
start local 2 // int argCnt
1: .line 105
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod.this$1:Lfreemarker/core/BuiltInsForStringsRegexp$replace_reBI;
iload 2 /* argCnt */
iconst_2
iconst_3
invokevirtual freemarker.core.BuiltInsForStringsRegexp$replace_reBI.checkMethodArgCount:(III)V
2: .line 106
aload 1 /* args */
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 3 /* arg1 */
start local 3 // java.lang.String arg1
3: .line 107
aload 1 /* args */
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 4 /* arg2 */
start local 4 // java.lang.String arg2
4: .line 108
iload 2 /* argCnt */
iconst_2
if_icmple 5
aload 1 /* args */
iconst_2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokestatic freemarker.core.RegexpHelper.parseFlagString:(Ljava/lang/String;)J
goto 6
StackMap locals: int java.lang.String java.lang.String
StackMap stack:
5: lconst_0
StackMap locals:
StackMap stack: long
6: lstore 5 /* flags */
start local 5 // long flags
7: .line 110
lload 5 /* flags */
ldc 4294967296
land
lconst_0
lcmp
ifne 16
8: .line 111
ldc "replace"
lload 5 /* flags */
invokestatic freemarker.core.RegexpHelper.checkNonRegexpFlags:(Ljava/lang/String;J)V
9: .line 112
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod.s:Ljava/lang/String;
aload 3 /* arg1 */
aload 4 /* arg2 */
10: .line 113
lload 5 /* flags */
getstatic freemarker.core.RegexpHelper.RE_FLAG_CASE_INSENSITIVE:J
land
lconst_0
lcmp
ifeq 11
iconst_1
goto 12
StackMap locals: freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod java.util.List int java.lang.String java.lang.String long
StackMap stack: java.lang.String java.lang.String java.lang.String
11: iconst_0
12: .line 114
StackMap locals: freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod java.util.List int java.lang.String java.lang.String long
StackMap stack: java.lang.String java.lang.String java.lang.String int
lload 5 /* flags */
ldc 8589934592
land
lconst_0
lcmp
ifeq 13
iconst_1
goto 14
StackMap locals: freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod java.util.List int java.lang.String java.lang.String long
StackMap stack: java.lang.String java.lang.String java.lang.String int
13: iconst_0
14: .line 112
StackMap locals: freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod java.util.List int java.lang.String java.lang.String long
StackMap stack: java.lang.String java.lang.String java.lang.String int int
invokestatic freemarker.template.utility.StringUtil.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
astore 7 /* result */
start local 7 // java.lang.String result
15: .line 115
goto 22
end local 7 // java.lang.String result
16: .line 116
StackMap locals:
StackMap stack:
aload 3 /* arg1 */
lload 5 /* flags */
l2i
invokestatic freemarker.core.RegexpHelper.getPattern:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
astore 8 /* pattern */
start local 8 // java.util.regex.Pattern pattern
17: .line 117
aload 8 /* pattern */
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod.s:Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 9 /* matcher */
start local 9 // java.util.regex.Matcher matcher
18: .line 118
lload 5 /* flags */
ldc 8589934592
land
lconst_0
lcmp
ifeq 20
19: .line 119
aload 9 /* matcher */
aload 4 /* arg2 */
invokevirtual java.util.regex.Matcher.replaceFirst:(Ljava/lang/String;)Ljava/lang/String;
goto 21
20: .line 120
StackMap locals: freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod java.util.List int java.lang.String java.lang.String long top java.util.regex.Pattern java.util.regex.Matcher
StackMap stack:
aload 9 /* matcher */
aload 4 /* arg2 */
invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
21: .line 118
StackMap locals:
StackMap stack: java.lang.String
astore 7 /* result */
end local 9 // java.util.regex.Matcher matcher
end local 8 // java.util.regex.Pattern pattern
start local 7 // java.lang.String result
22: .line 122
StackMap locals: freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod java.util.List int java.lang.String java.lang.String long java.lang.String
StackMap stack:
new freemarker.template.SimpleScalar
dup
aload 7 /* result */
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
areturn
end local 7 // java.lang.String result
end local 5 // long flags
end local 4 // java.lang.String arg2
end local 3 // java.lang.String arg1
end local 2 // int argCnt
end local 1 // java.util.List args
end local 0 // freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lfreemarker/core/BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod;
0 23 1 args Ljava/util/List;
1 23 2 argCnt I
3 23 3 arg1 Ljava/lang/String;
4 23 4 arg2 Ljava/lang/String;
7 23 5 flags J
15 16 7 result Ljava/lang/String;
22 23 7 result Ljava/lang/String;
17 22 8 pattern Ljava/util/regex/Pattern;
18 22 9 matcher Ljava/util/regex/Matcher;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
args
}
SourceFile: "BuiltInsForStringsRegexp.java"
NestHost: freemarker.core.BuiltInsForStringsRegexp
InnerClasses:
replace_reBI = freemarker.core.BuiltInsForStringsRegexp$replace_reBI of freemarker.core.BuiltInsForStringsRegexp
ReplaceMethod = freemarker.core.BuiltInsForStringsRegexp$replace_reBI$ReplaceMethod of freemarker.core.BuiltInsForStringsRegexp$replace_reBI