public class org.apache.commons.configuration.interpol.ExprLookup extends org.apache.commons.lang.text.StrLookup
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.configuration.interpol.ExprLookup
  super_class: org.apache.commons.lang.text.StrLookup
{
  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.configuration.AbstractConfiguration configuration;
    descriptor: Lorg/apache/commons/configuration/AbstractConfiguration;
    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.configuration.interpol.ExprLookup$Variables variables;
    descriptor: Lorg/apache/commons/configuration/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 // org.apache.commons.configuration.interpol.ExprLookup this
         0: .line 97
            aload 0 /* this */
            invokespecial org.apache.commons.lang.text.StrLookup.<init>:()V
         1: .line 82
            aload 0 /* this */
            new org.apache.commons.jexl2.JexlEngine
            dup
            invokespecial org.apache.commons.jexl2.JexlEngine.<init>:()V
            putfield org.apache.commons.configuration.interpol.ExprLookup.engine:Lorg/apache/commons/jexl2/JexlEngine;
         2: .line 88
            aload 0 /* this */
            ldc "$["
            putfield org.apache.commons.configuration.interpol.ExprLookup.prefixMatcher:Ljava/lang/String;
         3: .line 91
            aload 0 /* this */
            ldc "]"
            putfield org.apache.commons.configuration.interpol.ExprLookup.suffixMatcher:Ljava/lang/String;
         4: .line 99
            return
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/configuration/interpol/ExprLookup;

  public void <init>(org.apache.commons.configuration.interpol.ExprLookup$Variables);
    descriptor: (Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.interpol.ExprLookup this
        start local 1 // org.apache.commons.configuration.interpol.ExprLookup$Variables list
         0: .line 105
            aload 0 /* this */
            invokespecial org.apache.commons.lang.text.StrLookup.<init>:()V
         1: .line 82
            aload 0 /* this */
            new org.apache.commons.jexl2.JexlEngine
            dup
            invokespecial org.apache.commons.jexl2.JexlEngine.<init>:()V
            putfield org.apache.commons.configuration.interpol.ExprLookup.engine:Lorg/apache/commons/jexl2/JexlEngine;
         2: .line 88
            aload 0 /* this */
            ldc "$["
            putfield org.apache.commons.configuration.interpol.ExprLookup.prefixMatcher:Ljava/lang/String;
         3: .line 91
            aload 0 /* this */
            ldc "]"
            putfield org.apache.commons.configuration.interpol.ExprLookup.suffixMatcher:Ljava/lang/String;
         4: .line 107
            aload 0 /* this */
            aload 1 /* list */
            invokevirtual org.apache.commons.configuration.interpol.ExprLookup.setVariables:(Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;)V
         5: .line 108
            return
        end local 1 // org.apache.commons.configuration.interpol.ExprLookup$Variables list
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/commons/configuration/interpol/ExprLookup;
            0    6     1  list  Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;
    MethodParameters:
      Name  Flags
      list  

  public void <init>(org.apache.commons.configuration.interpol.ExprLookup$Variables, java.lang.String, java.lang.String);
    descriptor: (Lorg/apache/commons/configuration/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 // org.apache.commons.configuration.interpol.ExprLookup this
        start local 1 // org.apache.commons.configuration.interpol.ExprLookup$Variables list
        start local 2 // java.lang.String prefix
        start local 3 // java.lang.String suffix
         0: .line 118
            aload 0 /* this */
            aload 1 /* list */
            invokespecial org.apache.commons.configuration.interpol.ExprLookup.<init>:(Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;)V
         1: .line 119
            aload 0 /* this */
            aload 2 /* prefix */
            invokevirtual org.apache.commons.configuration.interpol.ExprLookup.setVariablePrefixMatcher:(Ljava/lang/String;)V
         2: .line 120
            aload 0 /* this */
            aload 3 /* suffix */
            invokevirtual org.apache.commons.configuration.interpol.ExprLookup.setVariableSuffixMatcher:(Ljava/lang/String;)V
         3: .line 121
            return
        end local 3 // java.lang.String suffix
        end local 2 // java.lang.String prefix
        end local 1 // org.apache.commons.configuration.interpol.ExprLookup$Variables list
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/commons/configuration/interpol/ExprLookup;
            0    4     1    list  Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;
            0    4     2  prefix  Ljava/lang/String;
            0    4     3  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      list    
      prefix  
      suffix  

  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 // org.apache.commons.configuration.interpol.ExprLookup this
        start local 1 // java.lang.String prefix
         0: .line 130
            aload 0 /* this */
            aload 1 /* prefix */
            putfield org.apache.commons.configuration.interpol.ExprLookup.prefixMatcher:Ljava/lang/String;
         1: .line 131
            return
        end local 1 // java.lang.String prefix
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration/interpol/ExprLookup;
            0    2     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  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 // org.apache.commons.configuration.interpol.ExprLookup this
        start local 1 // java.lang.String suffix
         0: .line 141
            aload 0 /* this */
            aload 1 /* suffix */
            putfield org.apache.commons.configuration.interpol.ExprLookup.suffixMatcher:Ljava/lang/String;
         1: .line 142
            return
        end local 1 // java.lang.String suffix
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration/interpol/ExprLookup;
            0    2     1  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  

  public void setVariables(org.apache.commons.configuration.interpol.ExprLookup$Variables);
    descriptor: (Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.interpol.ExprLookup this
        start local 1 // org.apache.commons.configuration.interpol.ExprLookup$Variables list
         0: .line 150
            aload 0 /* this */
            new org.apache.commons.configuration.interpol.ExprLookup$Variables
            dup
            aload 1 /* list */
            invokespecial org.apache.commons.configuration.interpol.ExprLookup$Variables.<init>:(Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;)V
            putfield org.apache.commons.configuration.interpol.ExprLookup.variables:Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;
         1: .line 151
            return
        end local 1 // org.apache.commons.configuration.interpol.ExprLookup$Variables list
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/configuration/interpol/ExprLookup;
            0    2     1  list  Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;
    MethodParameters:
      Name  Flags
      list  

  public org.apache.commons.configuration.interpol.ExprLookup$Variables getVariables();
    descriptor: ()Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.interpol.ExprLookup this
         0: .line 159
            aconst_null
            areturn
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/configuration/interpol/ExprLookup;

  public void setConfiguration(org.apache.commons.configuration.AbstractConfiguration);
    descriptor: (Lorg/apache/commons/configuration/AbstractConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration.interpol.ExprLookup this
        start local 1 // org.apache.commons.configuration.AbstractConfiguration config
         0: .line 168
            aload 0 /* this */
            aload 1 /* config */
            putfield org.apache.commons.configuration.interpol.ExprLookup.configuration:Lorg/apache/commons/configuration/AbstractConfiguration;
         1: .line 169
            return
        end local 1 // org.apache.commons.configuration.AbstractConfiguration config
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/configuration/interpol/ExprLookup;
            0    2     1  config  Lorg/apache/commons/configuration/AbstractConfiguration;
    MethodParameters:
        Name  Flags
      config  

  public java.lang.String lookup(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.apache.commons.configuration.interpol.ExprLookup this
        start local 1 // java.lang.String var
         0: .line 179
            aload 0 /* this */
            getfield org.apache.commons.configuration.interpol.ExprLookup.configuration:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.getInterpolator:()Lorg/apache/commons/configuration/interpol/ConfigurationInterpolator;
            astore 2 /* interp */
        start local 2 // org.apache.commons.configuration.interpol.ConfigurationInterpolator interp
         1: .line 180
            new org.apache.commons.lang.text.StrSubstitutor
            dup
            aload 2 /* interp */
            aload 0 /* this */
            getfield org.apache.commons.configuration.interpol.ExprLookup.prefixMatcher:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.commons.configuration.interpol.ExprLookup.suffixMatcher:Ljava/lang/String;
         2: .line 181
            bipush 36
         3: .line 180
            invokespecial org.apache.commons.lang.text.StrSubstitutor.<init>:(Lorg/apache/commons/lang/text/StrLookup;Ljava/lang/String;Ljava/lang/String;C)V
            astore 3 /* subst */
        start local 3 // org.apache.commons.lang.text.StrSubstitutor subst
         4: .line 183
            aload 3 /* subst */
            aload 1 /* var */
            invokevirtual org.apache.commons.lang.text.StrSubstitutor.replace:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* result */
        start local 4 // java.lang.String result
         5: .line 187
            aload 0 /* this */
            getfield org.apache.commons.configuration.interpol.ExprLookup.engine:Lorg/apache/commons/jexl2/JexlEngine;
            aload 4 /* result */
            invokevirtual org.apache.commons.jexl2.JexlEngine.createExpression:(Ljava/lang/String;)Lorg/apache/commons/jexl2/Expression;
            astore 5 /* exp */
        start local 5 // org.apache.commons.jexl2.Expression exp
         6: .line 188
            aload 5 /* exp */
            aload 0 /* this */
            invokevirtual org.apache.commons.configuration.interpol.ExprLookup.createContext:()Lorg/apache/commons/jexl2/JexlContext;
            invokeinterface org.apache.commons.jexl2.Expression.evaluate:(Lorg/apache/commons/jexl2/JexlContext;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* result */
        end local 5 // org.apache.commons.jexl2.Expression exp
         7: .line 189
            goto 10
         8: .line 190
      StackMap locals: org.apache.commons.configuration.interpol.ExprLookup java.lang.String org.apache.commons.configuration.interpol.ConfigurationInterpolator org.apache.commons.lang.text.StrSubstitutor java.lang.String
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         9: .line 192
            aload 0 /* this */
            getfield org.apache.commons.configuration.interpol.ExprLookup.configuration:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.getLogger:()Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Error encountered evaluating "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Exception e
        10: .line 195
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // java.lang.String result
        end local 3 // org.apache.commons.lang.text.StrSubstitutor subst
        end local 2 // org.apache.commons.configuration.interpol.ConfigurationInterpolator interp
        end local 1 // java.lang.String var
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/apache/commons/configuration/interpol/ExprLookup;
            0   11     1     var  Ljava/lang/String;
            1   11     2  interp  Lorg/apache/commons/configuration/interpol/ConfigurationInterpolator;
            4   11     3   subst  Lorg/apache/commons/lang/text/StrSubstitutor;
            5   11     4  result  Ljava/lang/String;
            6    7     5     exp  Lorg/apache/commons/jexl2/Expression;
            9   10     5       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      var   

  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 // org.apache.commons.configuration.interpol.ExprLookup this
         0: .line 206
            new org.apache.commons.jexl2.MapContext
            dup
            invokespecial org.apache.commons.jexl2.MapContext.<init>:()V
            astore 1 /* ctx */
        start local 1 // org.apache.commons.jexl2.JexlContext ctx
         1: .line 207
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual org.apache.commons.configuration.interpol.ExprLookup.initializeContext:(Lorg/apache/commons/jexl2/JexlContext;)V
         2: .line 208
            aload 1 /* ctx */
            areturn
        end local 1 // org.apache.commons.jexl2.JexlContext ctx
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/configuration/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 // org.apache.commons.configuration.interpol.ExprLookup this
        start local 1 // org.apache.commons.jexl2.JexlContext ctx
         0: .line 219
            aload 0 /* this */
            getfield org.apache.commons.configuration.interpol.ExprLookup.variables:Lorg/apache/commons/configuration/interpol/ExprLookup$Variables;
            invokevirtual org.apache.commons.configuration.interpol.ExprLookup$Variables.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.commons.configuration.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.configuration.interpol.ExprLookup$Variable
            astore 2 /* var */
        start local 2 // org.apache.commons.configuration.interpol.ExprLookup$Variable var
         2: .line 221
            aload 1 /* ctx */
            aload 2 /* var */
            invokevirtual org.apache.commons.configuration.interpol.ExprLookup$Variable.getName:()Ljava/lang/String;
            aload 2 /* var */
            invokevirtual org.apache.commons.configuration.interpol.ExprLookup$Variable.getValue:()Ljava/lang/Object;
            invokeinterface org.apache.commons.jexl2.JexlContext.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 2 // org.apache.commons.configuration.interpol.ExprLookup$Variable var
         3: .line 219
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 223
            return
        end local 1 // org.apache.commons.jexl2.JexlContext ctx
        end local 0 // org.apache.commons.configuration.interpol.ExprLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/configuration/interpol/ExprLookup;
            0    5     1   ctx  Lorg/apache/commons/jexl2/JexlContext;
            2    3     2   var  Lorg/apache/commons/configuration/interpol/ExprLookup$Variable;
    MethodParameters:
      Name  Flags
      ctx   
}
SourceFile: "ExprLookup.java"
NestMembers:
  org.apache.commons.configuration.interpol.ExprLookup$Variable  org.apache.commons.configuration.interpol.ExprLookup$Variables
InnerClasses:
  public Variable = org.apache.commons.configuration.interpol.ExprLookup$Variable of org.apache.commons.configuration.interpol.ExprLookup
  public Variables = org.apache.commons.configuration.interpol.ExprLookup$Variables of org.apache.commons.configuration.interpol.ExprLookup