public class org.apache.commons.configuration2.interpol.ExprLookup implements org.apache.commons.configuration2.interpol.Lookup
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.configuration2.interpol.ExprLookup
super_class: java.lang.Object
{
private static final java.lang.String CLASS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Class:"
private static final java.lang.String DEFAULT_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "$["
private static final java.lang.String DEFAULT_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "]"
private org.apache.commons.configuration2.interpol.ConfigurationInterpolator interpolator;
descriptor: Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.text.StringSubstitutor substitutor;
descriptor: Lorg/apache/commons/text/StringSubstitutor;
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.configuration2.io.ConfigurationLogger logger;
descriptor: Lorg/apache/commons/configuration2/io/ConfigurationLogger;
flags: (0x0002) ACC_PRIVATE
private final org.apache.commons.jexl2.JexlEngine engine;
descriptor: Lorg/apache/commons/jexl2/JexlEngine;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.apache.commons.configuration2.interpol.ExprLookup$Variables variables;
descriptor: Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;
flags: (0x0002) ACC_PRIVATE
private java.lang.String prefixMatcher;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String suffixMatcher;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.apache.commons.jexl2.JexlEngine
dup
invokespecial org.apache.commons.jexl2.JexlEngine.<init>:()V
putfield org.apache.commons.configuration2.interpol.ExprLookup.engine:Lorg/apache/commons/jexl2/JexlEngine;
2: aload 0
ldc "$["
putfield org.apache.commons.configuration2.interpol.ExprLookup.prefixMatcher:Ljava/lang/String;
3: aload 0
ldc "]"
putfield org.apache.commons.configuration2.interpol.ExprLookup.suffixMatcher:Ljava/lang/String;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
public void <init>(org.apache.commons.configuration2.interpol.ExprLookup$Variables);
descriptor: (Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.apache.commons.jexl2.JexlEngine
dup
invokespecial org.apache.commons.jexl2.JexlEngine.<init>:()V
putfield org.apache.commons.configuration2.interpol.ExprLookup.engine:Lorg/apache/commons/jexl2/JexlEngine;
2: aload 0
ldc "$["
putfield org.apache.commons.configuration2.interpol.ExprLookup.prefixMatcher:Ljava/lang/String;
3: aload 0
ldc "]"
putfield org.apache.commons.configuration2.interpol.ExprLookup.suffixMatcher:Ljava/lang/String;
4: aload 0
aload 1
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup.setVariables:(Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 6 1 list Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;
MethodParameters:
Name Flags
list final
public void <init>(org.apache.commons.configuration2.interpol.ExprLookup$Variables, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial org.apache.commons.configuration2.interpol.ExprLookup.<init>:(Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;)V
1: aload 0
aload 2
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup.setVariablePrefixMatcher:(Ljava/lang/String;)V
2: aload 0
aload 3
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup.setVariableSuffixMatcher:(Ljava/lang/String;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 4 1 list Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;
0 4 2 prefix Ljava/lang/String;
0 4 3 suffix Ljava/lang/String;
MethodParameters:
Name Flags
list final
prefix final
suffix final
public void setVariablePrefixMatcher(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.commons.configuration2.interpol.ExprLookup.prefixMatcher:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 2 1 prefix Ljava/lang/String;
MethodParameters:
Name Flags
prefix final
public void setVariableSuffixMatcher(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.commons.configuration2.interpol.ExprLookup.suffixMatcher:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 2 1 suffix Ljava/lang/String;
MethodParameters:
Name Flags
suffix final
public void setVariables(org.apache.commons.configuration2.interpol.ExprLookup$Variables);
descriptor: (Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.apache.commons.configuration2.interpol.ExprLookup$Variables
dup
aload 1
invokespecial org.apache.commons.configuration2.interpol.ExprLookup$Variables.<init>:(Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;)V
putfield org.apache.commons.configuration2.interpol.ExprLookup.variables:Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 2 1 list Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;
MethodParameters:
Name Flags
list final
public org.apache.commons.configuration2.interpol.ExprLookup$Variables getVariables();
descriptor: ()Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.commons.configuration2.interpol.ExprLookup$Variables
dup
aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.variables:Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;
invokespecial org.apache.commons.configuration2.interpol.ExprLookup$Variables.<init>:(Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
public org.apache.commons.configuration2.io.ConfigurationLogger getLogger();
descriptor: ()Lorg/apache/commons/configuration2/io/ConfigurationLogger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.logger:Lorg/apache/commons/configuration2/io/ConfigurationLogger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
public void setLogger(org.apache.commons.configuration2.io.ConfigurationLogger);
descriptor: (Lorg/apache/commons/configuration2/io/ConfigurationLogger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.commons.configuration2.interpol.ExprLookup.logger:Lorg/apache/commons/configuration2/io/ConfigurationLogger;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 2 1 logger Lorg/apache/commons/configuration2/io/ConfigurationLogger;
MethodParameters:
Name Flags
logger final
public org.apache.commons.configuration2.interpol.ConfigurationInterpolator getInterpolator();
descriptor: ()Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.interpolator:Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
public void setInterpolator(org.apache.commons.configuration2.interpol.ConfigurationInterpolator);
descriptor: (Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.commons.configuration2.interpol.ExprLookup.interpolator:Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;
1: aload 0
aload 1
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup.installSubstitutor:(Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 3 1 interpolator Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;
MethodParameters:
Name Flags
interpolator final
public java.lang.String lookup(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.substitutor:Lorg/apache/commons/text/StringSubstitutor;
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.substitutor:Lorg/apache/commons/text/StringSubstitutor;
aload 1
invokevirtual org.apache.commons.text.StringSubstitutor.replace:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.engine:Lorg/apache/commons/jexl2/JexlEngine;
aload 2
invokevirtual org.apache.commons.jexl2.JexlEngine.createExpression:(Ljava/lang/String;)Lorg/apache/commons/jexl2/Expression;
astore 3
start local 3 4: aload 3
aload 0
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup.createContext:()Lorg/apache/commons/jexl2/JexlContext;
invokeinterface org.apache.commons.jexl2.Expression.evaluate:(Lorg/apache/commons/jexl2/JexlContext;)Ljava/lang/Object;
astore 4
start local 4 5: aload 4
ifnull 6
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
goto 7
StackMap locals: java.lang.String org.apache.commons.jexl2.Expression java.lang.Object
StackMap stack:
6: aconst_null
StackMap locals:
StackMap stack: java.lang.String
7: astore 2
end local 4 end local 3 8: goto 13
9: StackMap locals: org.apache.commons.configuration2.interpol.ExprLookup java.lang.String java.lang.String
StackMap stack: java.lang.Exception
astore 3
start local 3 10: aload 0
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup.getLogger:()Lorg/apache/commons/configuration2/io/ConfigurationLogger;
astore 4
start local 4 11: aload 4
ifnull 13
12: aload 4
new java.lang.StringBuilder
dup
ldc "Error encountered evaluating "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.commons.configuration2.io.ConfigurationLogger.debug:(Ljava/lang/String;)V
end local 4 end local 3 13: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 14 1 var Ljava/lang/String;
3 14 2 result Ljava/lang/String;
4 8 3 exp Lorg/apache/commons/jexl2/Expression;
5 8 4 exprResult Ljava/lang/Object;
10 13 3 e Ljava/lang/Exception;
11 13 4 l Lorg/apache/commons/configuration2/io/ConfigurationLogger;
Exception table:
from to target type
3 8 9 Class java.lang.Exception
MethodParameters:
Name Flags
var final
private void installSubstitutor(org.apache.commons.configuration2.interpol.ConfigurationInterpolator);
descriptor: (Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
aconst_null
putfield org.apache.commons.configuration2.interpol.ExprLookup.substitutor:Lorg/apache/commons/text/StringSubstitutor;
2: goto 9
3: StackMap locals:
StackMap stack:
aload 1
invokedynamic lookup(Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;)Lorg/apache/commons/text/lookup/StringLookup;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/String;)Ljava/lang/String;
org/apache/commons/configuration2/interpol/ExprLookup.lambda$0(Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 0
5: new org.apache.commons.text.StringSubstitutor
dup
aload 2
aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.prefixMatcher:Ljava/lang/String;
6: aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.suffixMatcher:Ljava/lang/String;
bipush 36
7: invokespecial org.apache.commons.text.StringSubstitutor.<init>:(Lorg/apache/commons/text/lookup/StringLookup;Ljava/lang/String;Ljava/lang/String;C)V
8: putfield org.apache.commons.configuration2.interpol.ExprLookup.substitutor:Lorg/apache/commons/text/StringSubstitutor;
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 10 1 ip Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;
4 9 2 variableResolver Lorg/apache/commons/text/lookup/StringLookup;
MethodParameters:
Name Flags
ip final
private org.apache.commons.jexl2.JexlContext createContext();
descriptor: ()Lorg/apache/commons/jexl2/JexlContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: new org.apache.commons.jexl2.MapContext
dup
invokespecial org.apache.commons.jexl2.MapContext.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup.initializeContext:(Lorg/apache/commons/jexl2/JexlContext;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
1 3 1 ctx Lorg/apache/commons/jexl2/JexlContext;
private void initializeContext(org.apache.commons.jexl2.JexlContext);
descriptor: (Lorg/apache/commons/jexl2/JexlContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.configuration2.interpol.ExprLookup.variables:Lorg/apache/commons/configuration2/interpol/ExprLookup$Variables;
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup$Variables.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: org.apache.commons.configuration2.interpol.ExprLookup org.apache.commons.jexl2.JexlContext top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.configuration2.interpol.ExprLookup$Variable
astore 2
start local 2 2: aload 1
aload 2
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup$Variable.getName:()Ljava/lang/String;
aload 2
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup$Variable.getValue:()Ljava/lang/Object;
invokeinterface org.apache.commons.jexl2.JexlContext.set:(Ljava/lang/String;Ljava/lang/Object;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/configuration2/interpol/ExprLookup;
0 5 1 ctx Lorg/apache/commons/jexl2/JexlContext;
2 3 2 var Lorg/apache/commons/configuration2/interpol/ExprLookup$Variable;
MethodParameters:
Name Flags
ctx final
public java.lang.Object lookup(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.apache.commons.configuration2.interpol.ExprLookup.lookup:(Ljava/lang/String;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$0(org.apache.commons.configuration2.interpol.ConfigurationInterpolator, java.lang.String);
descriptor: (Lorg/apache/commons/configuration2/interpol/ConfigurationInterpolator;Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual org.apache.commons.configuration2.interpol.ConfigurationInterpolator.resolve:(Ljava/lang/String;)Ljava/lang/Object;
aconst_null
invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 key Ljava/lang/String;
}
SourceFile: "ExprLookup.java"
NestMembers:
org.apache.commons.configuration2.interpol.ExprLookup$Variable org.apache.commons.configuration2.interpol.ExprLookup$Variables
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Variable = org.apache.commons.configuration2.interpol.ExprLookup$Variable of org.apache.commons.configuration2.interpol.ExprLookup
public Variables = org.apache.commons.configuration2.interpol.ExprLookup$Variables of org.apache.commons.configuration2.interpol.ExprLookup