public abstract class org.graalvm.launcher.AbstractLanguageLauncher extends org.graalvm.launcher.LanguageLauncherBase
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.launcher.AbstractLanguageLauncher
  super_class: org.graalvm.launcher.LanguageLauncherBase
{
  protected static final boolean IS_LIBPOLYGLOT;
    descriptor: Z
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 55
            ldc Lorg/graalvm/launcher/AbstractLanguageLauncher;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.launcher.AbstractLanguageLauncher.$assertionsDisabled:Z
         3: .line 84
            ldc "graalvm.libpolyglot"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putstatic org.graalvm.launcher.AbstractLanguageLauncher.IS_LIBPOLYGLOT:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
         0: .line 55
            aload 0 /* this */
            invokespecial org.graalvm.launcher.LanguageLauncherBase.<init>:()V
            return
        end local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/launcher/AbstractLanguageLauncher;

  protected final void launch(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
        start local 1 // java.lang.String[] args
         0: .line 71
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* args */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            aconst_null
            iconst_1
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.launch:(Ljava/util/List;Ljava/util/Map;Z)V
         1: .line 72
            goto 11
      StackMap locals:
      StackMap stack: org.graalvm.launcher.Launcher$AbortException
         2: astore 2 /* e */
        start local 2 // org.graalvm.launcher.Launcher$AbortException e
         3: .line 73
            aload 2 /* e */
            athrow
        end local 2 // org.graalvm.launcher.Launcher$AbortException e
         4: .line 74
      StackMap locals:
      StackMap stack: org.graalvm.polyglot.PolyglotException
            astore 2 /* e */
        start local 2 // org.graalvm.polyglot.PolyglotException e
         5: .line 75
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.handlePolyglotException:(Lorg/graalvm/polyglot/PolyglotException;)V
        end local 2 // org.graalvm.polyglot.PolyglotException e
         6: goto 11
         7: .line 76
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         8: .line 77
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.abort:(Ljava/lang/Throwable;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        end local 2 // java.lang.Throwable t
         9: .line 79
      StackMap locals:
      StackMap stack: org.graalvm.launcher.Launcher$AbortException
            astore 2 /* e */
        start local 2 // org.graalvm.launcher.Launcher$AbortException e
        10: .line 80
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.handleAbortException:(Lorg/graalvm/launcher/Launcher$AbortException;)V
        end local 2 // org.graalvm.launcher.Launcher$AbortException e
        11: .line 82
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String[] args
        end local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/graalvm/launcher/AbstractLanguageLauncher;
            0   12     1  args  [Ljava/lang/String;
            3    4     2     e  Lorg/graalvm/launcher/Launcher$AbortException;
            5    6     2     e  Lorg/graalvm/polyglot/PolyglotException;
            8    9     2     t  Ljava/lang/Throwable;
           10   11     2     e  Lorg/graalvm/launcher/Launcher$AbortException;
      Exception table:
        from    to  target  type
           0     1       2  Class org.graalvm.launcher.Launcher$AbortException
           0     1       4  Class org.graalvm.polyglot.PolyglotException
           0     1       7  Class java.lang.Throwable
           0     9       9  Class org.graalvm.launcher.Launcher$AbortException
    MethodParameters:
      Name  Flags
      args  

  final void launch(java.util.List<java.lang.String>, java.util.Map<java.lang.String, java.lang.String>, );
    descriptor: (Ljava/util/List;Ljava/util/Map;Z)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
        start local 1 // java.util.List args
        start local 2 // java.util.Map defaultOptions
        start local 3 // boolean doNativeSetup
         0: .line 87
            new java.util.ArrayList
            dup
            aload 1 /* args */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            astore 4 /* originalArgs */
        start local 4 // java.util.List originalArgs
         1: .line 89
            aload 2 /* defaultOptions */
            astore 5 /* polyglotOptions */
        start local 5 // java.util.Map polyglotOptions
         2: .line 90
            aload 5 /* polyglotOptions */
            ifnonnull 4
         3: .line 91
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* polyglotOptions */
         4: .line 94
      StackMap locals: java.util.List java.util.Map
      StackMap stack:
            invokestatic org.graalvm.launcher.AbstractLanguageLauncher.isAOT:()Z
            ifeq 6
            iload 3 /* doNativeSetup */
            ifeq 6
         5: .line 95
            ldc "org.graalvm.launcher.languageId"
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getLanguageId:()Ljava/lang/String;
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         6: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            aload 5 /* polyglotOptions */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.preprocessArguments:(Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
            astore 6 /* unrecognizedArgs */
        start local 6 // java.util.List unrecognizedArgs
         7: .line 100
            invokestatic org.graalvm.launcher.AbstractLanguageLauncher.isAOT:()Z
            ifeq 10
            iload 3 /* doNativeSetup */
            ifeq 10
            getstatic org.graalvm.launcher.AbstractLanguageLauncher.IS_LIBPOLYGLOT:Z
            ifne 10
         8: .line 101
            getstatic org.graalvm.launcher.AbstractLanguageLauncher.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.graalvm.launcher.AbstractLanguageLauncher.nativeAccess:Lorg/graalvm/launcher/Launcher$Native;
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 102
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 4 /* originalArgs */
            aload 6 /* unrecognizedArgs */
            iconst_0
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.maybeNativeExec:(Ljava/util/List;Ljava/util/List;Z)V
        10: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getLanguageId:()Ljava/lang/String;
            aload 5 /* polyglotOptions */
            aload 6 /* unrecognizedArgs */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.parseUnrecognizedOptions:(Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)V
        11: .line 107
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.runLauncherAction:()Z
            ifeq 13
        12: .line 108
            return
        13: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* polyglotOptions */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.validateArguments:(Ljava/util/Map;)V
        14: .line 112
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.argumentsProcessingDone:()V
        15: .line 115
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.isPolyglot:()Z
            ifeq 18
        16: .line 116
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* polyglotOptions */
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            astore 7 /* builder */
        start local 7 // org.graalvm.polyglot.Context$Builder builder
        17: .line 117
            goto 19
        end local 7 // org.graalvm.polyglot.Context$Builder builder
        18: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getDefaultLanguages:()[Ljava/lang/String;
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 5 /* polyglotOptions */
            invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
            astore 7 /* builder */
        start local 7 // org.graalvm.polyglot.Context$Builder builder
        19: .line 121
      StackMap locals: org.graalvm.polyglot.Context$Builder
      StackMap stack:
            aload 7 /* builder */
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
            pop
        20: .line 122
            aload 0 /* this */
            aload 7 /* builder */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.setupContextBuilder:(Lorg/graalvm/polyglot/Context$Builder;)V
        21: .line 124
            aload 0 /* this */
            aload 7 /* builder */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.launch:(Lorg/graalvm/polyglot/Context$Builder;)V
        22: .line 125
            return
        end local 7 // org.graalvm.polyglot.Context$Builder builder
        end local 6 // java.util.List unrecognizedArgs
        end local 5 // java.util.Map polyglotOptions
        end local 4 // java.util.List originalArgs
        end local 3 // boolean doNativeSetup
        end local 2 // java.util.Map defaultOptions
        end local 1 // java.util.List args
        end local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Lorg/graalvm/launcher/AbstractLanguageLauncher;
            0   23     1              args  Ljava/util/List<Ljava/lang/String;>;
            0   23     2    defaultOptions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   23     3     doNativeSetup  Z
            1   23     4      originalArgs  Ljava/util/List<Ljava/lang/String;>;
            2   23     5   polyglotOptions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            7   23     6  unrecognizedArgs  Ljava/util/List<Ljava/lang/String;>;
           17   18     7           builder  Lorg/graalvm/polyglot/Context$Builder;
           19   23     7           builder  Lorg/graalvm/polyglot/Context$Builder;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Z)V
    MethodParameters:
                Name  Flags
      args            
      defaultOptions  
      doNativeSetup   

  protected abstract java.util.List<java.lang.String> preprocessArguments(java.util.List<java.lang.String>, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                 Name  Flags
      arguments        
      polyglotOptions  

  protected void validateArguments(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
        start local 1 // java.util.Map polyglotOptions
         0: .line 158
            return
        end local 1 // java.util.Map polyglotOptions
        end local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/graalvm/launcher/AbstractLanguageLauncher;
            0    1     1  polyglotOptions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
                 Name  Flags
      polyglotOptions  

  protected abstract void launch(org.graalvm.polyglot.Context$Builder);
    descriptor: (Lorg/graalvm/polyglot/Context$Builder;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      contextBuilder  

  protected abstract java.lang.String getLanguageId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected void printVersion();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
         0: .line 177
            aload 0 /* this */
            invokestatic org.graalvm.launcher.AbstractLanguageLauncher.getTempEngine:()Lorg/graalvm/polyglot/Engine;
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.printVersion:(Lorg/graalvm/polyglot/Engine;)V
         1: .line 178
            return
        end local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/launcher/AbstractLanguageLauncher;

  protected void printVersion(org.graalvm.polyglot.Engine);
    descriptor: (Lorg/graalvm/polyglot/Engine;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
        start local 1 // org.graalvm.polyglot.Engine engine
         0: .line 181
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getLanguageId:()Ljava/lang/String;
            astore 2 /* languageId */
        start local 2 // java.lang.String languageId
         1: .line 182
            aload 1 /* engine */
            invokevirtual org.graalvm.polyglot.Engine.getLanguages:()Ljava/util/Map;
            aload 2 /* languageId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Language
            astore 3 /* language */
        start local 3 // org.graalvm.polyglot.Language language
         2: .line 183
            aload 3 /* language */
            ifnonnull 4
         3: .line 184
            aload 0 /* this */
            ldc "Unknown language: '%s'!"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* languageId */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         4: .line 186
      StackMap locals: java.lang.String org.graalvm.polyglot.Language
      StackMap stack:
            aload 3 /* language */
            invokevirtual org.graalvm.polyglot.Language.getImplementationName:()Ljava/lang/String;
            astore 4 /* languageImplementationName */
        start local 4 // java.lang.String languageImplementationName
         5: .line 187
            aload 4 /* languageImplementationName */
            ifnull 6
            aload 4 /* languageImplementationName */
            invokevirtual java.lang.String.length:()I
            ifne 10
         6: .line 188
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* language */
            invokevirtual org.graalvm.polyglot.Language.getName:()Ljava/lang/String;
            astore 5 /* languageName */
        start local 5 // java.lang.String languageName
         7: .line 189
            aload 5 /* languageName */
            ifnull 8
            aload 5 /* languageName */
            invokevirtual java.lang.String.length:()I
            ifne 9
         8: .line 190
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* languageId */
            astore 5 /* languageName */
         9: .line 192
      StackMap locals:
      StackMap stack:
            aload 5 /* languageName */
            astore 4 /* languageImplementationName */
        end local 5 // java.lang.String languageName
        10: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* engine */
            invokevirtual org.graalvm.polyglot.Engine.getImplementationName:()Ljava/lang/String;
            astore 5 /* engineImplementationName */
        start local 5 // java.lang.String engineImplementationName
        11: .line 195
            invokestatic org.graalvm.launcher.AbstractLanguageLauncher.isAOT:()Z
            ifeq 14
        12: .line 196
            new java.lang.StringBuilder
            dup
            aload 5 /* engineImplementationName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Native"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* engineImplementationName */
        13: .line 197
            goto 15
        14: .line 198
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* engineImplementationName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " JVM"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* engineImplementationName */
        15: .line 200
      StackMap locals:
      StackMap stack:
            aload 3 /* language */
            invokevirtual org.graalvm.polyglot.Language.getVersion:()Ljava/lang/String;
            astore 6 /* languageVersion */
        start local 6 // java.lang.String languageVersion
        16: .line 201
            aload 6 /* languageVersion */
            aload 1 /* engine */
            invokevirtual org.graalvm.polyglot.Engine.getVersion:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 202
            ldc ""
            astore 6 /* languageVersion */
        18: .line 203
            goto 20
        19: .line 204
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* languageVersion */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* languageVersion */
        20: .line 206
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "%s %s(%s %s)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* languageImplementationName */
            aastore
            dup
            iconst_1
            aload 6 /* languageVersion */
            aastore
            dup
            iconst_2
            aload 5 /* engineImplementationName */
            aastore
            dup
            iconst_3
            aload 1 /* engine */
            invokevirtual org.graalvm.polyglot.Engine.getVersion:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 207
            return
        end local 6 // java.lang.String languageVersion
        end local 5 // java.lang.String engineImplementationName
        end local 4 // java.lang.String languageImplementationName
        end local 3 // org.graalvm.polyglot.Language language
        end local 2 // java.lang.String languageId
        end local 1 // org.graalvm.polyglot.Engine engine
        end local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   22     0                        this  Lorg/graalvm/launcher/AbstractLanguageLauncher;
            0   22     1                      engine  Lorg/graalvm/polyglot/Engine;
            1   22     2                  languageId  Ljava/lang/String;
            2   22     3                    language  Lorg/graalvm/polyglot/Language;
            5   22     4  languageImplementationName  Ljava/lang/String;
            7   10     5                languageName  Ljava/lang/String;
           11   22     5    engineImplementationName  Ljava/lang/String;
           16   22     6             languageVersion  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      engine  

  protected void runVersionAction(org.graalvm.launcher.Launcher$VersionAction, org.graalvm.polyglot.Engine);
    descriptor: (Lorg/graalvm/launcher/Launcher$VersionAction;Lorg/graalvm/polyglot/Engine;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
        start local 1 // org.graalvm.launcher.Launcher$VersionAction action
        start local 2 // org.graalvm.polyglot.Engine engine
         0: .line 210
            invokestatic org.graalvm.launcher.AbstractLanguageLauncher.$SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction:()[I
            aload 1 /* action */
            invokevirtual org.graalvm.launcher.Launcher$VersionAction.ordinal:()I
            iaload
            tableswitch { // 2 - 3
                    2: 3
                    3: 1
              default: 5
          }
         1: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* engine */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.printVersion:(Lorg/graalvm/polyglot/Engine;)V
         2: .line 213
            goto 5
         3: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* engine */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.printVersion:(Lorg/graalvm/polyglot/Engine;)V
         4: .line 216
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.exit:()Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         5: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.polyglot.Engine engine
        end local 1 // org.graalvm.launcher.Launcher$VersionAction action
        end local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/launcher/AbstractLanguageLauncher;
            0    6     1  action  Lorg/graalvm/launcher/Launcher$VersionAction;
            0    6     2  engine  Lorg/graalvm/polyglot/Engine;
    MethodParameters:
        Name  Flags
      action  
      engine  

  protected java.lang.String[] getDefaultLanguages();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
         0: .line 228
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.AbstractLanguageLauncher.getLanguageId:()Ljava/lang/String;
            aastore
            areturn
        end local 0 // org.graalvm.launcher.AbstractLanguageLauncher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/launcher/AbstractLanguageLauncher;

  static int[] $SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 55
            getstatic org.graalvm.launcher.AbstractLanguageLauncher.$SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.launcher.Launcher$VersionAction.values:()[Lorg/graalvm/launcher/Launcher$VersionAction;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.launcher.Launcher$VersionAction.None:Lorg/graalvm/launcher/Launcher$VersionAction;
            invokevirtual org.graalvm.launcher.Launcher$VersionAction.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.launcher.Launcher$VersionAction.PrintAndContinue:Lorg/graalvm/launcher/Launcher$VersionAction;
            invokevirtual org.graalvm.launcher.Launcher$VersionAction.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.launcher.Launcher$VersionAction.PrintAndExit:Lorg/graalvm/launcher/Launcher$VersionAction;
            invokevirtual org.graalvm.launcher.Launcher$VersionAction.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.graalvm.launcher.AbstractLanguageLauncher.$SWITCH_TABLE$org$graalvm$launcher$Launcher$VersionAction:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "AbstractLanguageLauncher.java"
InnerClasses:
  protected final AbortException = org.graalvm.launcher.Launcher$AbortException of org.graalvm.launcher.Launcher
  protected final VersionAction = org.graalvm.launcher.Launcher$VersionAction of org.graalvm.launcher.Launcher
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context