final class freemarker.core.BuiltinVariable extends freemarker.core.Expression
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: freemarker.core.BuiltinVariable
super_class: freemarker.core.Expression
{
static final java.lang.String TEMPLATE_NAME_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "templateName"
static final java.lang.String TEMPLATE_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "template_name"
static final java.lang.String MAIN_TEMPLATE_NAME_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "mainTemplateName"
static final java.lang.String MAIN_TEMPLATE_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "main_template_name"
static final java.lang.String CURRENT_TEMPLATE_NAME_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "currentTemplateName"
static final java.lang.String CURRENT_TEMPLATE_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "current_template_name"
static final java.lang.String NAMESPACE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "namespace"
static final java.lang.String MAIN;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "main"
static final java.lang.String GLOBALS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "globals"
static final java.lang.String LOCALS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "locals"
static final java.lang.String DATA_MODEL_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "dataModel"
static final java.lang.String DATA_MODEL;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "data_model"
static final java.lang.String LANG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "lang"
static final java.lang.String LOCALE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "locale"
static final java.lang.String LOCALE_OBJECT_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "localeObject"
static final java.lang.String LOCALE_OBJECT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "locale_object"
static final java.lang.String CURRENT_NODE_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "currentNode"
static final java.lang.String CURRENT_NODE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "current_node"
static final java.lang.String NODE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "node"
static final java.lang.String PASS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "pass"
static final java.lang.String VARS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "vars"
static final java.lang.String VERSION;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "version"
static final java.lang.String INCOMPATIBLE_IMPROVEMENTS_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "incompatibleImprovements"
static final java.lang.String INCOMPATIBLE_IMPROVEMENTS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "incompatible_improvements"
static final java.lang.String ERROR;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "error"
static final java.lang.String OUTPUT_ENCODING_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "outputEncoding"
static final java.lang.String OUTPUT_ENCODING;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "output_encoding"
static final java.lang.String OUTPUT_FORMAT_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "outputFormat"
static final java.lang.String OUTPUT_FORMAT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "output_format"
static final java.lang.String AUTO_ESC_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "autoEsc"
static final java.lang.String AUTO_ESC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "auto_esc"
static final java.lang.String URL_ESCAPING_CHARSET_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "urlEscapingCharset"
static final java.lang.String URL_ESCAPING_CHARSET;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "url_escaping_charset"
static final java.lang.String NOW;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "now"
static final java.lang.String GET_OPTIONAL_TEMPLATE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "get_optional_template"
static final java.lang.String GET_OPTIONAL_TEMPLATE_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "getOptionalTemplate"
static final java.lang.String CALLER_TEMPLATE_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "caller_template_name"
static final java.lang.String CALLER_TEMPLATE_NAME_CC;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "callerTemplateName"
static final java.lang.String[] SPEC_VAR_NAMES;
descriptor: [Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.template.TemplateModel parseTimeValue;
descriptor: Lfreemarker/template/TemplateModel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 38
anewarray java.lang.String
dup
iconst_0
1: ldc "autoEsc"
aastore
dup
iconst_1
2: ldc "auto_esc"
aastore
dup
iconst_2
3: ldc "callerTemplateName"
aastore
dup
iconst_3
4: ldc "caller_template_name"
aastore
dup
iconst_4
5: ldc "currentNode"
aastore
dup
iconst_5
6: ldc "currentTemplateName"
aastore
dup
bipush 6
7: ldc "current_node"
aastore
dup
bipush 7
8: ldc "current_template_name"
aastore
dup
bipush 8
9: ldc "dataModel"
aastore
dup
bipush 9
10: ldc "data_model"
aastore
dup
bipush 10
11: ldc "error"
aastore
dup
bipush 11
12: ldc "getOptionalTemplate"
aastore
dup
bipush 12
13: ldc "get_optional_template"
aastore
dup
bipush 13
14: ldc "globals"
aastore
dup
bipush 14
15: ldc "incompatibleImprovements"
aastore
dup
bipush 15
16: ldc "incompatible_improvements"
aastore
dup
bipush 16
17: ldc "lang"
aastore
dup
bipush 17
18: ldc "locale"
aastore
dup
bipush 18
19: ldc "localeObject"
aastore
dup
bipush 19
20: ldc "locale_object"
aastore
dup
bipush 20
21: ldc "locals"
aastore
dup
bipush 21
22: ldc "main"
aastore
dup
bipush 22
23: ldc "mainTemplateName"
aastore
dup
bipush 23
24: ldc "main_template_name"
aastore
dup
bipush 24
25: ldc "namespace"
aastore
dup
bipush 25
26: ldc "node"
aastore
dup
bipush 26
27: ldc "now"
aastore
dup
bipush 27
28: ldc "outputEncoding"
aastore
dup
bipush 28
29: ldc "outputFormat"
aastore
dup
bipush 29
30: ldc "output_encoding"
aastore
dup
bipush 30
31: ldc "output_format"
aastore
dup
bipush 31
32: ldc "pass"
aastore
dup
bipush 32
33: ldc "templateName"
aastore
dup
bipush 33
34: ldc "template_name"
aastore
dup
bipush 34
35: ldc "urlEscapingCharset"
aastore
dup
bipush 35
36: ldc "url_escaping_charset"
aastore
dup
bipush 36
37: ldc "vars"
aastore
dup
bipush 37
38: ldc "version"
aastore
39: putstatic freemarker.core.BuiltinVariable.SPEC_VAR_NAMES:[Ljava/lang/String;
40: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(freemarker.core.Token, freemarker.core.FMParserTokenManager, freemarker.template.TemplateModel);
descriptor: (Lfreemarker/core/Token;Lfreemarker/core/FMParserTokenManager;Lfreemarker/template/TemplateModel;)V
flags: (0x0000)
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial freemarker.core.Expression.<init>:()V
1: aload 1
getfield freemarker.core.Token.image:Ljava/lang/String;
astore 4
start local 4 2: aload 0
aload 3
putfield freemarker.core.BuiltinVariable.parseTimeValue:Lfreemarker/template/TemplateModel;
3: getstatic freemarker.core.BuiltinVariable.SPEC_VAR_NAMES:[Ljava/lang/String;
aload 4
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
ifge 39
4: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 5: aload 5
ldc "Unknown special variable name: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 5
aload 4
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)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;
pop
7: aload 2
getfield freemarker.core.FMParserTokenManager.namingConvention:I
istore 7
start local 7 8: iload 7
bipush 10
if_icmpeq 10
9: iload 7
goto 11
StackMap locals: freemarker.core.BuiltinVariable freemarker.core.Token freemarker.core.FMParserTokenManager freemarker.template.TemplateModel java.lang.String java.lang.StringBuilder top int
StackMap stack:
10: bipush 11
11: StackMap locals:
StackMap stack: int
istore 6
end local 7 start local 6 12: aload 4
ldc "auto_escape"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
aload 4
ldc "auto_escaping"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
aload 4
ldc "autoesc"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: StackMap locals: freemarker.core.BuiltinVariable freemarker.core.Token freemarker.core.FMParserTokenManager freemarker.template.TemplateModel java.lang.String java.lang.StringBuilder int
StackMap stack:
ldc "auto_esc"
astore 7
start local 7 14: goto 19
end local 7 StackMap locals:
StackMap stack:
15: aload 4
ldc "autoEscape"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
aload 4
ldc "autoEscaping"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
16: StackMap locals:
StackMap stack:
ldc "autoEsc"
astore 7
start local 7 17: goto 19
end local 7 18: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 19: StackMap locals: java.lang.String
StackMap stack:
aload 7
ifnull 22
20: aload 5
ldc " You may meant: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: aload 5
aload 7
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)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;
pop
end local 7 22: StackMap locals:
StackMap stack:
aload 5
ldc "\nThe allowed special variable names are: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: iconst_1
istore 7
start local 7 24: iconst_0
istore 8
start local 8 25: goto 37
26: StackMap locals: int int
StackMap stack:
getstatic freemarker.core.BuiltinVariable.SPEC_VAR_NAMES:[Ljava/lang/String;
iload 8
aaload
astore 9
start local 9 27: aload 9
invokestatic freemarker.core._CoreStringUtils.getIdentifierNamingConvention:(Ljava/lang/String;)I
istore 10
start local 10 28: iload 6
bipush 12
if_icmpne 30
29: iload 10
bipush 11
if_icmpeq 36
goto 31
30: StackMap locals: java.lang.String int
StackMap stack:
iload 10
bipush 12
if_icmpeq 36
31: StackMap locals:
StackMap stack:
iload 7
ifeq 34
32: iconst_0
istore 7
33: goto 35
34: StackMap locals:
StackMap stack:
aload 5
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: StackMap locals:
StackMap stack:
aload 5
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 10 end local 9 36: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
37: iload 8
getstatic freemarker.core.BuiltinVariable.SPEC_VAR_NAMES:[Ljava/lang/String;
arraylength
if_icmplt 26
end local 8 38: new freemarker.core.ParseException
dup
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
aload 1
invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Lfreemarker/template/Template;Lfreemarker/core/Token;)V
athrow
end local 7 end local 6 end local 5 39: StackMap locals: freemarker.core.BuiltinVariable freemarker.core.Token freemarker.core.FMParserTokenManager freemarker.template.TemplateModel java.lang.String
StackMap stack:
aload 0
aload 4
invokevirtual java.lang.String.intern:()Ljava/lang/String;
putfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
40: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lfreemarker/core/BuiltinVariable;
0 41 1 nameTk Lfreemarker/core/Token;
0 41 2 tokenManager Lfreemarker/core/FMParserTokenManager;
0 41 3 parseTimeValue Lfreemarker/template/TemplateModel;
2 41 4 name Ljava/lang/String;
5 39 5 sb Ljava/lang/StringBuilder;
12 39 6 shownNamingConvention I
8 12 7 namingConvention I
14 15 7 correctName Ljava/lang/String;
17 18 7 correctName Ljava/lang/String;
19 22 7 correctName Ljava/lang/String;
24 39 7 first Z
25 38 8 i I
27 36 9 correctName Ljava/lang/String;
28 36 10 correctNameNamingConvetion I
Exceptions:
throws freemarker.core.ParseException
MethodParameters:
Name Flags
nameTk
tokenManager
parseTimeValue
freemarker.template.TemplateModel _eval(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.BuiltinVariable.parseTimeValue:Lfreemarker/template/TemplateModel;
ifnull 2
1: aload 0
getfield freemarker.core.BuiltinVariable.parseTimeValue:Lfreemarker/template/TemplateModel;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "namespace"
if_acmpne 4
3: aload 1
invokevirtual freemarker.core.Environment.getCurrentNamespace:()Lfreemarker/core/Environment$Namespace;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "main"
if_acmpne 6
5: aload 1
invokevirtual freemarker.core.Environment.getMainNamespace:()Lfreemarker/core/Environment$Namespace;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "globals"
if_acmpne 8
7: aload 1
invokevirtual freemarker.core.Environment.getGlobalVariables:()Lfreemarker/template/TemplateHashModel;
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "locals"
if_acmpne 13
9: aload 1
invokevirtual freemarker.core.Environment.getCurrentMacroContext:()Lfreemarker/core/Macro$Context;
astore 2
start local 2 10: aload 2
ifnonnull 11
aconst_null
goto 12
StackMap locals: freemarker.core.Macro$Context
StackMap stack:
11: aload 2
invokevirtual freemarker.core.Macro$Context.getLocals:()Lfreemarker/core/Environment$Namespace;
StackMap locals:
StackMap stack: freemarker.core.Environment$Namespace
12: areturn
end local 2 13: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "data_model"
if_acmpeq 14
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "dataModel"
if_acmpne 15
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getDataModel:()Lfreemarker/template/TemplateHashModel;
areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "vars"
if_acmpne 17
16: new freemarker.core.BuiltinVariable$VarsHash
dup
aload 1
invokespecial freemarker.core.BuiltinVariable$VarsHash.<init>:(Lfreemarker/core/Environment;)V
areturn
17: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "locale"
if_acmpne 19
18: new freemarker.template.SimpleScalar
dup
aload 1
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
invokevirtual java.util.Locale.toString:()Ljava/lang/String;
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
areturn
19: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "locale_object"
if_acmpeq 20
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "localeObject"
if_acmpne 21
20: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
aload 1
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
invokeinterface freemarker.template.ObjectWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
areturn
21: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "lang"
if_acmpne 23
22: new freemarker.template.SimpleScalar
dup
aload 1
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
areturn
23: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "current_node"
if_acmpeq 24
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "node"
if_acmpeq 24
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "currentNode"
if_acmpne 25
24: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getCurrentVisitorNode:()Lfreemarker/template/TemplateNodeModel;
areturn
25: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "template_name"
if_acmpeq 26
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "templateName"
if_acmpne 30
26: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getConfiguration:()Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_23:I
if_icmplt 28
27: new freemarker.template.SimpleScalar
dup
aload 1
invokevirtual freemarker.core.Environment.getTemplate230:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getName:()Ljava/lang/String;
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
goto 29
28: StackMap locals:
StackMap stack:
new freemarker.template.SimpleScalar
dup
aload 1
invokevirtual freemarker.core.Environment.getTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getName:()Ljava/lang/String;
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
29: StackMap locals:
StackMap stack: freemarker.template.SimpleScalar
areturn
30: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "main_template_name"
if_acmpeq 31
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "mainTemplateName"
if_acmpne 32
31: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getMainTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getName:()Ljava/lang/String;
invokestatic freemarker.template.SimpleScalar.newInstanceOrNull:(Ljava/lang/String;)Lfreemarker/template/SimpleScalar;
areturn
32: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "current_template_name"
if_acmpeq 33
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "currentTemplateName"
if_acmpne 34
33: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getCurrentTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getName:()Ljava/lang/String;
invokestatic freemarker.template.SimpleScalar.newInstanceOrNull:(Ljava/lang/String;)Lfreemarker/template/SimpleScalar;
areturn
34: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "pass"
if_acmpne 36
35: getstatic freemarker.core.Macro.DO_NOTHING_MACRO:Lfreemarker/core/Macro;
areturn
36: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "output_encoding"
if_acmpeq 37
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "outputEncoding"
if_acmpne 39
37: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getOutputEncoding:()Ljava/lang/String;
astore 2
start local 2 38: aload 2
invokestatic freemarker.template.SimpleScalar.newInstanceOrNull:(Ljava/lang/String;)Lfreemarker/template/SimpleScalar;
areturn
end local 2 39: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "url_escaping_charset"
if_acmpeq 40
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "urlEscapingCharset"
if_acmpne 42
40: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getURLEscapingCharset:()Ljava/lang/String;
astore 2
start local 2 41: aload 2
invokestatic freemarker.template.SimpleScalar.newInstanceOrNull:(Ljava/lang/String;)Lfreemarker/template/SimpleScalar;
areturn
end local 2 42: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "error"
if_acmpne 44
43: new freemarker.template.SimpleScalar
dup
aload 1
invokevirtual freemarker.core.Environment.getCurrentRecoveredErrorMessage:()Ljava/lang/String;
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
areturn
44: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "now"
if_acmpne 46
45: new freemarker.template.SimpleDate
dup
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
iconst_3
invokespecial freemarker.template.SimpleDate.<init>:(Ljava/util/Date;I)V
areturn
46: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "version"
if_acmpne 48
47: new freemarker.template.SimpleScalar
dup
invokestatic freemarker.template.Configuration.getVersionNumber:()Ljava/lang/String;
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
areturn
48: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "incompatible_improvements"
if_acmpeq 49
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "incompatibleImprovements"
if_acmpne 50
49: StackMap locals:
StackMap stack:
new freemarker.template.SimpleScalar
dup
aload 1
invokevirtual freemarker.core.Environment.getConfiguration:()Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokevirtual freemarker.template.Version.toString:()Ljava/lang/String;
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
areturn
50: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "get_optional_template"
if_acmpne 52
51: getstatic freemarker.core.GetOptionalTemplateMethod.INSTANCE:Lfreemarker/core/GetOptionalTemplateMethod;
areturn
52: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "getOptionalTemplate"
if_acmpne 54
53: getstatic freemarker.core.GetOptionalTemplateMethod.INSTANCE_CC:Lfreemarker/core/GetOptionalTemplateMethod;
areturn
54: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "caller_template_name"
if_acmpeq 55
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
ldc "callerTemplateName"
if_acmpne 70
55: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment.getCurrentMacroContext:()Lfreemarker/core/Macro$Context;
astore 2
start local 2 56: aload 2
ifnonnull 63
57: new freemarker.template.TemplateException
dup
58: new java.lang.StringBuilder
dup
ldc "Can't get ."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " here, as there's no macro or function (that's "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
59: ldc "implemented in the template) call in context."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
60: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
61: aload 1
62: invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Lfreemarker/core/Environment;)V
athrow
63: StackMap locals: freemarker.core.Macro$Context
StackMap stack:
aload 2
getfield freemarker.core.Macro$Context.callPlace:Lfreemarker/core/TemplateObject;
astore 3
start local 3 64: aload 3
ifnull 65
aload 3
invokevirtual freemarker.core.TemplateObject.getTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getName:()Ljava/lang/String;
goto 66
StackMap locals: freemarker.core.TemplateObject
StackMap stack:
65: aconst_null
StackMap locals:
StackMap stack: java.lang.String
66: astore 4
start local 4 67: aload 4
ifnull 68
new freemarker.template.SimpleScalar
dup
aload 4
invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
goto 69
StackMap locals: java.lang.String
StackMap stack:
68: getstatic freemarker.template.TemplateScalarModel.EMPTY_STRING:Lfreemarker/template/TemplateModel;
StackMap locals:
StackMap stack: freemarker.template.TemplateModel
69: areturn
end local 4 end local 3 end local 2 70: StackMap locals:
StackMap stack:
new freemarker.core._MiscTemplateException
dup
aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
71: ldc "Invalid special variable: "
aastore
dup
iconst_1
aload 0
getfield freemarker.core.BuiltinVariable.name:Ljava/lang/String;
72: aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;[Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lfreemarker/core/BuiltinVariable;
0 73 1 env Lfreemarker/core/Environment;
10 13 2 ctx Lfreemarker/core/Macro$Context;
38 39 2 s Ljava/lang/String;
41 42 2 s Ljava/lang/String;
56 70 2 ctx Lfreemarker/core/Macro$Context;
64 70 3 callPlace Lfreemarker/core/TemplateObject;
67 70 4 name Ljava/lang/String;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
env
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 freemarker.core.BuiltinVariable.name: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 Lfreemarker/core/BuiltinVariable;
public java.lang.String getCanonicalForm();
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 freemarker.core.BuiltinVariable.name: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 Lfreemarker/core/BuiltinVariable;
java.lang.String getNodeTypeSymbol();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.core.BuiltinVariable.getCanonicalForm:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltinVariable;
boolean isLiteral();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltinVariable;
protected freemarker.core.Expression deepCloneWithIdentifierReplaced_inner(java.lang.String, freemarker.core.Expression, freemarker.core.Expression$ReplacemenetState);
descriptor: (Ljava/lang/String;Lfreemarker/core/Expression;Lfreemarker/core/Expression$ReplacemenetState;)Lfreemarker/core/Expression;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltinVariable;
0 1 1 replacedIdentifier Ljava/lang/String;
0 1 2 replacement Lfreemarker/core/Expression;
0 1 3 replacementState Lfreemarker/core/Expression$ReplacemenetState;
MethodParameters:
Name Flags
replacedIdentifier
replacement
replacementState
int getParameterCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltinVariable;
java.lang.Object getParameterValue(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltinVariable;
0 1 1 idx I
MethodParameters:
Name Flags
idx
freemarker.core.ParameterRole getParameterRole(int);
descriptor: (I)Lfreemarker/core/ParameterRole;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltinVariable;
0 1 1 idx I
MethodParameters:
Name Flags
idx
}
SourceFile: "BuiltinVariable.java"
NestMembers:
freemarker.core.BuiltinVariable$VarsHash
InnerClasses:
VarsHash = freemarker.core.BuiltinVariable$VarsHash of freemarker.core.BuiltinVariable
public Namespace = freemarker.core.Environment$Namespace of freemarker.core.Environment
ReplacemenetState = freemarker.core.Expression$ReplacemenetState of freemarker.core.Expression
Context = freemarker.core.Macro$Context of freemarker.core.Macro