abstract class com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode extends com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalBaseNode
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode
  super_class: com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalBaseNode
{
  void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
         0: .line 751
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* builtin */
            invokespecial com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalBaseNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
         1: .line 752
            return
        end local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotEvalNode;
            0    2     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     2  builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
    MethodParameters:
         Name  Flags
      context  
      builtin  

  protected  evalCachedLanguage(java.lang.String, java.lang.String, java.lang.String, com.oracle.truffle.js.runtime.util.Pair<java.lang.String, java.lang.String>, com.oracle.truffle.api.nodes.IndirectCallNode);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/js/runtime/util/Pair;Lcom/oracle/truffle/api/nodes/IndirectCallNode;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
        start local 1 // java.lang.String language
        start local 2 // java.lang.String source
        start local 3 // java.lang.String cachedLanguage
        start local 4 // com.oracle.truffle.js.runtime.util.Pair languagePair
        start local 5 // com.oracle.truffle.api.nodes.IndirectCallNode callNode
         0: .line 761
            aload 5 /* callNode */
            aload 0 /* this */
            aload 2 /* source */
            aload 4 /* languagePair */
            invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 4 /* languagePair */
            invokevirtual com.oracle.truffle.js.runtime.util.Pair.getSecond:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode.evalStringIntl:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.truffle.api.nodes.IndirectCallNode.call:(Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 5 // com.oracle.truffle.api.nodes.IndirectCallNode callNode
        end local 4 // com.oracle.truffle.js.runtime.util.Pair languagePair
        end local 3 // java.lang.String cachedLanguage
        end local 2 // java.lang.String source
        end local 1 // java.lang.String language
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotEvalNode;
            0    1     1        language  Ljava/lang/String;
            0    1     2          source  Ljava/lang/String;
            0    1     3  cachedLanguage  Ljava/lang/String;
            0    1     4    languagePair  Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/String;Ljava/lang/String;>;
            0    1     5        callNode  Lcom/oracle/truffle/api/nodes/IndirectCallNode;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/String;Ljava/lang/String;>;Lcom/oracle/truffle/api/nodes/IndirectCallNode;)Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"language.equals(cachedLanguage)"}, limit = "1")
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.Cached(value = "language")
      3:
        com.oracle.truffle.api.dsl.Cached(value = "getLanguageIdAndMimeType(language)")
      4:
        com.oracle.truffle.api.dsl.Cached()
        com.oracle.truffle.api.dsl.Cached$Shared(value = "callNode")
    MethodParameters:
                Name  Flags
      language        
      source          
      cachedLanguage  
      languagePair    
      callNode        

  protected java.lang.Object evalString(java.lang.String, java.lang.String, com.oracle.truffle.api.nodes.IndirectCallNode);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/api/nodes/IndirectCallNode;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
        start local 1 // java.lang.String language
        start local 2 // java.lang.String source
        start local 3 // com.oracle.truffle.api.nodes.IndirectCallNode callNode
         0: .line 768
            aload 0 /* this */
            aload 1 /* language */
            invokevirtual com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode.getLanguageIdAndMimeType:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/util/Pair;
            astore 4 /* pair */
        start local 4 // com.oracle.truffle.js.runtime.util.Pair pair
         1: .line 769
            aload 3 /* callNode */
            aload 0 /* this */
            aload 2 /* source */
            aload 4 /* pair */
            invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 4 /* pair */
            invokevirtual com.oracle.truffle.js.runtime.util.Pair.getSecond:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode.evalStringIntl:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.truffle.api.nodes.IndirectCallNode.call:(Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // com.oracle.truffle.js.runtime.util.Pair pair
        end local 3 // com.oracle.truffle.api.nodes.IndirectCallNode callNode
        end local 2 // java.lang.String source
        end local 1 // java.lang.String language
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotEvalNode;
            0    2     1  language  Ljava/lang/String;
            0    2     2    source  Ljava/lang/String;
            0    2     3  callNode  Lcom/oracle/truffle/api/nodes/IndirectCallNode;
            1    2     4      pair  Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/String;Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(replaces = {"evalCachedLanguage"})
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.Cached()
        com.oracle.truffle.api.dsl.Cached$Shared(value = "callNode")
    MethodParameters:
          Name  Flags
      language  
      source    
      callNode  

  private com.oracle.truffle.api.CallTarget evalStringIntl(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
        start local 1 // java.lang.String sourceText
        start local 2 // java.lang.String languageId
        start local 3 // java.lang.String mimeType
         0: .line 773
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 774
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.checkEvalAllowed:()V
         2: .line 775
            aload 2 /* languageId */
            aload 1 /* sourceText */
            ldc "<eval>"
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            aload 3 /* mimeType */
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.mimeType:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            astore 4 /* source */
        start local 4 // com.oracle.truffle.api.source.Source source
         3: .line 777
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            astore 5 /* env */
        start local 5 // com.oracle.truffle.api.TruffleLanguage$Env env
         4: .line 779
            aload 5 /* env */
            aload 4 /* source */
            iconst_0
            anewarray java.lang.String
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parsePublic:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
         5: areturn
         6: .line 780
      StackMap locals: com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode java.lang.String java.lang.String java.lang.String com.oracle.truffle.api.source.Source com.oracle.truffle.api.TruffleLanguage$Env
      StackMap stack: java.lang.IllegalStateException
            astore 6 /* ex */
        start local 6 // java.lang.IllegalStateException ex
         7: .line 781
            aload 6 /* ex */
            invokestatic com.oracle.truffle.js.runtime.Errors.createErrorFromException:(Ljava/lang/Throwable;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 6 // java.lang.IllegalStateException ex
        end local 5 // com.oracle.truffle.api.TruffleLanguage$Env env
        end local 4 // com.oracle.truffle.api.source.Source source
        end local 3 // java.lang.String mimeType
        end local 2 // java.lang.String languageId
        end local 1 // java.lang.String sourceText
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotEvalNode;
            0    8     1  sourceText  Ljava/lang/String;
            0    8     2  languageId  Ljava/lang/String;
            0    8     3    mimeType  Ljava/lang/String;
            3    8     4      source  Lcom/oracle/truffle/api/source/Source;
            4    8     5         env  Lcom/oracle/truffle/api/TruffleLanguage$Env;
            7    8     6          ex  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.IllegalStateException
    MethodParameters:
            Name  Flags
      sourceText  
      languageId  
      mimeType    

  protected java.lang.Object eval(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
        start local 1 // java.lang.Object languageId
        start local 2 // java.lang.Object source
         0: .line 788
            ldc "Expected arguments: (String languageId, String sourceCode)"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 2 // java.lang.Object source
        end local 1 // java.lang.Object languageId
        end local 0 // com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/builtins/PolyglotBuiltins$PolyglotEvalNode;
            0    1     1  languageId  Ljava/lang/Object;
            0    1     2      source  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!isString(languageId) || !isString(source)"})
    MethodParameters:
            Name  Flags
      languageId  
      source      
}
SourceFile: "PolyglotBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.PolyglotBuiltins
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
  public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
  abstract PolyglotEvalBaseNode = com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalBaseNode of com.oracle.truffle.js.builtins.PolyglotBuiltins
  abstract PolyglotEvalNode = com.oracle.truffle.js.builtins.PolyglotBuiltins$PolyglotEvalNode of com.oracle.truffle.js.builtins.PolyglotBuiltins