final class com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader extends com.oracle.truffle.polyglot.LanguageCache$Loader
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader
  super_class: com.oracle.truffle.polyglot.LanguageCache$Loader
{
  static final com.oracle.truffle.polyglot.LanguageCache$Loader INSTANCE;
    descriptor: Lcom/oracle/truffle/polyglot/LanguageCache$Loader;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 572
            new com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader
            dup
            invokespecial com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.<init>:()V
            putstatic com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.INSTANCE:Lcom/oracle/truffle/polyglot/LanguageCache$Loader;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader this
         0: .line 574
            aload 0 /* this */
            invokespecial com.oracle.truffle.polyglot.LanguageCache$Loader.<init>:()V
         1: .line 575
            return
        end local 0 // com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/polyglot/LanguageCache$Loader$LegacyLoader;

  public void loadImpl(java.lang.ClassLoader, java.util.Collection<? super com.oracle.truffle.polyglot.LanguageCache>);
    descriptor: (Ljava/lang/ClassLoader;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader this
        start local 1 // java.lang.ClassLoader loader
        start local 2 // java.util.Collection into
         0: .line 581
            aload 1 /* loader */
            ldc "META-INF/truffle/language"
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 3 /* en */
        start local 3 // java.util.Enumeration en
         1: .line 582
            goto 29
        end local 3 // java.util.Enumeration en
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 4 /* ex */
        start local 4 // java.io.IOException ex
         3: .line 583
            new java.lang.IllegalStateException
            dup
            ldc "Cannot read list of Truffle languages"
            aload 4 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ex
        start local 3 // java.util.Enumeration en
         4: .line 586
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 3 /* en */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 4 /* u */
        start local 4 // java.net.URL u
         5: .line 590
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 5 /* p */
        start local 5 // java.util.Properties p
         6: .line 591
            aload 4 /* u */
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 6 /* connection */
        start local 6 // java.net.URLConnection connection
         7: .line 593
            aload 6 /* connection */
            iconst_0
            invokevirtual java.net.URLConnection.setUseCaches:(Z)V
         8: .line 594
            aconst_null
            astore 7
            aconst_null
            astore 8
         9: aload 6 /* connection */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 9 /* is */
        start local 9 // java.io.InputStream is
        10: .line 595
            aload 5 /* p */
            aload 9 /* is */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        11: .line 596
            aload 9 /* is */
            ifnull 22
            aload 9 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 22
      StackMap locals: com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader java.lang.ClassLoader java.util.Collection java.util.Enumeration java.net.URL java.util.Properties java.net.URLConnection java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        12: astore 7
            aload 9 /* is */
            ifnull 13
            aload 9 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 9 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        13: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 8
            aload 7
            ifnonnull 15
            aload 8
            astore 7
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 7
            aload 8
            if_acmpeq 16
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 7
            athrow
        end local 6 // java.net.URLConnection connection
        end local 5 // java.util.Properties p
        17: .line 597
      StackMap locals: com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader java.lang.ClassLoader java.util.Collection java.util.Enumeration java.net.URL
      StackMap stack: java.io.IOException
            astore 7 /* ex */
        start local 7 // java.io.IOException ex
        18: .line 598
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            astore 8 /* out */
        start local 8 // java.io.PrintStream out
        19: .line 599
            aload 8 /* out */
            new java.lang.StringBuilder
            dup
            ldc "Cannot process "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* u */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " as language definition"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        20: .line 600
            aload 7 /* ex */
            invokevirtual java.io.IOException.printStackTrace:()V
        21: .line 601
            goto 29
        end local 8 // java.io.PrintStream out
        end local 7 // java.io.IOException ex
        start local 5 // java.util.Properties p
        start local 6 // java.net.URLConnection connection
        22: .line 603
      StackMap locals: java.util.Properties java.net.URLConnection
      StackMap stack:
            iconst_1
            istore 7 /* cnt */
        start local 7 // int cnt
        23: .line 604
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "language"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* cnt */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* prefix */
        start local 8 // java.lang.String prefix
        24: .line 605
            aload 5 /* p */
            new java.lang.StringBuilder
            dup
            aload 8 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "name"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
        25: .line 606
            aload 9 /* name */
            ifnonnull 27
        26: .line 607
            goto 29
        27: .line 609
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* into */
            aload 9 /* name */
            aload 8 /* prefix */
            aload 5 /* p */
            aload 1 /* loader */
            aload 6 /* connection */
            invokestatic com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.createLanguageCache:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;Ljava/net/URLConnection;)Lcom/oracle/truffle/polyglot/LanguageCache;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.String name
        end local 8 // java.lang.String prefix
        28: .line 603
            iinc 7 /* cnt */ 1
            goto 23
        end local 7 // int cnt
        end local 6 // java.net.URLConnection connection
        end local 5 // java.util.Properties p
        end local 4 // java.net.URL u
        29: .line 585
      StackMap locals: com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader java.lang.ClassLoader java.util.Collection java.util.Enumeration
      StackMap stack:
            aload 3 /* en */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        30: .line 612
            return
        end local 3 // java.util.Enumeration en
        end local 2 // java.util.Collection into
        end local 1 // java.lang.ClassLoader loader
        end local 0 // com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Lcom/oracle/truffle/polyglot/LanguageCache$Loader$LegacyLoader;
            0   31     1      loader  Ljava/lang/ClassLoader;
            0   31     2        into  Ljava/util/Collection<-Lcom/oracle/truffle/polyglot/LanguageCache;>;
            1    2     3          en  Ljava/util/Enumeration<Ljava/net/URL;>;
            4   31     3          en  Ljava/util/Enumeration<Ljava/net/URL;>;
            3    4     4          ex  Ljava/io/IOException;
            5   29     4           u  Ljava/net/URL;
            6   17     5           p  Ljava/util/Properties;
           22   29     5           p  Ljava/util/Properties;
            7   17     6  connection  Ljava/net/URLConnection;
           22   29     6  connection  Ljava/net/URLConnection;
           10   13     9          is  Ljava/io/InputStream;
           18   22     7          ex  Ljava/io/IOException;
           19   22     8         out  Ljava/io/PrintStream;
           23   29     7         cnt  I
           24   28     8      prefix  Ljava/lang/String;
           25   28     9        name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
          10    11      12  any
           9    14      14  any
           5    17      17  Class java.io.IOException
    Signature: (Ljava/lang/ClassLoader;Ljava/util/Collection<-Lcom/oracle/truffle/polyglot/LanguageCache;>;)V
    MethodParameters:
        Name  Flags
      loader  
      into    

  private static com.oracle.truffle.polyglot.LanguageCache createLanguageCache(java.lang.String, java.lang.String, java.util.Properties, java.lang.ClassLoader, java.net.URLConnection);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;Ljava/net/URLConnection;)Lcom/oracle/truffle/polyglot/LanguageCache;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=16, locals=21, args_size=5
        start local 0 // java.lang.String name
        start local 1 // java.lang.String prefix
        start local 2 // java.util.Properties info
        start local 3 // java.lang.ClassLoader loader
        start local 4 // java.net.URLConnection connection
         0: .line 615
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "id"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* id */
        start local 5 // java.lang.String id
         1: .line 616
            aload 5 /* id */
            ifnonnull 3
         2: .line 617
            aload 0 /* name */
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "className"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.defaultId:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* id */
         3: .line 619
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* id */
            invokestatic com.oracle.truffle.polyglot.LanguageCache.getLanguageHomeImpl:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* languageHome */
        start local 6 // java.lang.String languageHome
         4: .line 620
            aload 6 /* languageHome */
            ifnonnull 6
         5: .line 621
            aload 5 /* id */
            aload 4 /* connection */
            invokestatic com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.getLanguageHomeFromURLConnection:(Ljava/lang/String;Ljava/net/URLConnection;)Ljava/lang/String;
            astore 6 /* languageHome */
         6: .line 623
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "className"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* className */
        start local 7 // java.lang.String className
         7: .line 624
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "implementationName"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* implementationName */
        start local 8 // java.lang.String implementationName
         8: .line 625
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "version"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* version */
        start local 9 // java.lang.String version
         9: .line 626
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "characterMimeType"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.parseList:(Ljava/util/Properties;Ljava/lang/String;)Ljava/util/TreeSet;
            astore 10 /* characterMimes */
        start local 10 // java.util.TreeSet characterMimes
        10: .line 627
            aload 10 /* characterMimes */
            invokevirtual java.util.TreeSet.isEmpty:()Z
            ifeq 12
        11: .line 628
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "mimeType"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.parseList:(Ljava/util/Properties;Ljava/lang/String;)Ljava/util/TreeSet;
            astore 10 /* characterMimes */
        12: .line 630
      StackMap locals: java.lang.String java.lang.String java.util.Properties java.lang.ClassLoader java.net.URLConnection java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.util.TreeSet
      StackMap stack:
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "byteMimeType"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.parseList:(Ljava/util/Properties;Ljava/lang/String;)Ljava/util/TreeSet;
            astore 11 /* byteMimeTypes */
        start local 11 // java.util.TreeSet byteMimeTypes
        13: .line 631
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "defaultMimeType"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* defaultMime */
        start local 12 // java.lang.String defaultMime
        14: .line 632
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "dependentLanguage"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader.parseList:(Ljava/util/Properties;Ljava/lang/String;)Ljava/util/TreeSet;
            astore 13 /* dependentLanguages */
        start local 13 // java.util.TreeSet dependentLanguages
        15: .line 633
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "interactive"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 14 /* interactive */
        start local 14 // boolean interactive
        16: .line 634
            aload 2 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "internal"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 15 /* internal */
        start local 15 // boolean internal
        17: .line 635
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 16 /* servicesClassNames */
        start local 16 // java.util.Set servicesClassNames
        18: .line 636
            iconst_0
            istore 17 /* servicesCounter */
        start local 17 // int servicesCounter
        19: .line 637
      StackMap locals: java.lang.String java.lang.String java.util.Properties java.lang.ClassLoader java.net.URLConnection java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.util.TreeSet java.util.TreeSet java.lang.String java.util.TreeSet int int java.util.Set int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "service"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 17 /* servicesCounter */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 18 /* nth */
        start local 18 // java.lang.String nth
        20: .line 638
            aload 2 /* info */
            aload 18 /* nth */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 19 /* serviceName */
        start local 19 // java.lang.String serviceName
        21: .line 639
            aload 19 /* serviceName */
            ifnonnull 23
        22: .line 640
            goto 25
        23: .line 642
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 16 /* servicesClassNames */
            aload 19 /* serviceName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 19 // java.lang.String serviceName
        end local 18 // java.lang.String nth
        24: .line 636
            iinc 17 /* servicesCounter */ 1
            goto 19
        end local 17 // int servicesCounter
        25: .line 644
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 17 /* detectorClassNames */
        start local 17 // java.util.List detectorClassNames
        26: .line 645
            iconst_0
            istore 18 /* fileTypeDetectorCounter */
        start local 18 // int fileTypeDetectorCounter
        27: .line 646
      StackMap locals: java.util.List int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "fileTypeDetector"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 18 /* fileTypeDetectorCounter */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 19 /* nth */
        start local 19 // java.lang.String nth
        28: .line 647
            aload 2 /* info */
            aload 19 /* nth */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 20 /* fileTypeDetectorClassName */
        start local 20 // java.lang.String fileTypeDetectorClassName
        29: .line 648
            aload 20 /* fileTypeDetectorClassName */
            ifnonnull 31
        30: .line 649
            goto 33
        31: .line 651
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 17 /* detectorClassNames */
            aload 20 /* fileTypeDetectorClassName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 20 // java.lang.String fileTypeDetectorClassName
        end local 19 // java.lang.String nth
        32: .line 645
            iinc 18 /* fileTypeDetectorCounter */ 1
            goto 27
        end local 18 // int fileTypeDetectorCounter
        33: .line 653
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader$LegacyLanguageReflection
            dup
            aload 0 /* name */
            aload 3 /* loader */
            aload 7 /* className */
            aload 17 /* detectorClassNames */
            invokespecial com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader$LegacyLanguageReflection.<init>:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)V
            astore 18 /* reflection */
        start local 18 // com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader$LegacyLanguageReflection reflection
        34: .line 654
            new com.oracle.truffle.polyglot.LanguageCache
            dup
            aload 5 /* id */
            aload 0 /* name */
            aload 8 /* implementationName */
            aload 9 /* version */
            aload 7 /* className */
            aload 6 /* languageHome */
        35: .line 655
            aload 10 /* characterMimes */
            aload 11 /* byteMimeTypes */
            aload 12 /* defaultMime */
            aload 13 /* dependentLanguages */
        36: .line 656
            iload 14 /* interactive */
            iload 15 /* internal */
            aload 16 /* servicesClassNames */
            aload 18 /* reflection */
        37: .line 654
            invokespecial com.oracle.truffle.polyglot.LanguageCache.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/util/Set;ZZLjava/util/Set;Lcom/oracle/truffle/polyglot/LanguageCache$LanguageReflection;)V
            areturn
        end local 18 // com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader$LegacyLanguageReflection reflection
        end local 17 // java.util.List detectorClassNames
        end local 16 // java.util.Set servicesClassNames
        end local 15 // boolean internal
        end local 14 // boolean interactive
        end local 13 // java.util.TreeSet dependentLanguages
        end local 12 // java.lang.String defaultMime
        end local 11 // java.util.TreeSet byteMimeTypes
        end local 10 // java.util.TreeSet characterMimes
        end local 9 // java.lang.String version
        end local 8 // java.lang.String implementationName
        end local 7 // java.lang.String className
        end local 6 // java.lang.String languageHome
        end local 5 // java.lang.String id
        end local 4 // java.net.URLConnection connection
        end local 3 // java.lang.ClassLoader loader
        end local 2 // java.util.Properties info
        end local 1 // java.lang.String prefix
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   38     0                       name  Ljava/lang/String;
            0   38     1                     prefix  Ljava/lang/String;
            0   38     2                       info  Ljava/util/Properties;
            0   38     3                     loader  Ljava/lang/ClassLoader;
            0   38     4                 connection  Ljava/net/URLConnection;
            1   38     5                         id  Ljava/lang/String;
            4   38     6               languageHome  Ljava/lang/String;
            7   38     7                  className  Ljava/lang/String;
            8   38     8         implementationName  Ljava/lang/String;
            9   38     9                    version  Ljava/lang/String;
           10   38    10             characterMimes  Ljava/util/TreeSet<Ljava/lang/String;>;
           13   38    11              byteMimeTypes  Ljava/util/TreeSet<Ljava/lang/String;>;
           14   38    12                defaultMime  Ljava/lang/String;
           15   38    13         dependentLanguages  Ljava/util/TreeSet<Ljava/lang/String;>;
           16   38    14                interactive  Z
           17   38    15                   internal  Z
           18   38    16         servicesClassNames  Ljava/util/Set<Ljava/lang/String;>;
           19   25    17            servicesCounter  I
           20   24    18                        nth  Ljava/lang/String;
           21   24    19                serviceName  Ljava/lang/String;
           26   38    17         detectorClassNames  Ljava/util/List<Ljava/lang/String;>;
           27   33    18    fileTypeDetectorCounter  I
           28   32    19                        nth  Ljava/lang/String;
           29   32    20  fileTypeDetectorClassName  Ljava/lang/String;
           34   38    18                 reflection  Lcom/oracle/truffle/polyglot/LanguageCache$Loader$LegacyLoader$LegacyLanguageReflection;
    MethodParameters:
            Name  Flags
      name        
      prefix      
      info        
      loader      
      connection  

  private static java.util.TreeSet<java.lang.String> parseList(java.util.Properties, java.lang.String);
    descriptor: (Ljava/util/Properties;Ljava/lang/String;)Ljava/util/TreeSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.util.Properties info
        start local 1 // java.lang.String prefix
         0: .line 660
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 2 /* mimeTypesSet */
        start local 2 // java.util.TreeSet mimeTypesSet
         1: .line 661
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: .line 662
      StackMap locals: java.util.TreeSet int
      StackMap stack:
            aload 0 /* info */
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            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;
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* mt */
        start local 4 // java.lang.String mt
         3: .line 663
            aload 4 /* mt */
            ifnonnull 5
         4: .line 664
            goto 7
         5: .line 666
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* mimeTypesSet */
            aload 4 /* mt */
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String mt
         6: .line 661
            iinc 3 /* i */ 1
            goto 2
        end local 3 // int i
         7: .line 668
      StackMap locals:
      StackMap stack:
            aload 2 /* mimeTypesSet */
            areturn
        end local 2 // java.util.TreeSet mimeTypesSet
        end local 1 // java.lang.String prefix
        end local 0 // java.util.Properties info
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          info  Ljava/util/Properties;
            0    8     1        prefix  Ljava/lang/String;
            1    8     2  mimeTypesSet  Ljava/util/TreeSet<Ljava/lang/String;>;
            2    7     3             i  I
            3    6     4            mt  Ljava/lang/String;
    Signature: (Ljava/util/Properties;Ljava/lang/String;)Ljava/util/TreeSet<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      info    
      prefix  
}
SourceFile: "LanguageCache.java"
NestHost: com.oracle.truffle.polyglot.LanguageCache
InnerClasses:
  private abstract LanguageReflection = com.oracle.truffle.polyglot.LanguageCache$LanguageReflection of com.oracle.truffle.polyglot.LanguageCache
  private abstract Loader = com.oracle.truffle.polyglot.LanguageCache$Loader of com.oracle.truffle.polyglot.LanguageCache
  private final LegacyLoader = com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader of com.oracle.truffle.polyglot.LanguageCache$Loader
  private final LegacyLanguageReflection = com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader$LegacyLanguageReflection of com.oracle.truffle.polyglot.LanguageCache$Loader$LegacyLoader