public class io.vertx.codetrans.lang.scala.ScalaLang implements io.vertx.codetrans.Lang
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.codetrans.lang.scala.ScalaLang
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
         0: .line 21
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codetrans/lang/scala/ScalaLang;

  public java.lang.String id();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
         0: .line 25
            ldc "scala"
            areturn
        end local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codetrans/lang/scala/ScalaLang;

  public io.vertx.codetrans.CodeBuilder codeBuilder();
    descriptor: ()Lio/vertx/codetrans/CodeBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
         0: .line 30
            new io.vertx.codetrans.lang.scala.ScalaCodeBuilder
            dup
            invokespecial io.vertx.codetrans.lang.scala.ScalaCodeBuilder.<init>:()V
            areturn
        end local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codetrans/lang/scala/ScalaLang;

  public java.io.File createSourceFile(java.io.File, java.util.List<java.lang.String>, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/util/List;Ljava/lang/String;)Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
        start local 1 // java.io.File root
        start local 2 // java.util.List className
        start local 3 // java.lang.String methodName
         0: .line 35
            new java.io.File
            dup
            aload 1 /* root */
            aload 2 /* className */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            getstatic java.io.File.separator:Ljava/lang/String;
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* folder */
        start local 4 // java.io.File folder
         1: .line 36
            aload 3 /* methodName */
            ifnull 3
         2: .line 37
            new java.io.File
            dup
            aload 4 /* folder */
            aload 3 /* methodName */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* folder */
         3: .line 39
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 4 /* folder */
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 4 /* folder */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".scala"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 4 // java.io.File folder
        end local 3 // java.lang.String methodName
        end local 2 // java.util.List className
        end local 1 // java.io.File root
        end local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lio/vertx/codetrans/lang/scala/ScalaLang;
            0    4     1        root  Ljava/io/File;
            0    4     2   className  Ljava/util/List<Ljava/lang/String;>;
            0    4     3  methodName  Ljava/lang/String;
            1    4     4      folder  Ljava/io/File;
    Signature: (Ljava/io/File;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)Ljava/io/File;
    MethodParameters:
            Name  Flags
      root        
      className   
      methodName  

  public io.vertx.codetrans.Script loadScript(java.lang.ClassLoader, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/codetrans/Script;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=4
        start local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
        start local 1 // java.lang.ClassLoader loader
        start local 2 // java.lang.String path
        start local 3 // java.lang.String method
         0: .line 44
            new java.net.URLClassLoader
            dup
            iconst_1
            anewarray java.net.URL
            dup
            iconst_0
            new java.io.File
            dup
            new java.io.File
            dup
            ldc "target"
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            ldc "scala-classes"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            aastore
            aload 1 /* loader */
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;Ljava/lang/ClassLoader;)V
            astore 1 /* loader */
         1: .line 45
            new java.lang.StringBuilder
            dup
            aload 2 /* path */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 3 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* fqn */
        start local 4 // java.lang.String fqn
         2: .line 46
            aload 1 /* loader */
            aload 4 /* fqn */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* clazz */
        start local 5 // java.lang.Class clazz
         3: .line 47
            aload 5 /* clazz */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 6 /* instance */
        start local 6 // java.lang.Object instance
         4: .line 48
            aload 5 /* clazz */
            ldc "apply"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 7 /* m */
        start local 7 // java.lang.reflect.Method m
         5: .line 49
            new io.vertx.codetrans.lang.scala.ScalaLang$1
            dup
            aload 0 /* this */
            aload 7 /* m */
            aload 6 /* instance */
            invokespecial io.vertx.codetrans.lang.scala.ScalaLang$1.<init>:(Lio/vertx/codetrans/lang/scala/ScalaLang;Ljava/lang/reflect/Method;Ljava/lang/Object;)V
            areturn
        end local 7 // java.lang.reflect.Method m
        end local 6 // java.lang.Object instance
        end local 5 // java.lang.Class clazz
        end local 4 // java.lang.String fqn
        end local 3 // java.lang.String method
        end local 2 // java.lang.String path
        end local 1 // java.lang.ClassLoader loader
        end local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/vertx/codetrans/lang/scala/ScalaLang;
            0    6     1    loader  Ljava/lang/ClassLoader;
            0    6     2      path  Ljava/lang/String;
            0    6     3    method  Ljava/lang/String;
            2    6     4       fqn  Ljava/lang/String;
            3    6     5     clazz  Ljava/lang/Class<*>;
            4    6     6  instance  Ljava/lang/Object;
            5    6     7         m  Ljava/lang/reflect/Method;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      loader  
      path    
      method  

  public java.lang.String getExtension();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
         0: .line 67
            ldc "scala"
            areturn
        end local 0 // io.vertx.codetrans.lang.scala.ScalaLang this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codetrans/lang/scala/ScalaLang;

  private static <T extends java.lang.Throwable> void throwThis(java.lang.Throwable) throws T;
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable exception
         0: .line 72
            aload 0 /* exception */
            athrow
        end local 0 // java.lang.Throwable exception
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  exception  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Throwable
    Signature: <T:Ljava/lang/Throwable;>(Ljava/lang/Throwable;)V^TT;
    MethodParameters:
           Name  Flags
      exception  

  private static void rethrowAny(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable exception
         0: .line 76
            aload 0 /* exception */
            invokestatic io.vertx.codetrans.lang.scala.ScalaLang.throwThis:(Ljava/lang/Throwable;)V
         1: .line 77
            return
        end local 0 // java.lang.Throwable exception
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  exception  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      exception  
}
SourceFile: "ScalaLang.java"
NestMembers:
  io.vertx.codetrans.lang.scala.ScalaLang$1
InnerClasses:
  io.vertx.codetrans.lang.scala.ScalaLang$1