public class org.springframework.scripting.support.StandardScriptEvaluator implements org.springframework.scripting.ScriptEvaluator, org.springframework.beans.factory.BeanClassLoaderAware
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.scripting.support.StandardScriptEvaluator
  super_class: java.lang.Object
{
  private java.lang.String engineName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private volatile javax.script.Bindings globalBindings;
    descriptor: Ljavax/script/Bindings;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private volatile javax.script.ScriptEngineManager scriptEngineManager;
    descriptor: Ljavax/script/ScriptEngineManager;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            return
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/scripting/support/StandardScriptEvaluator;

  public void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            new javax.script.ScriptEngineManager
            dup
            aload 1 /* classLoader */
            invokespecial javax.script.ScriptEngineManager.<init>:(Ljava/lang/ClassLoader;)V
            putfield org.springframework.scripting.support.StandardScriptEvaluator.scriptEngineManager:Ljavax/script/ScriptEngineManager;
         2: .line 68
            return
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0    3     1  classLoader  Ljava/lang/ClassLoader;
    MethodParameters:
             Name  Flags
      classLoader  

  public void <init>(javax.script.ScriptEngineManager);
    descriptor: (Ljavax/script/ScriptEngineManager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // javax.script.ScriptEngineManager scriptEngineManager
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 77
            aload 0 /* this */
            aload 1 /* scriptEngineManager */
            putfield org.springframework.scripting.support.StandardScriptEvaluator.scriptEngineManager:Ljavax/script/ScriptEngineManager;
         2: .line 78
            return
        end local 1 // javax.script.ScriptEngineManager scriptEngineManager
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0    3     1  scriptEngineManager  Ljavax/script/ScriptEngineManager;
    MethodParameters:
                     Name  Flags
      scriptEngineManager  

  public void setLanguage(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // java.lang.String language
         0: .line 89
            aload 0 /* this */
            aload 1 /* language */
            putfield org.springframework.scripting.support.StandardScriptEvaluator.engineName:Ljava/lang/String;
         1: .line 90
            return
        end local 1 // java.lang.String language
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0    2     1  language  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      language  

  public void setEngineName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // java.lang.String engineName
         0: .line 99
            aload 0 /* this */
            aload 1 /* engineName */
            putfield org.springframework.scripting.support.StandardScriptEvaluator.engineName:Ljava/lang/String;
         1: .line 100
            return
        end local 1 // java.lang.String engineName
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0    2     1  engineName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      engineName  

  public void setGlobalBindings(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // java.util.Map globalBindings
         0: .line 111
            aload 1 /* globalBindings */
            invokestatic org.springframework.scripting.support.StandardScriptUtils.getBindings:(Ljava/util/Map;)Ljavax/script/Bindings;
            astore 2 /* bindings */
        start local 2 // javax.script.Bindings bindings
         1: .line 112
            aload 0 /* this */
            aload 2 /* bindings */
            putfield org.springframework.scripting.support.StandardScriptEvaluator.globalBindings:Ljavax/script/Bindings;
         2: .line 113
            aload 0 /* this */
            getfield org.springframework.scripting.support.StandardScriptEvaluator.scriptEngineManager:Ljavax/script/ScriptEngineManager;
            astore 3 /* scriptEngineManager */
        start local 3 // javax.script.ScriptEngineManager scriptEngineManager
         3: .line 114
            aload 3 /* scriptEngineManager */
            ifnull 5
         4: .line 115
            aload 3 /* scriptEngineManager */
            aload 2 /* bindings */
            invokevirtual javax.script.ScriptEngineManager.setBindings:(Ljavax/script/Bindings;)V
         5: .line 117
      StackMap locals: javax.script.Bindings javax.script.ScriptEngineManager
      StackMap stack:
            return
        end local 3 // javax.script.ScriptEngineManager scriptEngineManager
        end local 2 // javax.script.Bindings bindings
        end local 1 // java.util.Map globalBindings
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0    6     1       globalBindings  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1    6     2             bindings  Ljavax/script/Bindings;
            3    6     3  scriptEngineManager  Ljavax/script/ScriptEngineManager;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
                Name  Flags
      globalBindings  

  public void setBeanClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 121
            aload 0 /* this */
            getfield org.springframework.scripting.support.StandardScriptEvaluator.scriptEngineManager:Ljavax/script/ScriptEngineManager;
            astore 2 /* scriptEngineManager */
        start local 2 // javax.script.ScriptEngineManager scriptEngineManager
         1: .line 122
            aload 2 /* scriptEngineManager */
            ifnonnull 7
         2: .line 123
            new javax.script.ScriptEngineManager
            dup
            aload 1 /* classLoader */
            invokespecial javax.script.ScriptEngineManager.<init>:(Ljava/lang/ClassLoader;)V
            astore 2 /* scriptEngineManager */
         3: .line 124
            aload 0 /* this */
            aload 2 /* scriptEngineManager */
            putfield org.springframework.scripting.support.StandardScriptEvaluator.scriptEngineManager:Ljavax/script/ScriptEngineManager;
         4: .line 125
            aload 0 /* this */
            getfield org.springframework.scripting.support.StandardScriptEvaluator.globalBindings:Ljavax/script/Bindings;
            astore 3 /* bindings */
        start local 3 // javax.script.Bindings bindings
         5: .line 126
            aload 3 /* bindings */
            ifnull 7
         6: .line 127
            aload 2 /* scriptEngineManager */
            aload 3 /* bindings */
            invokevirtual javax.script.ScriptEngineManager.setBindings:(Ljavax/script/Bindings;)V
        end local 3 // javax.script.Bindings bindings
         7: .line 130
      StackMap locals: javax.script.ScriptEngineManager
      StackMap stack:
            return
        end local 2 // javax.script.ScriptEngineManager scriptEngineManager
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0    8     1          classLoader  Ljava/lang/ClassLoader;
            1    8     2  scriptEngineManager  Ljavax/script/ScriptEngineManager;
            5    7     3             bindings  Ljavax/script/Bindings;
    MethodParameters:
             Name  Flags
      classLoader  

  public java.lang.Object evaluate(org.springframework.scripting.ScriptSource);
    descriptor: (Lorg/springframework/scripting/ScriptSource;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // org.springframework.scripting.ScriptSource script
         0: .line 136
            aload 0 /* this */
            aload 1 /* script */
            aconst_null
            invokevirtual org.springframework.scripting.support.StandardScriptEvaluator.evaluate:(Lorg/springframework/scripting/ScriptSource;Ljava/util/Map;)Ljava/lang/Object;
            areturn
        end local 1 // org.springframework.scripting.ScriptSource script
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0    1     1  script  Lorg/springframework/scripting/ScriptSource;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      script  

  public  evaluate(org.springframework.scripting.ScriptSource, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Lorg/springframework/scripting/ScriptSource;Ljava/util/Map;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // org.springframework.scripting.ScriptSource script
        start local 2 // java.util.Map argumentBindings
         0: .line 142
            aload 0 /* this */
            aload 1 /* script */
            invokevirtual org.springframework.scripting.support.StandardScriptEvaluator.getScriptEngine:(Lorg/springframework/scripting/ScriptSource;)Ljavax/script/ScriptEngine;
            astore 3 /* engine */
        start local 3 // javax.script.ScriptEngine engine
         1: .line 144
            aload 2 /* argumentBindings */
            invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Map;)Z
            ifeq 4
         2: .line 145
            aload 3 /* engine */
            aload 1 /* script */
            invokeinterface org.springframework.scripting.ScriptSource.getScriptAsString:()Ljava/lang/String;
            invokeinterface javax.script.ScriptEngine.eval:(Ljava/lang/String;)Ljava/lang/Object;
         3: areturn
         4: .line 148
      StackMap locals: javax.script.ScriptEngine
      StackMap stack:
            aload 2 /* argumentBindings */
            invokestatic org.springframework.scripting.support.StandardScriptUtils.getBindings:(Ljava/util/Map;)Ljavax/script/Bindings;
            astore 4 /* bindings */
        start local 4 // javax.script.Bindings bindings
         5: .line 149
            aload 3 /* engine */
            aload 1 /* script */
            invokeinterface org.springframework.scripting.ScriptSource.getScriptAsString:()Ljava/lang/String;
            aload 4 /* bindings */
            invokeinterface javax.script.ScriptEngine.eval:(Ljava/lang/String;Ljavax/script/Bindings;)Ljava/lang/Object;
         6: areturn
        end local 4 // javax.script.Bindings bindings
         7: .line 152
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* ex */
        start local 4 // java.io.IOException ex
         8: .line 153
            new org.springframework.scripting.ScriptCompilationException
            dup
            aload 1 /* script */
            ldc "Cannot access script for ScriptEngine"
            aload 4 /* ex */
            invokespecial org.springframework.scripting.ScriptCompilationException.<init>:(Lorg/springframework/scripting/ScriptSource;Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ex
         9: .line 155
      StackMap locals:
      StackMap stack: javax.script.ScriptException
            astore 4 /* ex */
        start local 4 // javax.script.ScriptException ex
        10: .line 156
            new org.springframework.scripting.ScriptCompilationException
            dup
            aload 1 /* script */
            new org.springframework.scripting.support.StandardScriptEvalException
            dup
            aload 4 /* ex */
            invokespecial org.springframework.scripting.support.StandardScriptEvalException.<init>:(Ljavax/script/ScriptException;)V
            invokespecial org.springframework.scripting.ScriptCompilationException.<init>:(Lorg/springframework/scripting/ScriptSource;Ljava/lang/Throwable;)V
            athrow
        end local 4 // javax.script.ScriptException ex
        end local 3 // javax.script.ScriptEngine engine
        end local 2 // java.util.Map argumentBindings
        end local 1 // org.springframework.scripting.ScriptSource script
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0   11     1            script  Lorg/springframework/scripting/ScriptSource;
            0   11     2  argumentBindings  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1   11     3            engine  Ljavax/script/ScriptEngine;
            5    7     4          bindings  Ljavax/script/Bindings;
            8    9     4                ex  Ljava/io/IOException;
           10   11     4                ex  Ljavax/script/ScriptException;
      Exception table:
        from    to  target  type
           1     3       7  Class java.io.IOException
           4     6       7  Class java.io.IOException
           1     3       9  Class javax.script.ScriptException
           4     6       9  Class javax.script.ScriptException
    Signature: (Lorg/springframework/scripting/ScriptSource;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      script            
      argumentBindings  

  protected javax.script.ScriptEngine getScriptEngine(org.springframework.scripting.ScriptSource);
    descriptor: (Lorg/springframework/scripting/ScriptSource;)Ljavax/script/ScriptEngine;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
        start local 1 // org.springframework.scripting.ScriptSource script
         0: .line 166
            aload 0 /* this */
            getfield org.springframework.scripting.support.StandardScriptEvaluator.scriptEngineManager:Ljavax/script/ScriptEngineManager;
            astore 2 /* scriptEngineManager */
        start local 2 // javax.script.ScriptEngineManager scriptEngineManager
         1: .line 167
            aload 2 /* scriptEngineManager */
            ifnonnull 4
         2: .line 168
            new javax.script.ScriptEngineManager
            dup
            invokespecial javax.script.ScriptEngineManager.<init>:()V
            astore 2 /* scriptEngineManager */
         3: .line 169
            aload 0 /* this */
            aload 2 /* scriptEngineManager */
            putfield org.springframework.scripting.support.StandardScriptEvaluator.scriptEngineManager:Ljavax/script/ScriptEngineManager;
         4: .line 172
      StackMap locals: javax.script.ScriptEngineManager
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.scripting.support.StandardScriptEvaluator.engineName:Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 173
            aload 2 /* scriptEngineManager */
            aload 0 /* this */
            getfield org.springframework.scripting.support.StandardScriptEvaluator.engineName:Ljava/lang/String;
            invokestatic org.springframework.scripting.support.StandardScriptUtils.retrieveEngineByName:(Ljavax/script/ScriptEngineManager;Ljava/lang/String;)Ljavax/script/ScriptEngine;
            areturn
         6: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* script */
            instanceof org.springframework.scripting.support.ResourceScriptSource
            ifeq 17
         7: .line 176
            aload 1 /* script */
            checkcast org.springframework.scripting.support.ResourceScriptSource
            invokevirtual org.springframework.scripting.support.ResourceScriptSource.getResource:()Lorg/springframework/core/io/Resource;
            astore 3 /* resource */
        start local 3 // org.springframework.core.io.Resource resource
         8: .line 177
            aload 3 /* resource */
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.getFilenameExtension:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* extension */
        start local 4 // java.lang.String extension
         9: .line 178
            aload 4 /* extension */
            ifnonnull 13
        10: .line 179
            new java.lang.IllegalStateException
            dup
        11: .line 180
            new java.lang.StringBuilder
            dup
            ldc "No script language defined, and no file extension defined for resource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 179
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 182
      StackMap locals: org.springframework.core.io.Resource java.lang.String
      StackMap stack:
            aload 2 /* scriptEngineManager */
            aload 4 /* extension */
            invokevirtual javax.script.ScriptEngineManager.getEngineByExtension:(Ljava/lang/String;)Ljavax/script/ScriptEngine;
            astore 5 /* engine */
        start local 5 // javax.script.ScriptEngine engine
        14: .line 183
            aload 5 /* engine */
            ifnonnull 16
        15: .line 184
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No matching engine found for file extension '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* extension */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 186
      StackMap locals: javax.script.ScriptEngine
      StackMap stack:
            aload 5 /* engine */
            areturn
        end local 5 // javax.script.ScriptEngine engine
        end local 4 // java.lang.String extension
        end local 3 // org.springframework.core.io.Resource resource
        17: .line 189
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
        18: .line 190
            new java.lang.StringBuilder
            dup
            ldc "No script language defined, and no resource associated with script: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* script */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 189
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // javax.script.ScriptEngineManager scriptEngineManager
        end local 1 // org.springframework.scripting.ScriptSource script
        end local 0 // org.springframework.scripting.support.StandardScriptEvaluator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                 this  Lorg/springframework/scripting/support/StandardScriptEvaluator;
            0   20     1               script  Lorg/springframework/scripting/ScriptSource;
            1   20     2  scriptEngineManager  Ljavax/script/ScriptEngineManager;
            8   17     3             resource  Lorg/springframework/core/io/Resource;
            9   17     4            extension  Ljava/lang/String;
           14   17     5               engine  Ljavax/script/ScriptEngine;
    MethodParameters:
        Name  Flags
      script  
}
SourceFile: "StandardScriptEvaluator.java"