class freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod implements freemarker.template.TemplateMethodModelEx
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod
super_class: java.lang.Object
{
private java.lang.String s;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
final freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI this$1;
descriptor: Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI, java.lang.String);
descriptor: (Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 // freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod this
start local 2 // java.lang.String s
0: .line 146
aload 0 /* this */
aload 1
putfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 147
aload 0 /* this */
aload 2 /* s */
putfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.s:Ljava/lang/String;
2: .line 148
return
end local 2 // java.lang.String s
end local 0 // freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod;
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=5, locals=9, args_size=2
start local 0 // freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod this
start local 1 // java.util.List args
0: .line 151
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI;
aload 1 /* args */
iconst_1
iconst_3
invokevirtual freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI.checkMethodArgCount:(Ljava/util/List;II)V
1: .line 153
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI;
aload 1 /* args */
iconst_0
invokevirtual freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI.getStringMethodArg:(Ljava/util/List;I)Ljava/lang/String;
astore 2 /* checkedPrefix */
start local 2 // java.lang.String checkedPrefix
2: .line 157
aload 1 /* args */
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 19
3: .line 158
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI;
aload 1 /* args */
iconst_1
invokevirtual freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI.getStringMethodArg:(Ljava/util/List;I)Ljava/lang/String;
astore 4 /* addedPrefix */
start local 4 // java.lang.String addedPrefix
4: .line 159
aload 1 /* args */
invokeinterface java.util.List.size:()I
iconst_2
if_icmple 6
5: .line 160
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI;
aload 1 /* args */
iconst_2
invokevirtual freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI.getStringMethodArg:(Ljava/util/List;I)Ljava/lang/String;
invokestatic freemarker.core.RegexpHelper.parseFlagString:(Ljava/lang/String;)J
goto 7
6: .line 161
StackMap locals: freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod java.util.List java.lang.String top java.lang.String
StackMap stack:
ldc 4294967296
7: .line 159
StackMap locals:
StackMap stack: long
lstore 5 /* flags */
start local 5 // long flags
8: .line 163
lload 5 /* flags */
ldc 4294967296
land
lconst_0
lcmp
ifne 15
9: .line 164
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI;
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI.key:Ljava/lang/String;
lload 5 /* flags */
iconst_1
invokestatic freemarker.core.RegexpHelper.checkOnlyHasNonRegexpFlags:(Ljava/lang/String;JZ)V
10: .line 165
lload 5 /* flags */
getstatic freemarker.core.RegexpHelper.RE_FLAG_CASE_INSENSITIVE:J
land
lconst_0
lcmp
ifne 13
11: .line 166
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.s:Ljava/lang/String;
aload 2 /* checkedPrefix */
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
istore 3 /* startsWithPrefix */
start local 3 // boolean startsWithPrefix
12: .line 167
goto 21
end local 3 // boolean startsWithPrefix
13: .line 168
StackMap locals: long
StackMap stack:
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.s:Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aload 2 /* checkedPrefix */
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
istore 3 /* startsWithPrefix */
start local 3 // boolean startsWithPrefix
14: .line 170
goto 21
end local 3 // boolean startsWithPrefix
15: .line 171
StackMap locals:
StackMap stack:
aload 2 /* checkedPrefix */
lload 5 /* flags */
l2i
invokestatic freemarker.core.RegexpHelper.getPattern:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
astore 7 /* pattern */
start local 7 // java.util.regex.Pattern pattern
16: .line 172
aload 7 /* pattern */
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.s:Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 8 /* matcher */
start local 8 // java.util.regex.Matcher matcher
17: .line 173
aload 8 /* matcher */
invokevirtual java.util.regex.Matcher.lookingAt:()Z
istore 3 /* startsWithPrefix */
end local 8 // java.util.regex.Matcher matcher
end local 7 // java.util.regex.Pattern pattern
end local 5 // long flags
start local 3 // boolean startsWithPrefix
18: .line 175
goto 21
end local 4 // java.lang.String addedPrefix
end local 3 // boolean startsWithPrefix
19: .line 176
StackMap locals: freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod java.util.List java.lang.String
StackMap stack:
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.s:Ljava/lang/String;
aload 2 /* checkedPrefix */
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
istore 3 /* startsWithPrefix */
start local 3 // boolean startsWithPrefix
20: .line 177
aload 2 /* checkedPrefix */
astore 4 /* addedPrefix */
start local 4 // java.lang.String addedPrefix
21: .line 179
StackMap locals: int java.lang.String
StackMap stack:
new freemarker.template.SimpleScalar
dup
iload 3 /* startsWithPrefix */
ifeq 22
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.s:Ljava/lang/String;
goto 23
StackMap locals: freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod java.util.List java.lang.String int java.lang.String
StackMap stack: new 21 new 21
22: new java.lang.StringBuilder
dup
aload 4 /* addedPrefix */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod.s:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod java.util.List java.lang.String int java.lang.String
StackMap stack: new 21 new 21 java.lang.String
23: invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
areturn
end local 4 // java.lang.String addedPrefix
end local 3 // boolean startsWithPrefix
end local 2 // java.lang.String checkedPrefix
end local 1 // java.util.List args
end local 0 // freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lfreemarker/core/BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod;
0 24 1 args Ljava/util/List;
2 24 2 checkedPrefix Ljava/lang/String;
12 13 3 startsWithPrefix Z
14 15 3 startsWithPrefix Z
18 19 3 startsWithPrefix Z
20 24 3 startsWithPrefix Z
4 19 4 addedPrefix Ljava/lang/String;
21 24 4 addedPrefix Ljava/lang/String;
8 18 5 flags J
16 18 7 pattern Ljava/util/regex/Pattern;
17 18 8 matcher Ljava/util/regex/Matcher;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
args
}
SourceFile: "BuiltInsForStringsBasic.java"
NestHost: freemarker.core.BuiltInsForStringsBasic
InnerClasses:
ensure_starts_withBI = freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI of freemarker.core.BuiltInsForStringsBasic
private BIMethod = freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI$BIMethod of freemarker.core.BuiltInsForStringsBasic$ensure_starts_withBI