public class io.vertx.serviceproxy.generator.GeneratorUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.serviceproxy.generator.GeneratorUtils
  super_class: java.lang.Object
{
  final java.lang.String classHeader;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String proxyGenImports;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String handlerGenImports;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String roger;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String handlerConstructorBody;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String handlerCloseAccessed;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 25
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            ldc "class_header"
            invokevirtual io.vertx.serviceproxy.generator.GeneratorUtils.loadResource:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield io.vertx.serviceproxy.generator.GeneratorUtils.classHeader:Ljava/lang/String;
         2: .line 26
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            ldc "proxy_gen_import"
            invokevirtual io.vertx.serviceproxy.generator.GeneratorUtils.loadResource:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield io.vertx.serviceproxy.generator.GeneratorUtils.proxyGenImports:Ljava/lang/String;
         3: .line 27
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            ldc "handler_gen_import"
            invokevirtual io.vertx.serviceproxy.generator.GeneratorUtils.loadResource:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield io.vertx.serviceproxy.generator.GeneratorUtils.handlerGenImports:Ljava/lang/String;
         4: .line 28
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            ldc "handler_constructor_body"
            invokevirtual io.vertx.serviceproxy.generator.GeneratorUtils.loadResource:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield io.vertx.serviceproxy.generator.GeneratorUtils.handlerConstructorBody:Ljava/lang/String;
         5: .line 29
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            ldc "handler_close_accessed"
            invokevirtual io.vertx.serviceproxy.generator.GeneratorUtils.loadResource:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield io.vertx.serviceproxy.generator.GeneratorUtils.handlerCloseAccessed:Ljava/lang/String;
         6: .line 30
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            ldc "roger"
            invokevirtual io.vertx.serviceproxy.generator.GeneratorUtils.loadResource:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield io.vertx.serviceproxy.generator.GeneratorUtils.roger:Ljava/lang/String;
         7: .line 31
            return
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/serviceproxy/generator/GeneratorUtils;

  public void classHeader(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.io.PrintWriter w
         0: .line 34
            aload 1 /* w */
            aload 0 /* this */
            getfield io.vertx.serviceproxy.generator.GeneratorUtils.classHeader:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 35
            return
        end local 1 // java.io.PrintWriter w
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    2     1     w  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      w     

  public void proxyGenImports(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.io.PrintWriter w
         0: .line 38
            aload 1 /* w */
            aload 0 /* this */
            getfield io.vertx.serviceproxy.generator.GeneratorUtils.proxyGenImports:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 39
            return
        end local 1 // java.io.PrintWriter w
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    2     1     w  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      w     

  public void handlerGenImports(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.io.PrintWriter w
         0: .line 41
            aload 1 /* w */
            aload 0 /* this */
            getfield io.vertx.serviceproxy.generator.GeneratorUtils.handlerGenImports:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            return
        end local 1 // java.io.PrintWriter w
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    1     1     w  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      w     

  public void roger(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.io.PrintWriter w
         0: .line 43
            aload 1 /* w */
            aload 0 /* this */
            getfield io.vertx.serviceproxy.generator.GeneratorUtils.roger:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            return
        end local 1 // java.io.PrintWriter w
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    1     1     w  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      w     

  public void handlerConstructorBody(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.io.PrintWriter w
         0: .line 45
            aload 1 /* w */
            aload 0 /* this */
            getfield io.vertx.serviceproxy.generator.GeneratorUtils.handlerConstructorBody:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            return
        end local 1 // java.io.PrintWriter w
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    1     1     w  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      w     

  public void handleCloseAccessed(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.io.PrintWriter w
         0: .line 47
            aload 1 /* w */
            aload 0 /* this */
            getfield io.vertx.serviceproxy.generator.GeneratorUtils.handlerCloseAccessed:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
            return
        end local 1 // java.io.PrintWriter w
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    1     1     w  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      w     

  public void writeImport(java.io.PrintWriter, java.lang.String);
    descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.io.PrintWriter w
        start local 2 // java.lang.String i
         0: .line 50
            aload 1 /* w */
            new java.lang.StringBuilder
            dup
            ldc "import "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 51
            return
        end local 2 // java.lang.String i
        end local 1 // java.io.PrintWriter w
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    2     1     w  Ljava/io/PrintWriter;
            0    2     2     i  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      w     
      i     

  public java.lang.String loadResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.lang.String resource
         0: .line 54
            aload 0 /* this */
            aload 1 /* resource */
            ldc "vertx-service-proxy"
            invokevirtual io.vertx.serviceproxy.generator.GeneratorUtils.loadResource:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String resource
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    1     1  resource  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      resource  

  public java.lang.String loadResource(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // java.lang.String resource
        start local 2 // java.lang.String moduleName
         0: .line 58
            ldc Lio/vertx/serviceproxy/generator/GeneratorUtils;
            new java.lang.StringBuilder
            dup
            ldc "/META-INF/vertx/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".txt"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 3 /* input */
        start local 3 // java.io.InputStream input
         1: .line 59
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: new java.util.Scanner
            dup
            aload 3 /* input */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokespecial java.util.Scanner.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 6 /* scanner */
        start local 6 // java.util.Scanner scanner
         3: .line 60
            aload 6 /* scanner */
            ldc "\\A"
            invokevirtual java.util.Scanner.useDelimiter:(Ljava/lang/String;)Ljava/util/Scanner;
            invokevirtual java.util.Scanner.next:()Ljava/lang/String;
         4: .line 61
            aload 6 /* scanner */
            ifnull 5
            aload 6 /* scanner */
            invokevirtual java.util.Scanner.close:()V
         5: .line 60
      StackMap locals: io.vertx.serviceproxy.generator.GeneratorUtils java.lang.String java.lang.String java.io.InputStream java.lang.Throwable java.lang.Throwable java.util.Scanner
      StackMap stack: java.lang.String
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4
         7: .line 61
            aload 6 /* scanner */
            ifnull 8
            aload 6 /* scanner */
            invokevirtual java.util.Scanner.close:()V
        end local 6 // java.util.Scanner scanner
      StackMap locals:
      StackMap stack:
         8: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5
            aload 4
            ifnonnull 10
            aload 5
            astore 4
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 4
            aload 5
            if_acmpeq 11
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
        end local 3 // java.io.InputStream input
        end local 2 // java.lang.String moduleName
        end local 1 // java.lang.String resource
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0   12     1    resource  Ljava/lang/String;
            0   12     2  moduleName  Ljava/lang/String;
            1   12     3       input  Ljava/io/InputStream;
            3    8     6     scanner  Ljava/util/Scanner;
      Exception table:
        from    to  target  type
           3     4       6  any
           2     5       9  any
           6     9       9  any
    MethodParameters:
            Name  Flags
      resource    
      moduleName  

  public boolean isResultHandler(io.vertx.codegen.ParamInfo);
    descriptor: (Lio/vertx/codegen/ParamInfo;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
        start local 1 // io.vertx.codegen.ParamInfo param
         0: .line 65
            aload 1 /* param */
            ifnull 4
         1: .line 66
            aload 1 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.HANDLER:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 4
         2: .line 67
            aload 1 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.ASYNC_RESULT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 4
         3: .line 65
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // io.vertx.codegen.ParamInfo param
        end local 0 // io.vertx.serviceproxy.generator.GeneratorUtils this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/vertx/serviceproxy/generator/GeneratorUtils;
            0    5     1  param  Lio/vertx/codegen/ParamInfo;
    MethodParameters:
       Name  Flags
      param  
}
SourceFile: "GeneratorUtils.java"