public abstract class com.oracle.truffle.api.impl.Accessor$EngineSupport extends com.oracle.truffle.api.impl.Accessor$Support
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.api.impl.Accessor$EngineSupport
  super_class: com.oracle.truffle.api.impl.Accessor$Support
{
  static final java.lang.String IMPL_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "com.oracle.truffle.polyglot.EngineAccessor$EngineImpl"

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
         0: .line 236
            aload 0 /* this */
            ldc "com.oracle.truffle.polyglot.EngineAccessor$EngineImpl"
            invokespecial com.oracle.truffle.api.impl.Accessor$Support.<init>:(Ljava/lang/String;)V
         1: .line 237
            return
        end local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;

  public abstract <T> java.lang.Iterable<T> loadServices(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
      Name  Flags
      type  

  public abstract java.lang.Object getInstrumentationHandler(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotObject  

  public abstract void exportSymbol(java.lang.Object, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      symbolName               
      value                    

  public abstract java.util.Map<java.lang.String, ? extends java.lang.Object> getExportedSymbols();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Ljava/lang/String;+Ljava/lang/Object;>;

  public abstract java.lang.Object getPolyglotBindingsObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Object importSymbol(java.lang.Object, com.oracle.truffle.api.TruffleLanguage$Env, java.lang.String);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      env                      
      symbolName               

  public abstract boolean isMimeTypeSupported(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      mimeType                 

  public abstract boolean isEvalRoot(com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      target  

  public abstract boolean isMultiThreaded(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      guestObject  

  public final void attachOutputConsumer(com.oracle.truffle.api.impl.DispatchOutputStream, java.io.OutputStream);
    descriptor: (Lcom/oracle/truffle/api/impl/DispatchOutputStream;Ljava/io/OutputStream;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
        start local 1 // com.oracle.truffle.api.impl.DispatchOutputStream dos
        start local 2 // java.io.OutputStream out
         0: .line 259
            aload 1 /* dos */
            aload 2 /* out */
            invokevirtual com.oracle.truffle.api.impl.DispatchOutputStream.attach:(Ljava/io/OutputStream;)V
         1: .line 260
            return
        end local 2 // java.io.OutputStream out
        end local 1 // com.oracle.truffle.api.impl.DispatchOutputStream dos
        end local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
            0    2     1   dos  Lcom/oracle/truffle/api/impl/DispatchOutputStream;
            0    2     2   out  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      dos   
      out   

  public final void detachOutputConsumer(com.oracle.truffle.api.impl.DispatchOutputStream, java.io.OutputStream);
    descriptor: (Lcom/oracle/truffle/api/impl/DispatchOutputStream;Ljava/io/OutputStream;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
        start local 1 // com.oracle.truffle.api.impl.DispatchOutputStream dos
        start local 2 // java.io.OutputStream out
         0: .line 264
            aload 1 /* dos */
            aload 2 /* out */
            invokevirtual com.oracle.truffle.api.impl.DispatchOutputStream.detach:(Ljava/io/OutputStream;)V
         1: .line 265
            return
        end local 2 // java.io.OutputStream out
        end local 1 // com.oracle.truffle.api.impl.DispatchOutputStream dos
        end local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
            0    2     1   dos  Lcom/oracle/truffle/api/impl/DispatchOutputStream;
            0    2     2   out  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      dos   
      out   

  public abstract java.lang.Object getCurrentPolyglotEngine();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.api.CallTarget parseForLanguage(java.lang.Object, com.oracle.truffle.api.source.Source, java.lang.String[], boolean);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;Z)Lcom/oracle/truffle/api/CallTarget;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                       Name  Flags
      sourceLanguageContext  
      source                 
      argumentNames          
      allowInternal          

  public abstract com.oracle.truffle.api.TruffleLanguage$Env getEnvForInstrument(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleLanguage$Env;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      languageId  
      mimeType    

  public abstract com.oracle.truffle.api.TruffleLanguage$Env getEnvForInstrument(com.oracle.truffle.api.nodes.LanguageInfo);
    descriptor: (Lcom/oracle/truffle/api/nodes/LanguageInfo;)Lcom/oracle/truffle/api/TruffleLanguage$Env;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      language  

  public abstract com.oracle.truffle.api.TruffleLanguage$Env getLegacyLanguageEnv(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Lcom/oracle/truffle/api/TruffleLanguage$Env;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      obj          
      nullForHost  

  public abstract boolean hasCurrentContext();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.api.TruffleLanguage$ContextReference<java.lang.Object> getCurrentContextReference();
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Ljava/lang/Object;>;
    MethodParameters:
                  Name  Flags
      polyglotLanguage  

  public abstract boolean isDisposed(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public abstract java.util.Map<java.lang.String, com.oracle.truffle.api.nodes.LanguageInfo> getInternalLanguages();
    descriptor: (Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;
    MethodParameters:
                Name  Flags
      polyglotObject  

  public abstract java.util.Map<java.lang.String, com.oracle.truffle.api.nodes.LanguageInfo> getPublicLanguages();
    descriptor: (Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/LanguageInfo;>;
    MethodParameters:
                Name  Flags
      polyglotObject  

  public abstract java.util.Map<java.lang.String, com.oracle.truffle.api.InstrumentInfo> getInstruments();
    descriptor: (Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/InstrumentInfo;>;
    MethodParameters:
                Name  Flags
      polyglotObject  

  public abstract org.graalvm.polyglot.SourceSection createSourceSection(java.lang.Object, org.graalvm.polyglot.Source, com.oracle.truffle.api.source.SourceSection);
    descriptor: (Ljava/lang/Object;Lorg/graalvm/polyglot/Source;Lcom/oracle/truffle/api/source/SourceSection;)Lorg/graalvm/polyglot/SourceSection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotObject  
      source          
      sectionImpl     

  public abstract <T> T lookup(com.oracle.truffle.api.InstrumentInfo, java.lang.Class<T>);
    descriptor: (Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
              Name  Flags
      info          
      serviceClass  

  public abstract <S> S lookup(com.oracle.truffle.api.nodes.LanguageInfo, java.lang.Class<S>);
    descriptor: (Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <S:Ljava/lang/Object;>(Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Class<TS;>;)TS;
    MethodParameters:
          Name  Flags
      language  
      type      

  public abstract <T extends com.oracle.truffle.api.TruffleLanguage<?>> T getCurrentLanguage(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Lcom/oracle/truffle/api/TruffleLanguage<*>;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
               Name  Flags
      languageClass  

  public abstract <C, T extends com.oracle.truffle.api.TruffleLanguage<C>> C getCurrentContext(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <C:Ljava/lang/Object;T:Lcom/oracle/truffle/api/TruffleLanguage<TC;>;>(Ljava/lang/Class<TT;>;)TC;
    MethodParameters:
               Name  Flags
      languageClass  

  public abstract com.oracle.truffle.api.TruffleContext getTruffleContext(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public abstract com.oracle.truffle.api.TruffleContext getCurrentCreatorTruffleContext();
    descriptor: ()Lcom/oracle/truffle/api/TruffleContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Object toGuestValue(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      obj              
      languageContext  

  public abstract java.lang.Object getPolyglotEngine(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                          Name  Flags
      polyglotLanguageInstance  

  public abstract java.lang.Object lookupHostSymbol(java.lang.Object, com.oracle.truffle.api.TruffleLanguage$Env, java.lang.String);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      env                      
      symbolName               

  public abstract  asHostSymbol(, java.lang.Class<?>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      symbolClass              

  public abstract boolean isHostAccessAllowed(java.lang.Object, com.oracle.truffle.api.TruffleLanguage$Env);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      env                      

  public abstract boolean isNativeAccessAllowed(java.lang.Object, com.oracle.truffle.api.TruffleLanguage$Env);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      env                      

  public abstract boolean inContextPreInitialization(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotObject  

  public abstract com.oracle.truffle.api.TruffleContext createInternalContext(, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/util/Map;)Lcom/oracle/truffle/api/TruffleContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lcom/oracle/truffle/api/TruffleContext;
    MethodParameters:
                               Name  Flags
      sourcePolyglotLanguageContext  
      config                         

  public abstract java.lang.Object enterInternalContext(com.oracle.truffle.api.nodes.Node, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      node             
      polyglotContext  

  public abstract void leaveInternalContext(com.oracle.truffle.api.nodes.Node, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      node             
      polyglotContext  
      prev             

  public abstract void closeContext(java.lang.Object, boolean, com.oracle.truffle.api.nodes.Node, boolean, java.lang.String);
    descriptor: (Ljava/lang/Object;ZLcom/oracle/truffle/api/nodes/Node;ZLjava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                        Name  Flags
      polyglotContext         
      force                   
      closeLocation           
      resourceExhaused        
      resourceExhausedReason  

  public abstract boolean isContextEntered(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      polyglotContext  

  public abstract boolean isContextActive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      polyglotContext  

  public abstract void reportAllLanguageContexts(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                  Name  Flags
      polyglotEngine    
      contextsListener  

  public abstract void reportAllContextThreads(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      polyglotEngine   
      threadsListener  

  public abstract com.oracle.truffle.api.TruffleContext getParentContext(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      polyglotContext  

  public abstract boolean isCreateThreadAllowed(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public final java.lang.Thread createThread(java.lang.Object, java.lang.Runnable, java.lang.Object, java.lang.ThreadGroup);
    descriptor: (Ljava/lang/Object;Ljava/lang/Runnable;Ljava/lang/Object;Ljava/lang/ThreadGroup;)Ljava/lang/Thread;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
        start local 1 // java.lang.Object polyglotLanguageContext
        start local 2 // java.lang.Runnable runnable
        start local 3 // java.lang.Object innerContextImpl
        start local 4 // java.lang.ThreadGroup group
         0: .line 338
            aload 0 /* this */
            aload 1 /* polyglotLanguageContext */
            aload 2 /* runnable */
            aload 3 /* innerContextImpl */
            aload 4 /* group */
            lconst_0
            invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.createThread:(Ljava/lang/Object;Ljava/lang/Runnable;Ljava/lang/Object;Ljava/lang/ThreadGroup;J)Ljava/lang/Thread;
            areturn
        end local 4 // java.lang.ThreadGroup group
        end local 3 // java.lang.Object innerContextImpl
        end local 2 // java.lang.Runnable runnable
        end local 1 // java.lang.Object polyglotLanguageContext
        end local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
            0    1     1  polyglotLanguageContext  Ljava/lang/Object;
            0    1     2                 runnable  Ljava/lang/Runnable;
            0    1     3         innerContextImpl  Ljava/lang/Object;
            0    1     4                    group  Ljava/lang/ThreadGroup;
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      runnable                 
      innerContextImpl         
      group                    

  public final java.lang.Thread createThread(java.lang.Object, java.lang.Runnable, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/lang/Thread;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
        start local 1 // java.lang.Object polyglotLanguageContext
        start local 2 // java.lang.Runnable runnable
        start local 3 // java.lang.Object innerContextImpl
         0: .line 342
            aload 0 /* this */
            aload 1 /* polyglotLanguageContext */
            aload 2 /* runnable */
            aload 3 /* innerContextImpl */
            aconst_null
            lconst_0
            invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.createThread:(Ljava/lang/Object;Ljava/lang/Runnable;Ljava/lang/Object;Ljava/lang/ThreadGroup;J)Ljava/lang/Thread;
            areturn
        end local 3 // java.lang.Object innerContextImpl
        end local 2 // java.lang.Runnable runnable
        end local 1 // java.lang.Object polyglotLanguageContext
        end local 0 // com.oracle.truffle.api.impl.Accessor$EngineSupport this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
            0    1     1  polyglotLanguageContext  Ljava/lang/Object;
            0    1     2                 runnable  Ljava/lang/Runnable;
            0    1     3         innerContextImpl  Ljava/lang/Object;
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      runnable                 
      innerContextImpl         

  public abstract java.lang.Thread createThread(java.lang.Object, java.lang.Runnable, java.lang.Object, java.lang.ThreadGroup, long);
    descriptor: (Ljava/lang/Object;Ljava/lang/Runnable;Ljava/lang/Object;Ljava/lang/ThreadGroup;J)Ljava/lang/Thread;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      runnable                 
      innerContextImpl         
      group                    
      stackSize                

  public abstract java.lang.Iterable<com.oracle.truffle.api.Scope> createDefaultLexicalScope(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame, java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>>);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Class;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
    MethodParameters:
          Name  Flags
      node      
      frame     
      language  

  public abstract java.lang.Iterable<com.oracle.truffle.api.Scope> createDefaultTopScope();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
    MethodParameters:
        Name  Flags
      global  

  public abstract  getDefaultVariables(com.oracle.truffle.api.nodes.RootNode, com.oracle.truffle.api.frame.Frame, java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>>);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;)Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      root      
      frame     
      language  

  public abstract  getDefaultArguments([], java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>>);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ([Ljava/lang/Object;Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;)Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      frameArguments  
      language        

  public abstract java.lang.RuntimeException wrapHostException(com.oracle.truffle.api.nodes.Node, java.lang.Object, java.lang.Throwable);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      callNode         
      languageContext  
      exception        

  public abstract boolean isHostException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      exception  

  public abstract java.lang.Throwable asHostException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      exception  

  public abstract java.lang.Object getCurrentHostContext();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.graalvm.polyglot.PolyglotException wrapGuestException(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      languageId  
      exception   

  public abstract <T> T getOrCreateRuntimeData();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)TT;
    MethodParameters:
                Name  Flags
      polyglotEngine  

  public abstract java.util.Set<? extends java.lang.Class<?>> getProvidedTags(com.oracle.truffle.api.nodes.LanguageInfo);
    descriptor: (Lcom/oracle/truffle/api/nodes/LanguageInfo;)Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/oracle/truffle/api/nodes/LanguageInfo;)Ljava/util/Set<+Ljava/lang/Class<*>;>;
    MethodParameters:
          Name  Flags
      language  

  public abstract java.lang.Object getPolyglotBindingsForLanguage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public abstract java.lang.Object findMetaObjectForLanguage(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      value                    

  public abstract boolean isInternal(org.graalvm.polyglot.io.FileSystem);
    descriptor: (Lorg/graalvm/polyglot/io/FileSystem;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      fs    

  public abstract boolean hasAllAccess(org.graalvm.polyglot.io.FileSystem);
    descriptor: (Lorg/graalvm/polyglot/io/FileSystem;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      fs    

  public abstract java.lang.String getLanguageHome(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      engineObject  

  public abstract void addToHostClassPath(java.lang.Object, com.oracle.truffle.api.TruffleFile);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleFile;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      entries                  

  public abstract boolean isInstrumentExceptionsAreThrown(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotEngine  

  public abstract java.lang.Object asBoxedGuestValue(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      guestObject              
      polyglotLanguageContext  

  public abstract java.lang.Object createDefaultLoggerCache();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.logging.Handler getLogHandler(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/util/logging/Handler;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      loggerCache  

  public abstract java.util.Map<java.lang.String, java.util.logging.Level> getLogLevels();
    descriptor: (Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/String;Ljava/util/logging/Level;>;
    MethodParameters:
             Name  Flags
      loggerCache  

  public abstract java.lang.Object getLoggerOwner(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      loggerCache  

  public abstract com.oracle.truffle.api.TruffleLogger getLogger(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleLogger;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      polyglotInstrument  
      name                

  public abstract java.util.logging.LogRecord createLogRecord(java.lang.Object, java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Object[], java.lang.Throwable);
    descriptor: (Ljava/lang/Object;Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/util/logging/LogRecord;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      loggerCache  
      level        
      loggerName   
      message      
      className    
      methodName   
      parameters   
      thrown       

  public abstract java.lang.Object getCurrentOuterContext();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isCharacterBasedSource(java.lang.Object, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      fsEngineObject  
      language        
      mimeType        

  public abstract java.util.Set<java.lang.String> getValidMimeTypes(, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      engineObject  
      language      

  public abstract java.lang.Object asHostObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      value  

  public abstract boolean isHostObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      value  

  public abstract boolean isHostFunction(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      value  

  public abstract boolean isHostSymbol(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      guestObject  

  public abstract <S> S lookupService(, com.oracle.truffle.api.nodes.LanguageInfo, com.oracle.truffle.api.nodes.LanguageInfo, java.lang.Class<S>);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/LanguageInfo;Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <S:Ljava/lang/Object;>(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/LanguageInfo;Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Class<TS;>;)TS;
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      language                 
      accessingLanguage        
      type                     

  public abstract  convertPrimitive(, java.lang.Class<?>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      value          
      requestedType  

  public abstract <T extends com.oracle.truffle.api.TruffleLanguage<?>> com.oracle.truffle.api.TruffleLanguage$LanguageReference<T> lookupLanguageReference(, com.oracle.truffle.api.TruffleLanguage<?>, java.lang.Class<T>);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Lcom/oracle/truffle/api/TruffleLanguage<*>;>(Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage<*>;Ljava/lang/Class<TT;>;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<TT;>;
    MethodParameters:
                     Name  Flags
      polyglotEngine       
      sourceLanguage       
      targetLanguageClass  

  public abstract <T extends com.oracle.truffle.api.TruffleLanguage<?>> com.oracle.truffle.api.TruffleLanguage$LanguageReference<T> getDirectLanguageReference(, com.oracle.truffle.api.TruffleLanguage<?>, java.lang.Class<T>);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Lcom/oracle/truffle/api/TruffleLanguage<*>;>(Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage<*>;Ljava/lang/Class<TT;>;)Lcom/oracle/truffle/api/TruffleLanguage$LanguageReference<TT;>;
    MethodParameters:
                     Name  Flags
      polyglotEngine       
      sourceLanguage       
      targetLanguageClass  

  public abstract <T extends com.oracle.truffle.api.TruffleLanguage<C>, C> com.oracle.truffle.api.TruffleLanguage$ContextReference<C> lookupContextReference(, com.oracle.truffle.api.TruffleLanguage<?>, java.lang.Class<T>);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Lcom/oracle/truffle/api/TruffleLanguage<TC;>;C:Ljava/lang/Object;>(Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage<*>;Ljava/lang/Class<TT;>;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<TC;>;
    MethodParameters:
                Name  Flags
      polyglotEngine  
      language        
      languageClass   

  public abstract <T extends com.oracle.truffle.api.TruffleLanguage<C>, C> com.oracle.truffle.api.TruffleLanguage$ContextReference<C> getDirectContextReference(, com.oracle.truffle.api.TruffleLanguage<?>, java.lang.Class<T>);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Lcom/oracle/truffle/api/TruffleLanguage<TC;>;C:Ljava/lang/Object;>(Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage<*>;Ljava/lang/Class<TT;>;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<TC;>;
    MethodParameters:
                Name  Flags
      polyglotEngine  
      language        
      languageClass   

  public abstract org.graalvm.polyglot.io.FileSystem getFileSystem(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/io/FileSystem;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      polyglotContext  

  public abstract boolean isPolyglotEvalAllowed(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public abstract boolean isPolyglotBindingsAccessAllowed(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public abstract com.oracle.truffle.api.TruffleFile getTruffleFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      path  

  public abstract com.oracle.truffle.api.TruffleFile getTruffleFile(java.net.URI);
    descriptor: (Ljava/net/URI;)Lcom/oracle/truffle/api/TruffleFile;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      uri   

  public abstract int getAsynchronousStackDepth(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                  Name  Flags
      polylgotLanguage  

  public abstract void setAsynchronousStackDepth(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      polyglotInstrument  
      depth               

  public abstract boolean isCreateProcessAllowed(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polylgotLanguageContext  

  public abstract java.util.Map<java.lang.String, java.lang.String> getProcessEnvironment();
    descriptor: (Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public abstract java.lang.Process createSubProcess(, java.util.List<java.lang.String>, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, boolean, org.graalvm.polyglot.io.ProcessHandler$Redirect, org.graalvm.polyglot.io.ProcessHandler$Redirect, org.graalvm.polyglot.io.ProcessHandler$Redirect);
    descriptor: (Ljava/lang/Object;Ljava/util/List;Ljava/lang/String;Ljava/util/Map;ZLorg/graalvm/polyglot/io/ProcessHandler$Redirect;Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;)Ljava/lang/Process;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Object;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;ZLorg/graalvm/polyglot/io/ProcessHandler$Redirect;Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;)Ljava/lang/Process;
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      cmd                      
      cwd                      
      environment              
      redirectErrorStream      
      inputRedirect            
      outputRedirect           
      errorRedirect            

  public abstract boolean hasDefaultProcessHandler(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public abstract org.graalvm.polyglot.io.ProcessHandler$Redirect createRedirectToOutputStream(java.lang.Object, java.io.OutputStream);
    descriptor: (Ljava/lang/Object;Ljava/io/OutputStream;)Lorg/graalvm/polyglot/io/ProcessHandler$Redirect;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      stream                   

  public abstract boolean isIOAllowed();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.time.ZoneId getTimeZone(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/ZoneId;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  

  public abstract java.util.Set<java.lang.String> getLanguageIds();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public abstract java.util.Set<java.lang.String> getInstrumentIds();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public abstract java.util.Set<java.lang.String> getInternalIds();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public abstract java.lang.String getUnparsedOptionValue(org.graalvm.options.OptionValues, org.graalvm.options.OptionKey<?>);
    descriptor: (Lorg/graalvm/options/OptionValues;Lorg/graalvm/options/OptionKey;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/graalvm/options/OptionValues;Lorg/graalvm/options/OptionKey<*>;)Ljava/lang/String;
    MethodParameters:
              Name  Flags
      optionValues  
      optionKey     

  public abstract java.lang.String getRelativePathInLanguageHome(com.oracle.truffle.api.TruffleFile);
    descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      truffleFile  

  public abstract void onSourceCreated(com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/api/source/Source;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      source  

  public abstract java.lang.String getReinitializedPath(com.oracle.truffle.api.TruffleFile);
    descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      truffleFile  

  public abstract java.net.URI getReinitializedURI(com.oracle.truffle.api.TruffleFile);
    descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Ljava/net/URI;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      truffleFile  

  public abstract com.oracle.truffle.api.nodes.LanguageInfo getLanguageInfo(, java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Lcom/oracle/truffle/api/nodes/LanguageInfo;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;)Lcom/oracle/truffle/api/nodes/LanguageInfo;
    MethodParameters:
                    Name  Flags
      polyglotInstrument  
      languageClass       

  public abstract <C>  getDefaultLanguageView(com.oracle.truffle.api.TruffleLanguage<C>, C, );
    descriptor: (Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <C:Ljava/lang/Object;>(Lcom/oracle/truffle/api/TruffleLanguage<TC;>;TC;Ljava/lang/Object;)Ljava/lang/Object;
    MethodParameters:
                 Name  Flags
      truffleLanguage  
      context          
      value            

  public abstract java.lang.Object getLanguageView(com.oracle.truffle.api.nodes.LanguageInfo, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      viewLanguage  
      value         

  public abstract java.lang.Object getScopedView(com.oracle.truffle.api.nodes.LanguageInfo, com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/nodes/LanguageInfo;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      viewLanguage  
      location      
      frame         
      value         

  public abstract boolean initializeLanguage(java.lang.Object, com.oracle.truffle.api.nodes.LanguageInfo);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/LanguageInfo;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      targetLanguage           

  public abstract java.lang.RuntimeException engineToLanguageException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      t     

  public abstract java.lang.RuntimeException engineToInstrumentException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      t     

  public abstract java.lang.Object getCurrentFileSystemContext();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Object getPublicFileSystemContext(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      polyglotContextImpl  

  public abstract java.lang.Object getInternalFileSystemContext(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      polyglotContextImpl  

  public abstract java.util.Map<java.lang.String, java.util.Collection<? extends com.oracle.truffle.api.TruffleFile$FileTypeDetector>> getEngineFileTypeDetectors();
    descriptor: (Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<+Lcom/oracle/truffle/api/TruffleFile$FileTypeDetector;>;>;
    MethodParameters:
                         Name  Flags
      engineFileSystemContext  

  public abstract boolean isHostToGuestRootNode(com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      rootNode  

  public abstract java.lang.AssertionError invalidSharingError(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/AssertionError;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.AssertionError
    MethodParameters:
                Name  Flags
      polyglotEngine  

  public abstract boolean isPolyglotObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotObject  

  public abstract void initializeLanguageContextLocal(java.util.List<? extends com.oracle.truffle.api.ContextLocal<?>>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<+Lcom/oracle/truffle/api/ContextLocal<*>;>;Ljava/lang/Object;)V
    MethodParameters:
                          Name  Flags
      local                     
      polyglotLanguageInstance  

  public abstract void initializeLanguageContextThreadLocal(java.util.List<? extends com.oracle.truffle.api.ContextThreadLocal<?>>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<+Lcom/oracle/truffle/api/ContextThreadLocal<*>;>;Ljava/lang/Object;)V
    MethodParameters:
                          Name  Flags
      local                     
      polyglotLanguageInstance  

  public abstract void initializeInstrumentContextLocal(java.util.List<? extends com.oracle.truffle.api.ContextLocal<?>>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<+Lcom/oracle/truffle/api/ContextLocal<*>;>;Ljava/lang/Object;)V
    MethodParameters:
                    Name  Flags
      local               
      polyglotInstrument  

  public abstract void initializeInstrumentContextThreadLocal(java.util.List<? extends com.oracle.truffle.api.ContextThreadLocal<?>>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<+Lcom/oracle/truffle/api/ContextThreadLocal<*>;>;Ljava/lang/Object;)V
    MethodParameters:
                    Name  Flags
      local               
      polyglotInstrument  

  public abstract <T> com.oracle.truffle.api.ContextThreadLocal<T> createLanguageContextThreadLocal();
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextThreadLocal;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextThreadLocal<TT;>;
    MethodParameters:
         Name  Flags
      factory  

  public abstract <T> com.oracle.truffle.api.ContextThreadLocal<T> createInstrumentContextThreadLocal();
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextThreadLocal;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextThreadLocal<TT;>;
    MethodParameters:
         Name  Flags
      factory  

  public abstract <T> com.oracle.truffle.api.ContextLocal<T> createLanguageContextLocal();
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextLocal;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextLocal<TT;>;
    MethodParameters:
         Name  Flags
      factory  

  public abstract <T> com.oracle.truffle.api.ContextLocal<T> createInstrumentContextLocal();
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextLocal;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)Lcom/oracle/truffle/api/ContextLocal<TT;>;
    MethodParameters:
         Name  Flags
      factory  

  public abstract org.graalvm.options.OptionValues getInstrumentContextOptions(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/options/OptionValues;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      polyglotInstrument  
      polyglotContext     

  public abstract boolean isContextClosed(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      polyglotContext  

  public abstract <T, G> java.util.Iterator<T> mergeHostGuestFrames(java.lang.StackTraceElement[], java.util.Iterator<G>, boolean, java.util.function.Function<java.lang.StackTraceElement, T>, java.util.function.Function<G, T>);
    descriptor: ([Ljava/lang/StackTraceElement;Ljava/util/Iterator;ZLjava/util/function/Function;Ljava/util/function/Function;)Ljava/util/Iterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;G:Ljava/lang/Object;>([Ljava/lang/StackTraceElement;Ljava/util/Iterator<TG;>;ZLjava/util/function/Function<Ljava/lang/StackTraceElement;TT;>;Ljava/util/function/Function<TG;TT;>;)Ljava/util/Iterator<TT;>;
    MethodParameters:
                     Name  Flags
      hostStack            
      guestFrames          
      inHostLanguage       
      hostFrameConvertor   
      guestFrameConvertor  

  public abstract  createHostAdapterClass(, java.lang.Class<?>[], );
    descriptor: (Ljava/lang/Object;[Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;[Ljava/lang/Class<*>;Ljava/lang/Object;)Ljava/lang/Object;
    MethodParameters:
                         Name  Flags
      polyglotLanguageContext  
      types                    
      classOverrides           

  public abstract java.lang.Iterable<com.oracle.truffle.api.Scope> findLibraryLocalScopesToLegacy(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.frame.Frame);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
    MethodParameters:
       Name  Flags
      node   
      frame  

  public abstract java.lang.Iterable<com.oracle.truffle.api.Scope> topScopesToLegacy();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/lang/Iterable<Lcom/oracle/truffle/api/Scope;>;
    MethodParameters:
       Name  Flags
      scope  

  public abstract boolean legacyScopesHasScope(com.oracle.truffle.api.nodes.NodeInterface, java.util.Iterator<com.oracle.truffle.api.Scope>);
    descriptor: (Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator<Lcom/oracle/truffle/api/Scope;>;)Z
    MethodParameters:
              Name  Flags
      node          
      legacyScopes  

  public abstract  legacyScopes2ScopeObject(com.oracle.truffle.api.nodes.NodeInterface, java.util.Iterator<com.oracle.truffle.api.Scope>, java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>>);
    descriptor: (Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/util/Iterator<Lcom/oracle/truffle/api/Scope;>;Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;)Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      node          
      legacyScopes  
      language      

  public abstract org.graalvm.options.OptionValues getEngineOptionValues(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/options/OptionValues;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotEngine  

  public abstract java.util.Collection<? extends com.oracle.truffle.api.CallTarget> findCallTargets();
    descriptor: (Ljava/lang/Object;)Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)Ljava/util/Collection<+Lcom/oracle/truffle/api/CallTarget;>;
    MethodParameters:
                Name  Flags
      polyglotEngine  

  public abstract void preinitializeContext(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotEngine  

  public abstract void finalizeStore(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotEngine  

  public abstract java.lang.Object getEngineLock(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      polyglotEngine  
}
SourceFile: "Accessor.java"
NestHost: com.oracle.truffle.api.impl.Accessor
InnerClasses:
  public abstract FileTypeDetector = com.oracle.truffle.api.TruffleFile$FileTypeDetector of com.oracle.truffle.api.TruffleFile
  public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public abstract LanguageReference = com.oracle.truffle.api.TruffleLanguage$LanguageReference of com.oracle.truffle.api.TruffleLanguage
  public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
  abstract Support = com.oracle.truffle.api.impl.Accessor$Support of com.oracle.truffle.api.impl.Accessor
  public final Redirect = org.graalvm.polyglot.io.ProcessHandler$Redirect of org.graalvm.polyglot.io.ProcessHandler