public abstract class io.vertx.lang.js.generator.AbstractJSClassGenerator<M extends io.vertx.codegen.ClassModel> extends io.vertx.codegen.Generator<M>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.lang.js.generator.AbstractJSClassGenerator
  super_class: io.vertx.codegen.Generator
{
  private static volatile int[] $SWITCH_TABLE$io$vertx$codegen$type$ClassKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
         0: .line 28
            aload 0 /* this */
            invokespecial io.vertx.codegen.Generator.<init>:()V
            return
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;

  public java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> annotations();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
         0: .line 32
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lio/vertx/codegen/annotations/VertxGen;
            aastore
            dup
            iconst_1
            ldc Lio/vertx/codegen/annotations/ModuleGen;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
    Signature: ()Ljava/util/Collection<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  protected java.lang.String renderLinkToHtml(io.vertx.codegen.doc.Tag$Link);
    descriptor: (Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // io.vertx.codegen.doc.Tag$Link link
         0: .line 40
            aload 1 /* link */
            invokevirtual io.vertx.codegen.doc.Tag$Link.getTargetType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            astore 2 /* rawType */
        start local 2 // io.vertx.codegen.type.ClassTypeInfo rawType
         1: .line 41
            aload 2 /* rawType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getModule:()Lio/vertx/codegen/ModuleInfo;
            ifnull 21
         2: .line 42
            aload 1 /* link */
            invokevirtual io.vertx.codegen.doc.Tag$Link.getLabel:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 3 /* label */
        start local 3 // java.lang.String label
         3: .line 43
            aload 2 /* rawType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.DATA_OBJECT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 7
         4: .line 44
            aload 3 /* label */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 45
            aload 2 /* rawType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            astore 3 /* label */
         6: .line 47
      StackMap locals: io.vertx.codegen.type.ClassTypeInfo java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "<a href=\"../../dataobjects.html#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* rawType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</a>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         7: .line 48
      StackMap locals:
      StackMap stack:
            aload 2 /* rawType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.ENUM:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 11
            aload 2 /* rawType */
            checkcast io.vertx.codegen.type.EnumTypeInfo
            invokevirtual io.vertx.codegen.type.EnumTypeInfo.isGen:()Z
            ifeq 11
         8: .line 49
            aload 3 /* label */
            invokevirtual java.lang.String.length:()I
            ifne 10
         9: .line 50
            aload 2 /* rawType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            astore 3 /* label */
        10: .line 52
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "<a href=\"../../enums.html#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* rawType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</a>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 54
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            invokevirtual java.lang.String.length:()I
            ifle 13
        12: .line 55
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* label */
        13: .line 57
      StackMap locals:
      StackMap stack:
            aload 1 /* link */
            invokevirtual io.vertx.codegen.doc.Tag$Link.getTargetElement:()Ljavax/lang/model/element/Element;
            astore 4 /* elt */
        start local 4 // javax.lang.model.element.Element elt
        14: .line 58
            aload 2 /* rawType */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            astore 5 /* jsType */
        start local 5 // java.lang.String jsType
        15: .line 59
            aload 4 /* elt */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            astore 6 /* kind */
        start local 6 // javax.lang.model.element.ElementKind kind
        16: .line 60
            aload 6 /* kind */
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            if_acmpeq 17
            aload 6 /* kind */
            getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
            if_acmpne 18
        17: .line 61
      StackMap locals: javax.lang.model.element.Element java.lang.String javax.lang.model.element.ElementKind
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* label */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "{@link "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* jsType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        18: .line 62
      StackMap locals:
      StackMap stack:
            aload 6 /* kind */
            getstatic javax.lang.model.element.ElementKind.METHOD:Ljavax/lang/model/element/ElementKind;
            if_acmpne 20
        19: .line 63
            new java.lang.StringBuilder
            dup
            aload 3 /* label */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "{@link "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* jsType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* elt */
            invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        20: .line 65
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Unhandled kind "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // javax.lang.model.element.ElementKind kind
        end local 5 // java.lang.String jsType
        end local 4 // javax.lang.model.element.Element elt
        end local 3 // java.lang.String label
        21: .line 69
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.doc.Tag$Link io.vertx.codegen.type.ClassTypeInfo
      StackMap stack:
            aconst_null
            areturn
        end local 2 // io.vertx.codegen.type.ClassTypeInfo rawType
        end local 1 // io.vertx.codegen.doc.Tag$Link link
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0   22     1     link  Lio/vertx/codegen/doc/Tag$Link;
            1   22     2  rawType  Lio/vertx/codegen/type/ClassTypeInfo;
            3   21     3    label  Ljava/lang/String;
           14   21     4      elt  Ljavax/lang/model/element/Element;
           15   21     5   jsType  Ljava/lang/String;
           16   21     6     kind  Ljavax/lang/model/element/ElementKind;
    MethodParameters:
      Name  Flags
      link  

  protected java.lang.String getModuleName(io.vertx.codegen.type.ClassTypeInfo);
    descriptor: (Lio/vertx/codegen/type/ClassTypeInfo;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // io.vertx.codegen.type.ClassTypeInfo type
         0: .line 76
            new java.lang.StringBuilder
            dup
            aload 1 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getModuleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-js/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic io.vertx.codegen.Case.CAMEL:Lio/vertx/codegen/Case;
            getstatic io.vertx.codegen.Case.SNAKE:Lio/vertx/codegen/Case;
            aload 1 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            invokevirtual io.vertx.codegen.Case.to:(Lio/vertx/codegen/Case;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // io.vertx.codegen.type.ClassTypeInfo type
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0    1     1  type  Lio/vertx/codegen/type/ClassTypeInfo;
    MethodParameters:
      Name  Flags
      type  

  protected java.lang.String getJSDocType(io.vertx.codegen.type.TypeInfo);
    descriptor: (Lio/vertx/codegen/type/TypeInfo;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // io.vertx.codegen.type.TypeInfo type
         0: .line 83
            invokestatic io.vertx.lang.js.generator.AbstractJSClassGenerator.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:()[I
            aload 1 /* type */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iaload
            tableswitch { // 1 - 16
                    1: 1
                    2: 2
                    3: 2
                    4: 10
                    5: 10
                    6: 11
                    7: 16
                    8: 16
                    9: 10
                   10: 15
                   11: 15
                   12: 13
                   13: 12
                   14: 10
                   15: 14
                   16: 14
              default: 16
          }
         1: .line 85
      StackMap locals:
      StackMap stack:
            ldc "string"
            areturn
         2: .line 88
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual io.vertx.codegen.type.TypeInfo.getSimpleName:()Ljava/lang/String;
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
           -726803703: 3
              3052374: 4
             64711720: 5
           1729365000: 6
              default: 9
          }
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 2
            ldc "Character"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 9
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 9
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 9
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "Boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 9
         7: .line 91
      StackMap locals:
      StackMap stack:
            ldc "boolean"
            areturn
         8: .line 94
      StackMap locals:
      StackMap stack:
            ldc "string"
            areturn
         9: .line 96
      StackMap locals:
      StackMap stack:
            ldc "number"
            areturn
        10: .line 102
      StackMap locals:
      StackMap stack:
            ldc "Object"
            areturn
        11: .line 104
      StackMap locals:
      StackMap stack:
            ldc "Array"
            areturn
        12: .line 106
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            areturn
        13: .line 109
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Object.<string, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* type */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            iconst_1
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.getJSDocType:(Lio/vertx/codegen/type/TypeInfo;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        14: .line 112
      StackMap locals:
      StackMap stack:
            ldc "function"
            areturn
        15: .line 115
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Array.<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* type */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.getJSDocType:(Lio/vertx/codegen/type/TypeInfo;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        16: .line 117
      StackMap locals:
      StackMap stack:
            ldc "todo"
            areturn
        end local 1 // io.vertx.codegen.type.TypeInfo type
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0   17     1  type  Lio/vertx/codegen/type/TypeInfo;
    MethodParameters:
      Name  Flags
      type  

  protected java.lang.String convParam(M, io.vertx.codegen.MethodInfo, java.lang.String, boolean, io.vertx.codegen.ParamInfo);
    descriptor: (Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/MethodInfo;Ljava/lang/String;ZLio/vertx/codegen/ParamInfo;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=13, args_size=6
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // io.vertx.codegen.ClassModel model
        start local 2 // io.vertx.codegen.MethodInfo method
        start local 3 // java.lang.String argName
        start local 4 // boolean overloaded
        start local 5 // io.vertx.codegen.ParamInfo param
         0: .line 122
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 6 /* buffer */
        start local 6 // java.io.StringWriter buffer
         1: .line 123
            new io.vertx.codegen.writer.CodeWriter
            dup
            aload 6 /* buffer */
            invokespecial io.vertx.codegen.writer.CodeWriter.<init>:(Ljava/io/Writer;)V
            astore 7 /* writer */
        start local 7 // io.vertx.codegen.writer.CodeWriter writer
         2: .line 124
            iload 4 /* overloaded */
            ifeq 3
            aload 3 /* argName */
            goto 4
      StackMap locals: java.io.StringWriter io.vertx.codegen.writer.CodeWriter
      StackMap stack:
         3: aload 5 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 8 /* paramName */
        start local 8 // java.lang.String paramName
         5: .line 125
            aload 5 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            astore 9 /* paramKind */
        start local 9 // io.vertx.codegen.type.ClassKind paramKind
         6: .line 126
            aload 9 /* paramKind */
            getstatic io.vertx.codegen.type.ClassKind.FUNCTION:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 7
            iconst_1
            goto 8
      StackMap locals: java.lang.String io.vertx.codegen.type.ClassKind
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 10 /* funct */
        start local 10 // boolean funct
         9: .line 127
            aload 9 /* paramKind */
            getstatic io.vertx.codegen.type.ClassKind.HANDLER:Lio/vertx/codegen/type/ClassKind;
            if_acmpeq 10
            iload 10 /* funct */
            ifeq 61
        10: .line 128
      StackMap locals: int
      StackMap stack:
            aload 5 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            astore 11 /* type */
        start local 11 // io.vertx.codegen.type.ParameterizedTypeInfo type
        11: .line 129
            aload 11 /* type */
            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 44
        12: .line 130
            aload 11 /* type */
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            astore 12 /* asyncType */
        start local 12 // io.vertx.codegen.type.ParameterizedTypeInfo asyncType
        13: .line 131
            aload 5 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 15
        14: .line 132
            aload 7 /* writer */
            ldc "%s == null ? null : "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* paramName */
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        15: .line 134
      StackMap locals: io.vertx.codegen.type.ParameterizedTypeInfo io.vertx.codegen.type.ParameterizedTypeInfo
      StackMap stack:
            aload 7 /* writer */
            ldc "function(ar) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        16: .line 135
            aload 7 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        17: .line 136
            iload 10 /* funct */
            ifeq 19
        18: .line 137
            aload 7 /* writer */
            ldc "var jRet;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        19: .line 139
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            ldc "if (ar.succeeded()) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        20: .line 140
            aload 7 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        21: .line 141
            iload 10 /* funct */
            ifeq 23
        22: .line 142
            aload 7 /* writer */
            ldc "jRet = "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        23: .line 144
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            aload 8 /* paramName */
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        24: .line 145
            aload 7 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        25: .line 146
            ldc "java.lang.Void"
            aload 12 /* asyncType */
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 147
            aload 7 /* writer */
            ldc "null"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        27: .line 148
            goto 29
        28: .line 149
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            aload 0 /* this */
            aload 1 /* model */
            aload 2 /* method */
            aload 12 /* asyncType */
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            aload 0 /* this */
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.arVal:()Ljava/lang/String;
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.convReturn:(Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        29: .line 151
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            ldc ", null);"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        30: .line 152
            aload 7 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        31: .line 153
            aload 7 /* writer */
            ldc "} else {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        32: .line 154
            aload 7 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        33: .line 155
            iload 10 /* funct */
            ifeq 35
        34: .line 156
            aload 7 /* writer */
            ldc "jRet = "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        35: .line 158
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            aload 8 /* paramName */
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        36: .line 159
            aload 7 /* writer */
            ldc "(null, ar.cause());"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        37: .line 160
            aload 7 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        38: .line 161
            aload 7 /* writer */
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        39: .line 162
            iload 10 /* funct */
            ifeq 41
        40: .line 163
            aload 7 /* writer */
            ldc "return jRet;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        41: .line 165
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        42: .line 166
            aload 7 /* writer */
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        end local 12 // io.vertx.codegen.type.ParameterizedTypeInfo asyncType
        43: .line 167
            goto 62
      StackMap locals:
      StackMap stack:
        44: ldc "java.lang.Void"
            aload 11 /* type */
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        45: .line 168
            aload 7 /* writer */
            aload 8 /* paramName */
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        46: .line 169
            goto 62
        47: .line 170
      StackMap locals:
      StackMap stack:
            aload 5 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 50
        48: .line 171
            aload 7 /* writer */
            aload 8 /* paramName */
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        49: .line 172
            aload 7 /* writer */
            ldc " == null ? null : "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        50: .line 174
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            ldc "function(jVal) {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        51: .line 175
            aload 7 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        52: .line 176
            iload 10 /* funct */
            ifeq 54
        53: .line 177
            aload 7 /* writer */
            ldc "var jRet = "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        54: .line 179
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            aload 8 /* paramName */
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        55: .line 180
            aload 7 /* writer */
            ldc "(%s);\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 1 /* model */
            aload 2 /* method */
            aload 11 /* type */
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            aload 0 /* this */
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.basicVal:()Ljava/lang/String;
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.convReturn:(Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        56: .line 181
            iload 10 /* funct */
            ifeq 58
        57: .line 182
            aload 7 /* writer */
            ldc "return %s;\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 2 /* method */
            aload 5 /* param */
            aload 11 /* type */
            iconst_1
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            ldc "jRet"
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.unwrapToJava:(Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/ParamInfo;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        58: .line 184
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        59: .line 185
            aload 7 /* writer */
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        end local 11 // io.vertx.codegen.type.ParameterizedTypeInfo type
        60: .line 187
            goto 62
        61: .line 188
      StackMap locals:
      StackMap stack:
            aload 7 /* writer */
            aload 0 /* this */
            aload 2 /* method */
            aload 5 /* param */
            aload 5 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            aload 8 /* paramName */
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.unwrapToJava:(Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/ParamInfo;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        62: .line 190
      StackMap locals:
      StackMap stack:
            aload 6 /* buffer */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 10 // boolean funct
        end local 9 // io.vertx.codegen.type.ClassKind paramKind
        end local 8 // java.lang.String paramName
        end local 7 // io.vertx.codegen.writer.CodeWriter writer
        end local 6 // java.io.StringWriter buffer
        end local 5 // io.vertx.codegen.ParamInfo param
        end local 4 // boolean overloaded
        end local 3 // java.lang.String argName
        end local 2 // io.vertx.codegen.MethodInfo method
        end local 1 // io.vertx.codegen.ClassModel model
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   63     0        this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0   63     1       model  TM;
            0   63     2      method  Lio/vertx/codegen/MethodInfo;
            0   63     3     argName  Ljava/lang/String;
            0   63     4  overloaded  Z
            0   63     5       param  Lio/vertx/codegen/ParamInfo;
            1   63     6      buffer  Ljava/io/StringWriter;
            2   63     7      writer  Lio/vertx/codegen/writer/CodeWriter;
            5   63     8   paramName  Ljava/lang/String;
            6   63     9   paramKind  Lio/vertx/codegen/type/ClassKind;
            9   63    10       funct  Z
           11   60    11        type  Lio/vertx/codegen/type/ParameterizedTypeInfo;
           13   43    12   asyncType  Lio/vertx/codegen/type/ParameterizedTypeInfo;
    Signature: (TM;Lio/vertx/codegen/MethodInfo;Ljava/lang/String;ZLio/vertx/codegen/ParamInfo;)Ljava/lang/String;
    MethodParameters:
            Name  Flags
      model       
      method      
      argName     
      overloaded  
      param       

  protected abstract java.lang.String convReturn(M, io.vertx.codegen.MethodInfo, io.vertx.codegen.type.TypeInfo, java.lang.String);
    descriptor: (Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TM;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
            Name  Flags
      model       
      method      
      returnType  
      templ       

  protected void genDoc(M, io.vertx.codegen.writer.CodeWriter);
    descriptor: (Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/writer/CodeWriter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // io.vertx.codegen.ClassModel model
        start local 2 // io.vertx.codegen.writer.CodeWriter writer
         0: .line 197
            aload 2 /* writer */
            ldc "/**"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         1: .line 198
            aload 1 /* model */
            invokevirtual io.vertx.codegen.ClassModel.getIfaceComment:()Ljava/lang/String;
            ifnull 3
         2: .line 199
            aload 2 /* writer */
            aload 1 /* model */
            invokevirtual io.vertx.codegen.ClassModel.getIfaceComment:()Ljava/lang/String;
            invokestatic io.vertx.codegen.Helper.removeTags:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         3: .line 201
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            ldc " @class"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         4: .line 202
            aload 2 /* writer */
            ldc "*/"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
         5: .line 203
            return
        end local 2 // io.vertx.codegen.writer.CodeWriter writer
        end local 1 // io.vertx.codegen.ClassModel model
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0    6     1   model  TM;
            0    6     2  writer  Lio/vertx/codegen/writer/CodeWriter;
    Signature: (TM;Lio/vertx/codegen/writer/CodeWriter;)V
    MethodParameters:
        Name  Flags
      model   
      writer  

  protected java.lang.String unwrapToJava(io.vertx.codegen.MethodInfo, io.vertx.codegen.ParamInfo, io.vertx.codegen.type.TypeInfo, java.lang.String);
    descriptor: (Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/ParamInfo;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=13, args_size=5
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // io.vertx.codegen.MethodInfo method
        start local 2 // io.vertx.codegen.ParamInfo param
        start local 3 // io.vertx.codegen.type.TypeInfo unwrappedType
        start local 4 // java.lang.String unwrappedName
         0: .line 205
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 5 /* buffer */
        start local 5 // java.io.StringWriter buffer
         1: .line 206
            new java.io.PrintWriter
            dup
            aload 5 /* buffer */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 6 /* writer */
        start local 6 // java.io.PrintWriter writer
         2: .line 207
            aload 3 /* unwrappedType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            astore 7 /* kind */
        start local 7 // io.vertx.codegen.type.ClassKind kind
         3: .line 208
            invokestatic io.vertx.lang.js.generator.AbstractJSClassGenerator.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:()[I
            aload 7 /* kind */
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iaload
            tableswitch { // 1 - 18
                    1: 96
                    2: 96
                    3: 96
                    4: 10
                    5: 4
                    6: 6
                    7: 27
                    8: 120
                    9: 14
                   10: 31
                   11: 31
                   12: 69
                   13: 120
                   14: 8
                   15: 120
                   16: 120
                   17: 120
                   18: 29
              default: 120
          }
         4: .line 210
      StackMap locals: java.io.StringWriter java.io.PrintWriter io.vertx.codegen.type.ClassKind
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamJsonObject(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         5: .line 211
            goto 123
         6: .line 213
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamJsonArray(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         7: .line 214
            goto 123
         8: .line 216
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "%s  != null ? new %s(new JsonObject(Java.asJSONCompatible(%s))) : null"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            dup
            iconst_1
            aload 3 /* unwrappedType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         9: .line 217
            goto 123
        10: .line 219
      StackMap locals:
      StackMap stack:
            aload 2 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 12
        11: .line 220
            aload 6 /* writer */
            ldc "%s == null ? null : "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        12: .line 222
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "%s.valueOf(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unwrappedType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        13: .line 223
            goto 123
        14: .line 225
      StackMap locals:
      StackMap stack:
            aload 3 /* unwrappedType */
            invokevirtual io.vertx.codegen.type.TypeInfo.isVariable:()Z
            ifeq 25
        15: .line 226
            aload 3 /* unwrappedType */
            checkcast io.vertx.codegen.type.TypeVariableInfo
            astore 8 /* type */
        start local 8 // io.vertx.codegen.type.TypeVariableInfo type
        16: .line 227
            aload 8 /* type */
            invokevirtual io.vertx.codegen.type.TypeVariableInfo.isClassParam:()Z
            ifeq 19
        17: .line 228
            aload 6 /* writer */
            ldc "j_%s.unwrap(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unwrappedType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        18: .line 229
            goto 123
        19: .line 230
      StackMap locals: io.vertx.codegen.type.TypeVariableInfo
      StackMap stack:
            aload 1 /* method */
            aload 8 /* type */
            invokevirtual io.vertx.codegen.MethodInfo.resolveClassTypeParam:(Lio/vertx/codegen/type/TypeVariableInfo;)Lio/vertx/codegen/ParamInfo;
            astore 9 /* classTypeParam */
        start local 9 // io.vertx.codegen.ParamInfo classTypeParam
        20: .line 231
            aload 9 /* classTypeParam */
            ifnull 23
        21: .line 232
            aload 6 /* writer */
            ldc "utils.get_jtype(__args[%s]).unwrap(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* classTypeParam */
            invokevirtual io.vertx.codegen.ParamInfo.getIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        22: .line 233
            goto 123
        23: .line 234
      StackMap locals: io.vertx.codegen.ParamInfo
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamTypeUnknown(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 9 // io.vertx.codegen.ParamInfo classTypeParam
        end local 8 // io.vertx.codegen.type.TypeVariableInfo type
        24: .line 237
            goto 123
        25: .line 238
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamTypeUnknown(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        26: .line 240
            goto 123
        27: .line 242
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamThrowable(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        28: .line 243
            goto 123
        29: .line 245
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.get_jclass(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        30: .line 246
            goto 123
        31: .line 249
      StackMap locals:
      StackMap stack:
            aload 7 /* kind */
            getstatic io.vertx.codegen.type.ClassKind.LIST:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 32
            ldc "List"
            goto 33
      StackMap locals:
      StackMap stack:
        32: ldc "Set"
      StackMap locals:
      StackMap stack: java.lang.String
        33: astore 8 /* container */
        start local 8 // java.lang.String container
        34: .line 250
            aload 3 /* unwrappedType */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            astore 9 /* type */
        start local 9 // io.vertx.codegen.type.ParameterizedTypeInfo type
        35: .line 251
            aload 9 /* type */
            iconst_0
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            astore 10 /* arg */
        start local 10 // io.vertx.codegen.type.TypeInfo arg
        36: .line 252
            aload 10 /* arg */
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            astore 11 /* argName */
        start local 11 // java.lang.String argName
        37: .line 253
            aload 10 /* arg */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            astore 12 /* argKind */
        start local 12 // io.vertx.codegen.type.ClassKind argKind
        38: .line 255
            ldc "java.lang.Long"
            aload 11 /* argName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        39: .line 256
            aload 6 /* writer */
            ldc "utils.convParam%sLong(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        40: .line 257
            goto 123
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.MethodInfo io.vertx.codegen.ParamInfo io.vertx.codegen.type.TypeInfo java.lang.String java.io.StringWriter java.io.PrintWriter io.vertx.codegen.type.ClassKind java.lang.String io.vertx.codegen.type.ParameterizedTypeInfo io.vertx.codegen.type.TypeInfo java.lang.String io.vertx.codegen.type.ClassKind
      StackMap stack:
        41: ldc "java.lang.Short"
            aload 11 /* argName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
        42: .line 258
            aload 6 /* writer */
            ldc "utils.convParam%sShort(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        43: .line 259
            goto 123
      StackMap locals:
      StackMap stack:
        44: ldc "java.lang.Byte"
            aload 11 /* argName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        45: .line 260
            aload 6 /* writer */
            ldc "utils.convParam%sByte(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        46: .line 261
            goto 123
      StackMap locals:
      StackMap stack:
        47: aload 12 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 50
        48: .line 262
            aload 6 /* writer */
            ldc "utils.convParam%sVertxGen(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        49: .line 263
            goto 123
      StackMap locals:
      StackMap stack:
        50: aload 12 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 53
        51: .line 264
            aload 6 /* writer */
            ldc "utils.convParam%sJsonObject(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        52: .line 265
            goto 123
      StackMap locals:
      StackMap stack:
        53: aload 12 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.JSON_ARRAY:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 56
        54: .line 266
            aload 6 /* writer */
            ldc "utils.convParam%sJsonArray(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        55: .line 267
            goto 123
      StackMap locals:
      StackMap stack:
        56: aload 12 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.DATA_OBJECT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 59
        57: .line 268
            aload 6 /* writer */
            ldc "utils.convParam%sDataObject(%s, function(json) { return new %s(json); })"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            dup
            iconst_2
            aload 10 /* arg */
            invokevirtual io.vertx.codegen.type.TypeInfo.getSimpleName:()Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        58: .line 269
            goto 123
      StackMap locals:
      StackMap stack:
        59: aload 12 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.ENUM:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 62
        60: .line 270
            aload 6 /* writer */
            ldc "utils.convParam%sEnum(%s, function(val) { return Packages.%s.valueOf(val); })"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            dup
            iconst_2
            aload 10 /* arg */
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        61: .line 271
            goto 123
      StackMap locals:
      StackMap stack:
        62: aload 12 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.OBJECT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 65
        63: .line 272
            aload 6 /* writer */
            ldc "utils.convParam%sObject(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        64: .line 273
            goto 123
        65: .line 274
      StackMap locals:
      StackMap stack:
            aload 2 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 67
        66: .line 275
            aload 6 /* writer */
            ldc "%s == null ? null : "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        67: .line 277
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParam%sBasicOther(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* container */
            aastore
            dup
            iconst_1
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        68: .line 279
            goto 123
        end local 12 // io.vertx.codegen.type.ClassKind argKind
        end local 11 // java.lang.String argName
        end local 10 // io.vertx.codegen.type.TypeInfo arg
        end local 9 // io.vertx.codegen.type.ParameterizedTypeInfo type
        end local 8 // java.lang.String container
        69: .line 282
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.MethodInfo io.vertx.codegen.ParamInfo io.vertx.codegen.type.TypeInfo java.lang.String java.io.StringWriter java.io.PrintWriter io.vertx.codegen.type.ClassKind
      StackMap stack:
            aload 3 /* unwrappedType */
            checkcast io.vertx.codegen.type.ParameterizedTypeInfo
            astore 8 /* type */
        start local 8 // io.vertx.codegen.type.ParameterizedTypeInfo type
        70: .line 283
            aload 8 /* type */
            iconst_1
            invokevirtual io.vertx.codegen.type.ParameterizedTypeInfo.getArg:(I)Lio/vertx/codegen/type/TypeInfo;
            astore 9 /* arg */
        start local 9 // io.vertx.codegen.type.TypeInfo arg
        71: .line 284
            aload 9 /* arg */
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            astore 10 /* argName */
        start local 10 // java.lang.String argName
        72: .line 285
            aload 9 /* arg */
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            astore 11 /* argKind */
        start local 11 // io.vertx.codegen.type.ClassKind argKind
        73: .line 287
            ldc "java.lang.Long"
            aload 10 /* argName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 76
        74: .line 288
            aload 6 /* writer */
            ldc "utils.convParamMapLong(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        75: .line 289
            goto 123
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.MethodInfo io.vertx.codegen.ParamInfo io.vertx.codegen.type.TypeInfo java.lang.String java.io.StringWriter java.io.PrintWriter io.vertx.codegen.type.ClassKind io.vertx.codegen.type.ParameterizedTypeInfo io.vertx.codegen.type.TypeInfo java.lang.String io.vertx.codegen.type.ClassKind
      StackMap stack:
        76: ldc "java.lang.Short"
            aload 10 /* argName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 79
        77: .line 290
            aload 6 /* writer */
            ldc "utils.convParamMapShort(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        78: .line 291
            goto 123
      StackMap locals:
      StackMap stack:
        79: ldc "java.lang.Byte"
            aload 10 /* argName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 82
        80: .line 292
            aload 6 /* writer */
            ldc "utils.convParamMapByte(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        81: .line 293
            goto 123
      StackMap locals:
      StackMap stack:
        82: aload 11 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 85
        83: .line 294
            aload 6 /* writer */
            ldc "utils.convParamMapVertxGen(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        84: .line 295
            goto 123
      StackMap locals:
      StackMap stack:
        85: aload 11 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 88
        86: .line 296
            aload 6 /* writer */
            ldc "utils.convParamMapJsonObject(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        87: .line 297
            goto 123
      StackMap locals:
      StackMap stack:
        88: aload 11 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.JSON_ARRAY:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 91
        89: .line 298
            aload 6 /* writer */
            ldc "utils.convParamMapJsonArray(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        90: .line 299
            goto 123
      StackMap locals:
      StackMap stack:
        91: aload 11 /* argKind */
            getstatic io.vertx.codegen.type.ClassKind.OBJECT:Lio/vertx/codegen/type/ClassKind;
            if_acmpne 94
        92: .line 300
            aload 6 /* writer */
            ldc "utils.convParamMapObject(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        93: .line 301
            goto 123
        94: .line 302
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            aload 4 /* unwrappedName */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        95: .line 304
            goto 123
        end local 11 // io.vertx.codegen.type.ClassKind argKind
        end local 10 // java.lang.String argName
        end local 9 // io.vertx.codegen.type.TypeInfo arg
        end local 8 // io.vertx.codegen.type.ParameterizedTypeInfo type
        96: .line 309
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.MethodInfo io.vertx.codegen.ParamInfo io.vertx.codegen.type.TypeInfo java.lang.String java.io.StringWriter java.io.PrintWriter io.vertx.codegen.type.ClassKind
      StackMap stack:
            aload 3 /* unwrappedType */
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            dup
            astore 8
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 7
          -2056817302: 97
           -527879800: 98
           -515992664: 99
            155276373: 100
            398507100: 101
            398795216: 102
            761287205: 103
              default: 118
          }
      StackMap locals: java.lang.String
      StackMap stack:
        97: aload 8
            ldc "java.lang.Integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 108
            goto 118
      StackMap locals:
      StackMap stack:
        98: aload 8
            ldc "java.lang.Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 112
            goto 118
      StackMap locals:
      StackMap stack:
        99: aload 8
            ldc "java.lang.Short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 106
            goto 118
      StackMap locals:
      StackMap stack:
       100: aload 8
            ldc "java.lang.Character"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 116
            goto 118
      StackMap locals:
      StackMap stack:
       101: aload 8
            ldc "java.lang.Byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 104
            goto 118
      StackMap locals:
      StackMap stack:
       102: aload 8
            ldc "java.lang.Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 110
            goto 118
      StackMap locals:
      StackMap stack:
       103: aload 8
            ldc "java.lang.Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 114
            goto 118
       104: .line 311
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamByte(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       105: .line 312
            goto 123
       106: .line 314
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamShort(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       107: .line 315
            goto 123
       108: .line 317
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamInteger(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       109: .line 318
            goto 123
       110: .line 320
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamLong(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       111: .line 321
            goto 123
       112: .line 323
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamFloat(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       113: .line 324
            goto 123
       114: .line 326
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamDouble(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       115: .line 327
            goto 123
       116: .line 329
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "utils.convParamCharacter(%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       117: .line 330
            goto 123
       118: .line 332
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            aload 4 /* unwrappedName */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
       119: .line 335
            goto 123
       120: .line 337
      StackMap locals:
      StackMap stack:
            aload 2 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 122
       121: .line 338
            aload 6 /* writer */
            ldc "%s == null ? null : "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       122: .line 340
      StackMap locals:
      StackMap stack:
            aload 6 /* writer */
            ldc "%s._jdel"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* unwrappedName */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       123: .line 343
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 7 // io.vertx.codegen.type.ClassKind kind
        end local 6 // java.io.PrintWriter writer
        end local 5 // java.io.StringWriter buffer
        end local 4 // java.lang.String unwrappedName
        end local 3 // io.vertx.codegen.type.TypeInfo unwrappedType
        end local 2 // io.vertx.codegen.ParamInfo param
        end local 1 // io.vertx.codegen.MethodInfo method
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  124     0            this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0  124     1          method  Lio/vertx/codegen/MethodInfo;
            0  124     2           param  Lio/vertx/codegen/ParamInfo;
            0  124     3   unwrappedType  Lio/vertx/codegen/type/TypeInfo;
            0  124     4   unwrappedName  Ljava/lang/String;
            1  124     5          buffer  Ljava/io/StringWriter;
            2  124     6          writer  Ljava/io/PrintWriter;
            3  124     7            kind  Lio/vertx/codegen/type/ClassKind;
           16   24     8            type  Lio/vertx/codegen/type/TypeVariableInfo;
           20   24     9  classTypeParam  Lio/vertx/codegen/ParamInfo;
           34   69     8       container  Ljava/lang/String;
           35   69     9            type  Lio/vertx/codegen/type/ParameterizedTypeInfo;
           36   69    10             arg  Lio/vertx/codegen/type/TypeInfo;
           37   69    11         argName  Ljava/lang/String;
           38   69    12         argKind  Lio/vertx/codegen/type/ClassKind;
           70   96     8            type  Lio/vertx/codegen/type/ParameterizedTypeInfo;
           71   96     9             arg  Lio/vertx/codegen/type/TypeInfo;
           72   96    10         argName  Ljava/lang/String;
           73   96    11         argKind  Lio/vertx/codegen/type/ClassKind;
    MethodParameters:
               Name  Flags
      method         
      param          
      unwrappedType  
      unwrappedName  

  protected java.lang.String arVal();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
         0: .line 347
            ldc "ar.result()"
            areturn
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;

  protected java.lang.String basicVal();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
         0: .line 351
            ldc "jVal"
            areturn
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;

  protected void genConstant(M, io.vertx.codegen.ConstantInfo, io.vertx.codegen.writer.CodeWriter);
    descriptor: (Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/ConstantInfo;Lio/vertx/codegen/writer/CodeWriter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=5, args_size=4
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // io.vertx.codegen.ClassModel model
        start local 2 // io.vertx.codegen.ConstantInfo constant
        start local 3 // io.vertx.codegen.writer.CodeWriter writer
         0: .line 356
            new java.lang.StringBuilder
            dup
            ldc "J"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* model */
            invokevirtual io.vertx.codegen.ClassModel.getType:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* constant */
            invokevirtual io.vertx.codegen.ConstantInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* templ */
        start local 4 // java.lang.String templ
         1: .line 358
            aload 3 /* writer */
            ldc "%s.%s = %s;\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* model */
            invokevirtual io.vertx.codegen.ClassModel.getType:()Lio/vertx/codegen/type/ClassTypeInfo;
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* constant */
            invokevirtual io.vertx.codegen.ConstantInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            aload 1 /* model */
            aconst_null
            aload 2 /* constant */
            invokevirtual io.vertx.codegen.ConstantInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            aload 4 /* templ */
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.convReturn:(Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/type/TypeInfo;Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
         2: .line 360
            return
        end local 4 // java.lang.String templ
        end local 3 // io.vertx.codegen.writer.CodeWriter writer
        end local 2 // io.vertx.codegen.ConstantInfo constant
        end local 1 // io.vertx.codegen.ClassModel model
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0    3     1     model  TM;
            0    3     2  constant  Lio/vertx/codegen/ConstantInfo;
            0    3     3    writer  Lio/vertx/codegen/writer/CodeWriter;
            1    3     4     templ  Ljava/lang/String;
    Signature: (TM;Lio/vertx/codegen/ConstantInfo;Lio/vertx/codegen/writer/CodeWriter;)V
    MethodParameters:
          Name  Flags
      model     
      constant  
      writer    

  protected void genMethod(M, java.lang.String, boolean, java.util.function.Predicate<io.vertx.codegen.MethodInfo>, io.vertx.codegen.writer.CodeWriter);
    descriptor: (Lio/vertx/codegen/ClassModel;Ljava/lang/String;ZLjava/util/function/Predicate;Lio/vertx/codegen/writer/CodeWriter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=22, args_size=6
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // io.vertx.codegen.ClassModel model
        start local 2 // java.lang.String methodName
        start local 3 // boolean genStatic
        start local 4 // java.util.function.Predicate methodFilter
        start local 5 // io.vertx.codegen.writer.CodeWriter writer
         0: .line 364
            aload 1 /* model */
            invokevirtual io.vertx.codegen.ClassModel.getMethods:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         1: .line 365
            iload 3 /* genStatic */
            aload 2 /* methodName */
            invokedynamic test(ZLjava/lang/String;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/lang/js/generator/AbstractJSClassGenerator.lambda$0(ZLjava/lang/String;Lio/vertx/codegen/MethodInfo;)Z (6)
                  (Lio/vertx/codegen/MethodInfo;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 366
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         3: .line 364
            astore 6 /* methodList */
        start local 6 // java.util.List methodList
         4: .line 368
            aload 1 /* model */
            invokevirtual io.vertx.codegen.ClassModel.getType:()Lio/vertx/codegen/type/ClassTypeInfo;
            astore 7 /* type */
        start local 7 // io.vertx.codegen.type.ClassTypeInfo type
         5: .line 369
            aload 7 /* type */
            invokevirtual io.vertx.codegen.type.ClassTypeInfo.getSimpleName:()Ljava/lang/String;
            astore 8 /* simpleName */
        start local 8 // java.lang.String simpleName
         6: .line 370
            aload 4 /* methodFilter */
            ifnull 14
         7: .line 371
            aload 6 /* methodList */
            astore 9 /* methodTmpl */
        start local 9 // java.util.List methodTmpl
         8: .line 372
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* methodList */
         9: .line 373
            aload 9 /* methodTmpl */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 13
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        10: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 10 /* method */
        start local 10 // io.vertx.codegen.MethodInfo method
        11: .line 374
            aload 4 /* methodFilter */
            aload 10 /* method */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 375
            aload 6 /* methodList */
            aload 10 /* method */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // io.vertx.codegen.MethodInfo method
        13: .line 373
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 9 // java.util.List methodTmpl
        14: .line 379
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String
      StackMap stack:
            aload 6 /* methodList */
            invokeinterface java.util.List.size:()I
            ifle 149
        15: .line 380
            aload 6 /* methodList */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 9 /* overloaded */
        start local 9 // boolean overloaded
        18: .line 381
            aload 6 /* methodList */
            aload 6 /* methodList */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 10 /* method */
        start local 10 // io.vertx.codegen.MethodInfo method
        19: .line 382
            iload 3 /* genStatic */
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.isStaticMethod:()Z
            if_icmpne 149
        20: .line 383
            aload 5 /* writer */
            ldc "/**"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        21: .line 384
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getDoc:()Lio/vertx/codegen/doc/Doc;
            ifnull 23
        22: .line 385
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getDoc:()Lio/vertx/codegen/doc/Doc;
            invokevirtual io.vertx.codegen.doc.Doc.getTokens:()Ljava/util/List;
            ldc ""
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/lang/js/generator/AbstractJSClassGenerator;)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/lang/js/generator/AbstractJSClassGenerator.renderLinkToHtml(Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String; (5)
                  (Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String;
            ldc "\n"
            aload 5 /* writer */
            invokestatic io.vertx.codegen.doc.Token.toHtml:(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Function;Ljava/lang/String;Ljava/io/PrintWriter;)V
        23: .line 387
      StackMap locals: int io.vertx.codegen.MethodInfo
      StackMap stack:
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        24: .line 388
            aload 5 /* writer */
            ldc " "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        25: .line 389
            iload 3 /* genStatic */
            ifeq 28
        26: .line 390
            aload 5 /* writer */
            ldc "@memberof module:%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 7 /* type */
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.getModuleName:(Lio/vertx/codegen/type/ClassTypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        27: .line 391
            goto 29
        28: .line 392
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "@public"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        29: .line 394
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 12 /* first */
        start local 12 // boolean first
        30: .line 395
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 40
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top java.util.Iterator
      StackMap stack:
        31: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.ParamInfo
            astore 13 /* param */
        start local 13 // io.vertx.codegen.ParamInfo param
        32: .line 396
            iload 12 /* first */
            ifeq 35
        33: .line 397
            iconst_0
            istore 12 /* first */
        34: .line 398
            goto 36
        35: .line 399
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int io.vertx.codegen.ParamInfo java.util.Iterator
      StackMap stack:
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        36: .line 401
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc " @param %s {%s} "
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            aload 13 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.getJSDocType:(Lio/vertx/codegen/type/TypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        37: .line 402
            aload 13 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getDescription:()Lio/vertx/codegen/doc/Text;
            ifnull 40
        38: .line 403
            aload 13 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getDescription:()Lio/vertx/codegen/doc/Text;
            invokevirtual io.vertx.codegen.doc.Text.getTokens:()Ljava/util/List;
            ldc ""
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/lang/js/generator/AbstractJSClassGenerator;)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/lang/js/generator/AbstractJSClassGenerator.renderLinkToHtml(Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String; (5)
                  (Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String;
            ldc ""
            aload 5 /* writer */
            invokestatic io.vertx.codegen.doc.Token.toHtml:(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Function;Ljava/lang/String;Ljava/io/PrintWriter;)V
        39: .line 404
            aload 5 /* writer */
            ldc " "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        end local 13 // io.vertx.codegen.ParamInfo param
        40: .line 395
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        41: .line 407
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        42: .line 409
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            getstatic io.vertx.codegen.type.ClassKind.VOID:Lio/vertx/codegen/type/ClassKind;
            if_acmpeq 48
        43: .line 410
            aload 5 /* writer */
            ldc " @return {%s}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.getJSDocType:(Lio/vertx/codegen/type/TypeInfo;)Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        44: .line 411
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnDescription:()Lio/vertx/codegen/doc/Text;
            ifnull 47
        45: .line 412
            aload 5 /* writer */
            ldc " "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        46: .line 413
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getReturnDescription:()Lio/vertx/codegen/doc/Text;
            invokevirtual io.vertx.codegen.doc.Text.getTokens:()Ljava/util/List;
            ldc ""
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/lang/js/generator/AbstractJSClassGenerator;)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/lang/js/generator/AbstractJSClassGenerator.renderLinkToHtml(Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String; (5)
                  (Lio/vertx/codegen/doc/Tag$Link;)Ljava/lang/String;
            ldc ""
            aload 5 /* writer */
            invokestatic io.vertx.codegen.doc.Token.toHtml:(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Function;Ljava/lang/String;Ljava/io/PrintWriter;)V
        47: .line 415
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int
      StackMap stack:
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        48: .line 417
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc " */"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        49: .line 419
            aload 5 /* writer */
            ldc "%s.%s = "
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* genStatic */
            ifeq 50
            aload 8 /* simpleName */
            goto 51
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int
      StackMap stack: io.vertx.codegen.writer.CodeWriter java.lang.String java.lang.Object[] java.lang.Object[] int
        50: ldc "this"
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int
      StackMap stack: io.vertx.codegen.writer.CodeWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        51: aastore
            dup
            iconst_1
            aload 2 /* methodName */
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        52: .line 420
            iload 9 /* overloaded */
            ifeq 55
        53: .line 421
            aload 5 /* writer */
            ldc " function() {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        54: .line 422
            goto 56
        55: .line 423
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc " function(%s) {\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            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/codegen/ParamInfo.getName()Ljava/lang/String; (5)
                  (Lio/vertx/codegen/ParamInfo;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            ldc ", "
            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;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        56: .line 425
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 14 /* mcnt */
        start local 14 // int mcnt
        57: .line 426
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
        58: .line 427
            aload 5 /* writer */
            ldc "var __args = arguments;"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
        59: .line 428
            aload 6 /* methodList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 140
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top int top java.util.Iterator
      StackMap stack:
        60: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.MethodInfo
            astore 15 /* m */
        start local 15 // io.vertx.codegen.MethodInfo m
        61: .line 429
            aload 5 /* writer */
            iload 14 /* mcnt */
            iinc 14 /* mcnt */ 1
            ifne 62
            ldc "if"
            goto 63
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator
      StackMap stack: io.vertx.codegen.writer.CodeWriter
        62: ldc " else if"
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator
      StackMap stack: io.vertx.codegen.writer.CodeWriter java.lang.String
        63: invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        64: .line 430
            aload 15 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 17 /* paramSize */
        start local 17 // int paramSize
        65: .line 431
            aload 5 /* writer */
            ldc " (__args.length === %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 17 /* paramSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        66: .line 432
            iconst_0
            istore 18 /* cnt */
        start local 18 // int cnt
        67: .line 433
            iload 17 /* paramSize */
            ifle 69
        68: .line 434
            aload 5 /* writer */
            ldc " && "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        69: .line 436
      StackMap locals: int int
      StackMap stack:
            iconst_1
            istore 12 /* first */
        70: .line 437
            aload 15 /* m */
            invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 134
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator int int top java.util.Iterator
      StackMap stack:
        71: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.ParamInfo
            astore 19 /* param */
        start local 19 // io.vertx.codegen.ParamInfo param
        72: .line 438
            iload 12 /* first */
            ifeq 75
        73: .line 439
            iconst_0
            istore 12 /* first */
        74: .line 440
            goto 76
        75: .line 441
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator int int io.vertx.codegen.ParamInfo java.util.Iterator
      StackMap stack:
            aload 5 /* writer */
            ldc " && "
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        76: .line 443
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.lang.js.generator.AbstractJSClassGenerator.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:()[I
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iaload
            tableswitch { // 1 - 18
                    1: 91
                    2: 77
                    3: 77
                    4: 91
                    5: 128
                    6: 106
                    7: 126
                    8: 128
                    9: 119
                   10: 106
                   11: 106
                   12: 128
                   13: 99
                   14: 128
                   15: 113
                   16: 124
                   17: 128
                   18: 97
              default: 128
          }
        77: .line 446
      StackMap locals:
      StackMap stack:
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 79
        78: .line 447
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        79: .line 449
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] ==="
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        80: .line 450
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getSimpleName:()Ljava/lang/String;
            astore 21 /* paramSimpleName */
        start local 21 // java.lang.String paramSimpleName
        81: .line 451
            ldc "boolean"
            aload 21 /* paramSimpleName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 84
        82: .line 452
            aload 5 /* writer */
            ldc "'boolean'"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        83: .line 453
            goto 88
      StackMap locals: java.lang.String
      StackMap stack:
        84: ldc "char"
            aload 21 /* paramSimpleName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 85
            ldc "Character"
            aload 21 /* paramSimpleName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 87
        85: .line 454
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "'string'"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        86: .line 455
            goto 88
        87: .line 456
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "'number'"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        88: .line 458
      StackMap locals:
      StackMap stack:
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 133
        89: .line 459
            aload 5 /* writer */
            ldc " || __args[%s] == null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        90: .line 461
            goto 133
        end local 21 // java.lang.String paramSimpleName
        91: .line 464
      StackMap locals:
      StackMap stack:
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 93
        92: .line 465
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        93: .line 467
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'string'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        94: .line 468
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 133
        95: .line 469
            aload 5 /* writer */
            ldc " || __args[%s] == null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        96: .line 471
            goto 133
        97: .line 473
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'function'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
        98: .line 474
            goto 133
        99: .line 476
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'object' && "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       100: .line 477
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 102
       101: .line 478
            aload 5 /* writer */
            ldc "(__args[%s] == null || "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       102: .line 480
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "__args[%s]._jdel"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       103: .line 481
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 133
       104: .line 482
            aload 5 /* writer */
            ldc ")"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
       105: .line 484
            goto 133
       106: .line 488
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'object' && "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       107: .line 489
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 109
       108: .line 490
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
       109: .line 492
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "__args[%s] instanceof Array"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       110: .line 493
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 133
       111: .line 494
            aload 5 /* writer */
            ldc " || __args[%s] == null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       112: .line 496
            goto 133
       113: .line 498
      StackMap locals:
      StackMap stack:
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 115
       114: .line 499
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
       115: .line 501
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'function'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       116: .line 502
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifeq 133
       117: .line 503
            aload 5 /* writer */
            ldc " || __args[%s] == null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       118: .line 505
            goto 133
       119: .line 507
      StackMap locals:
      StackMap stack:
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.isVariable:()Z
            ifeq 122
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            checkcast io.vertx.codegen.type.TypeVariableInfo
            invokevirtual io.vertx.codegen.type.TypeVariableInfo.isClassParam:()Z
            ifeq 122
       120: .line 508
            aload 5 /* writer */
            ldc "j_%s.accept(__args[%s])"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
            invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       121: .line 509
            goto 133
       122: .line 510
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] !== 'function'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       123: .line 512
            goto 133
       124: .line 514
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'function'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       125: .line 515
            goto 133
       126: .line 517
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'object'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       127: .line 518
            goto 133
       128: .line 520
      StackMap locals:
      StackMap stack:
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifne 130
       129: .line 521
            aload 5 /* writer */
            ldc "("
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
       130: .line 523
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            ldc "typeof __args[%s] === 'object'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       131: .line 524
            aload 19 /* param */
            invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
            ifne 133
       132: .line 525
            aload 5 /* writer */
            ldc " && __args[%s] != null)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 18 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       133: .line 528
      StackMap locals:
      StackMap stack:
            iinc 18 /* cnt */ 1
        end local 19 // io.vertx.codegen.ParamInfo param
       134: .line 437
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top int io.vertx.codegen.MethodInfo java.util.Iterator int int top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 71
       135: .line 530
            aload 5 /* writer */
            ldc ") {"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
       136: .line 531
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.indent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
       137: .line 532
            aload 0 /* this */
            aload 1 /* model */
            aload 15 /* m */
            aload 5 /* writer */
            invokevirtual io.vertx.lang.js.generator.AbstractJSClassGenerator.genMethodAdapter:(Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/writer/CodeWriter;)V
       138: .line 533
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
       139: .line 534
            aload 5 /* writer */
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.print:(Ljava/lang/String;)V
        end local 18 // int cnt
        end local 17 // int paramSize
        end local 15 // io.vertx.codegen.MethodInfo m
       140: .line 428
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top int top java.util.Iterator
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 60
       141: .line 536
            iload 3 /* genStatic */
            ifne 145
       142: .line 537
            aload 5 /* writer */
            ldc " else if (typeof __super_%s != 'undefined') {\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       143: .line 538
            aload 5 /* writer */
            aload 5 /* writer */
            aload 10 /* method */
            invokedynamic run(Lio/vertx/codegen/writer/CodeWriter;Lio/vertx/codegen/MethodInfo;)Ljava/lang/Runnable;
              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:
                  ()V
                  io/vertx/lang/js/generator/AbstractJSClassGenerator.lambda$5(Lio/vertx/codegen/writer/CodeWriter;Lio/vertx/codegen/MethodInfo;)V (6)
                  ()V
            invokevirtual io.vertx.codegen.writer.CodeWriter.indented:(Ljava/lang/Runnable;)Lio/vertx/codegen/writer/CodeWriter;
            pop
       144: .line 539
            aload 5 /* writer */
            ldc "}"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
       145: .line 541
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String int io.vertx.codegen.MethodInfo top int top int
      StackMap stack:
            aload 5 /* writer */
            ldc "else throw new TypeError('function invoked with invalid arguments');"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
       146: .line 542
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.unindent:()Lio/vertx/codegen/writer/CodeWriter;
            pop
       147: .line 543
            aload 5 /* writer */
            ldc "};"
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:(Ljava/lang/String;)V
       148: .line 544
            aload 5 /* writer */
            invokevirtual io.vertx.codegen.writer.CodeWriter.println:()V
        end local 14 // int mcnt
        end local 12 // boolean first
        end local 10 // io.vertx.codegen.MethodInfo method
        end local 9 // boolean overloaded
       149: .line 547
      StackMap locals: io.vertx.lang.js.generator.AbstractJSClassGenerator io.vertx.codegen.ClassModel java.lang.String int java.util.function.Predicate io.vertx.codegen.writer.CodeWriter java.util.List io.vertx.codegen.type.ClassTypeInfo java.lang.String
      StackMap stack:
            return
        end local 8 // java.lang.String simpleName
        end local 7 // io.vertx.codegen.type.ClassTypeInfo type
        end local 6 // java.util.List methodList
        end local 5 // io.vertx.codegen.writer.CodeWriter writer
        end local 4 // java.util.function.Predicate methodFilter
        end local 3 // boolean genStatic
        end local 2 // java.lang.String methodName
        end local 1 // io.vertx.codegen.ClassModel model
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  150     0             this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0  150     1            model  TM;
            0  150     2       methodName  Ljava/lang/String;
            0  150     3        genStatic  Z
            0  150     4     methodFilter  Ljava/util/function/Predicate<Lio/vertx/codegen/MethodInfo;>;
            0  150     5           writer  Lio/vertx/codegen/writer/CodeWriter;
            4  150     6       methodList  Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;
            5  150     7             type  Lio/vertx/codegen/type/ClassTypeInfo;
            6  150     8       simpleName  Ljava/lang/String;
            8   14     9       methodTmpl  Ljava/util/List<Lio/vertx/codegen/MethodInfo;>;
           11   13    10           method  Lio/vertx/codegen/MethodInfo;
           18  149     9       overloaded  Z
           19  149    10           method  Lio/vertx/codegen/MethodInfo;
           30  149    12            first  Z
           32   40    13            param  Lio/vertx/codegen/ParamInfo;
           57  149    14             mcnt  I
           61  140    15                m  Lio/vertx/codegen/MethodInfo;
           65  140    17        paramSize  I
           67  140    18              cnt  I
           72  134    19            param  Lio/vertx/codegen/ParamInfo;
           81   91    21  paramSimpleName  Ljava/lang/String;
    Signature: (TM;Ljava/lang/String;ZLjava/util/function/Predicate<Lio/vertx/codegen/MethodInfo;>;Lio/vertx/codegen/writer/CodeWriter;)V
    MethodParameters:
              Name  Flags
      model         
      methodName    
      genStatic     
      methodFilter  
      writer        

  protected abstract void genMethodAdapter(M, io.vertx.codegen.MethodInfo, io.vertx.codegen.writer.CodeWriter);
    descriptor: (Lio/vertx/codegen/ClassModel;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/writer/CodeWriter;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TM;Lio/vertx/codegen/MethodInfo;Lio/vertx/codegen/writer/CodeWriter;)V
    MethodParameters:
        Name  Flags
      model   
      method  
      writer  

  protected void genLicenses(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
        start local 1 // java.io.PrintWriter writer
         0: .line 553
            aload 1 /* writer */
            ldc "/*"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 554
            aload 1 /* writer */
            ldc " * Copyright 2014 Red Hat, Inc."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 555
            aload 1 /* writer */
            ldc " *"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 556
            aload 1 /* writer */
            ldc " * Red Hat licenses this file to you under the Apache License, version 2.0"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 557
            aload 1 /* writer */
            ldc " * (the \"License\"); you may not use this file except in compliance with the"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 558
            aload 1 /* writer */
            ldc " * License.  You may obtain a copy of the License at:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 559
            aload 1 /* writer */
            ldc " *"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 560
            aload 1 /* writer */
            ldc " * http://www.apache.org/licenses/LICENSE-2.0"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         8: .line 561
            aload 1 /* writer */
            ldc " *"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         9: .line 562
            aload 1 /* writer */
            ldc " * Unless required by applicable law or agreed to in writing, software"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        10: .line 563
            aload 1 /* writer */
            ldc " * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        11: .line 564
            aload 1 /* writer */
            ldc " * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        12: .line 565
            aload 1 /* writer */
            ldc " * License for the specific language governing permissions and limitations"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 566
            aload 1 /* writer */
            ldc " * under the License."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 567
            aload 1 /* writer */
            ldc " */"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        15: .line 568
            return
        end local 1 // java.io.PrintWriter writer
        end local 0 // io.vertx.lang.js.generator.AbstractJSClassGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lio/vertx/lang/js/generator/AbstractJSClassGenerator<TM;>;
            0   16     1  writer  Ljava/io/PrintWriter;
    MethodParameters:
        Name  Flags
      writer  

  static int[] $SWITCH_TABLE$io$vertx$codegen$type$ClassKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 28
            getstatic io.vertx.lang.js.generator.AbstractJSClassGenerator.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.vertx.codegen.type.ClassKind.values:()[Lio/vertx/codegen/type/ClassKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 13
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.vertx.codegen.type.ClassKind.ASYNC_RESULT:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 17
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.vertx.codegen.type.ClassKind.BOXED_PRIMITIVE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.vertx.codegen.type.ClassKind.CLASS_TYPE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 18
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.vertx.codegen.type.ClassKind.DATA_OBJECT:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 14
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.vertx.codegen.type.ClassKind.ENUM:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_4
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic io.vertx.codegen.type.ClassKind.FUNCTION:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 16
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic io.vertx.codegen.type.ClassKind.HANDLER:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 15
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic io.vertx.codegen.type.ClassKind.JSON_ARRAY:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 6
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic io.vertx.codegen.type.ClassKind.JSON_OBJECT:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_5
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic io.vertx.codegen.type.ClassKind.LIST:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic io.vertx.codegen.type.ClassKind.MAP:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 12
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic io.vertx.codegen.type.ClassKind.OBJECT:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 9
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic io.vertx.codegen.type.ClassKind.OTHER:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 19
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic io.vertx.codegen.type.ClassKind.PRIMITIVE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_3
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic io.vertx.codegen.type.ClassKind.SET:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 11
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic io.vertx.codegen.type.ClassKind.STRING:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            iconst_1
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic io.vertx.codegen.type.ClassKind.THROWABLE:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 7
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic io.vertx.codegen.type.ClassKind.VOID:Lio/vertx/codegen/type/ClassKind;
            invokevirtual io.vertx.codegen.type.ClassKind.ordinal:()I
            bipush 8
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            dup
            putstatic io.vertx.lang.js.generator.AbstractJSClassGenerator.$SWITCH_TABLE$io$vertx$codegen$type$ClassKind:[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
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError

  private static boolean lambda$0(boolean, java.lang.String, io.vertx.codegen.MethodInfo);
    descriptor: (ZLjava/lang/String;Lio/vertx/codegen/MethodInfo;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.codegen.MethodInfo method
         0: .line 365
            aload 2 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.isStaticMethod:()Z
            iload 0
            if_icmpne 1
            aload 2 /* method */
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            aload 1
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // io.vertx.codegen.MethodInfo method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     2  method  Lio/vertx/codegen/MethodInfo;

  private static void lambda$5(io.vertx.codegen.writer.CodeWriter, io.vertx.codegen.MethodInfo);
    descriptor: (Lio/vertx/codegen/writer/CodeWriter;Lio/vertx/codegen/MethodInfo;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=2, args_size=2
         0: .line 538
            aload 0
            ldc "return __super_%s.apply(this, __args);\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1
            invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
            aastore
            invokevirtual io.vertx.codegen.writer.CodeWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Lio/vertx/codegen/writer/CodeWriter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <M:Lio/vertx/codegen/ClassModel;>Lio/vertx/codegen/Generator<TM;>;
SourceFile: "AbstractJSClassGenerator.java"
InnerClasses:
  public Link = io.vertx.codegen.doc.Tag$Link of io.vertx.codegen.doc.Tag
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles