public interface io.vertx.codetrans.Lang
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.codetrans.Lang
  super_class: java.lang.Object
{
  public abstract java.lang.String id();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      loader  
      path    
      method  

  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=7, args_size=4
        start local 0 // io.vertx.codetrans.Lang this
        start local 1 // java.io.File root
        start local 2 // java.util.List className
        start local 3 // java.lang.String methodName
         0: .line 20
            invokestatic java.util.stream.Stream.builder:()Ljava/util/stream/Stream$Builder;
            astore 4 /* builder */
        start local 4 // java.util.stream.Stream$Builder builder
         1: .line 21
            aload 2 /* className */
            aload 4 /* builder */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/stream/Stream$Builder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/stream/Stream$Builder.add(Ljava/lang/Object;)Ljava/util/stream/Stream$Builder; (9 itf)
                  (Ljava/lang/String;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         2: .line 22
            aload 3 /* methodName */
            ifnull 4
         3: .line 23
            aload 4 /* builder */
            aload 3 /* methodName */
            invokeinterface java.util.stream.Stream$Builder.add:(Ljava/lang/Object;)Ljava/util/stream/Stream$Builder;
            pop
         4: .line 25
      StackMap locals: java.util.stream.Stream$Builder
      StackMap stack:
            aload 4 /* builder */
         5: .line 26
            invokeinterface java.util.stream.Stream$Builder.build:()Ljava/util/stream/Stream;
         6: .line 27
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/codetrans/Lang.lambda$1(Ljava/lang/String;)Ljava/lang/String; (6 itf)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         7: .line 28
            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
         8: .line 25
            astore 6 /* t */
        start local 6 // java.lang.String t
         9: .line 29
            new java.io.File
            dup
            aload 1 /* root */
            new java.lang.StringBuilder
            dup
            aload 6 /* t */
            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;
            aload 0 /* this */
            invokeinterface io.vertx.codetrans.Lang.getExtension:()Ljava/lang/String;
            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/io/File;Ljava/lang/String;)V
            areturn
        end local 6 // java.lang.String t
        end local 4 // java.util.stream.Stream$Builder builder
        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 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lio/vertx/codetrans/Lang;
            0   10     1        root  Ljava/io/File;
            0   10     2   className  Ljava/util/List<Ljava/lang/String;>;
            0   10     3  methodName  Ljava/lang/String;
            1   10     4     builder  Ljava/util/stream/Stream$Builder<Ljava/lang/String;>;
            9   10     6           t  Ljava/lang/String;
    Signature: (Ljava/io/File;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)Ljava/io/File;
    MethodParameters:
            Name  Flags
      root        
      className   
      methodName  

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

  public abstract io.vertx.codetrans.CodeBuilder codeBuilder();
    descriptor: ()Lio/vertx/codetrans/CodeBuilder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  private static java.lang.String lambda$1(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 27
            getstatic io.vertx.codegen.Case.SNAKE:Lio/vertx/codegen/Case;
            getstatic io.vertx.codegen.Case.CAMEL:Lio/vertx/codegen/Case;
            aload 0 /* s */
            invokevirtual io.vertx.codegen.Case.parse:(Ljava/lang/String;)Ljava/util/List;
            invokevirtual io.vertx.codegen.Case.format:(Ljava/lang/Iterable;)Ljava/lang/String;
            bipush 46
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
}
SourceFile: "Lang.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Builder = java.util.stream.Stream$Builder of java.util.stream.Stream