public class io.vertx.lang.js.JSDocGenerator implements io.vertx.docgen.DocGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.lang.js.JSDocGenerator
super_class: java.lang.Object
{
private io.vertx.codegen.type.TypeMirrorFactory factory;
descriptor: Lio/vertx/codegen/type/TypeMirrorFactory;
flags: (0x0002) ACC_PRIVATE
private io.vertx.codetrans.CodeTranslator translator;
descriptor: Lio/vertx/codetrans/CodeTranslator;
flags: (0x0002) ACC_PRIVATE
private javax.annotation.processing.ProcessingEnvironment env;
descriptor: Ljavax/annotation/processing/ProcessingEnvironment;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/lang/js/JSDocGenerator;
public void init(javax.annotation.processing.ProcessingEnvironment);
descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new io.vertx.codegen.type.TypeMirrorFactory
dup
aload 1
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
aload 1
invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
invokespecial io.vertx.codegen.type.TypeMirrorFactory.<init>:(Ljavax/lang/model/util/Elements;Ljavax/lang/model/util/Types;)V
putfield io.vertx.lang.js.JSDocGenerator.factory:Lio/vertx/codegen/type/TypeMirrorFactory;
1: aload 0
new io.vertx.codetrans.CodeTranslator
dup
aload 1
invokespecial io.vertx.codetrans.CodeTranslator.<init>:(Ljavax/annotation/processing/ProcessingEnvironment;)V
putfield io.vertx.lang.js.JSDocGenerator.translator:Lio/vertx/codetrans/CodeTranslator;
2: aload 0
aload 1
putfield io.vertx.lang.js.JSDocGenerator.env:Ljavax/annotation/processing/ProcessingEnvironment;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/lang/js/JSDocGenerator;
0 4 1 processingEnv Ljavax/annotation/processing/ProcessingEnvironment;
MethodParameters:
Name Flags
processingEnv
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "js"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/lang/js/JSDocGenerator;
public java.lang.String renderSource(javax.lang.model.element.ExecutableElement, java.lang.String);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new io.vertx.codetrans.lang.js.JavaScriptLang
dup
invokespecial io.vertx.codetrans.lang.js.JavaScriptLang.<init>:()V
astore 3
start local 3 1: aload 0
getfield io.vertx.lang.js.JSDocGenerator.translator:Lio/vertx/codetrans/CodeTranslator;
aload 1
aload 3
invokevirtual io.vertx.codetrans.CodeTranslator.translate:(Ljavax/lang/model/element/ExecutableElement;Lio/vertx/codetrans/Lang;)Ljava/lang/String;
2: areturn
3: StackMap locals: io.vertx.lang.js.JSDocGenerator javax.lang.model.element.ExecutableElement java.lang.String io.vertx.codetrans.lang.js.JavaScriptLang
StackMap stack: java.lang.Exception
astore 4
start local 4 4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Cannot generate "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: ldc "Code not translatable"
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/lang/js/JSDocGenerator;
0 6 1 elt Ljavax/lang/model/element/ExecutableElement;
0 6 2 source Ljava/lang/String;
1 6 3 lang Lio/vertx/codetrans/lang/js/JavaScriptLang;
4 6 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
elt
source
public java.lang.String resolveTypeLink(javax.lang.model.element.TypeElement, io.vertx.docgen.Coordinate);
descriptor: (Ljavax/lang/model/element/TypeElement;Lio/vertx/docgen/Coordinate;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.lang.js.JSDocGenerator.factory:Lio/vertx/codegen/type/TypeMirrorFactory;
aload 1
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
astore 3
start local 3 1: goto 5
end local 3 StackMap locals:
StackMap stack: java.lang.Exception
2: pop
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Could not resolve doc link for type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
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
4: aconst_null
areturn
start local 3 5: StackMap locals: io.vertx.codegen.type.TypeInfo
StackMap stack:
aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.ENUM:Lio/vertx/codegen/type/ClassKind;
if_acmpne 11
aload 3
checkcast io.vertx.codegen.type.EnumTypeInfo
invokevirtual io.vertx.codegen.type.EnumTypeInfo.isGen:()Z
ifeq 11
6: aload 2
ifnonnull 9
7: ldc "../"
astore 4
start local 4 8: goto 10
end local 4 9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "../../"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual io.vertx.docgen.Coordinate.getArtifactId:()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;
astore 4
start local 4 10: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "enums.html#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface javax.lang.model.element.TypeElement.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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 11: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.DATA_OBJECT:Lio/vertx/codegen/type/ClassKind;
if_acmpne 17
12: aload 2
ifnonnull 15
13: ldc "../"
astore 4
start local 4 14: goto 16
end local 4 15: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "../../"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual io.vertx.docgen.Coordinate.getArtifactId:()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;
astore 4
start local 4 16: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "dataobjects.html#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface javax.lang.model.element.TypeElement.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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 17: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.API:Lio/vertx/codegen/type/ClassKind;
if_acmpne 20
18: aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
astore 4
start local 4 19: new java.lang.StringBuilder
dup
ldc "../../jsdoc/module-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual io.vertx.codegen.type.ClassTypeInfo.getModule:()Lio/vertx/codegen/ModuleInfo;
getstatic io.vertx.codegen.Case.KEBAB:Lio/vertx/codegen/Case;
invokevirtual io.vertx.codegen.ModuleInfo.getName:(Lio/vertx/codegen/Case;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-js_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic io.vertx.codegen.Case.SNAKE:Lio/vertx/codegen/Case;
getstatic io.vertx.codegen.Case.CAMEL:Lio/vertx/codegen/Case;
aload 1
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual io.vertx.codegen.Case.parse:(Ljava/lang/String;)Ljava/util/List;
invokevirtual io.vertx.codegen.Case.format:(Ljava/lang/Iterable;)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 1
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ".html"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 20: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/vertx/lang/js/JSDocGenerator;
0 21 1 elt Ljavax/lang/model/element/TypeElement;
0 21 2 coordinate Lio/vertx/docgen/Coordinate;
1 2 3 type Lio/vertx/codegen/type/TypeInfo;
5 21 3 type Lio/vertx/codegen/type/TypeInfo;
8 9 4 baselink Ljava/lang/String;
10 11 4 baselink Ljava/lang/String;
14 15 4 baselink Ljava/lang/String;
16 17 4 baselink Ljava/lang/String;
19 20 4 ct Lio/vertx/codegen/type/ClassTypeInfo;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
elt
coordinate
public java.lang.String resolveMethodLink(javax.lang.model.element.ExecutableElement, io.vertx.docgen.Coordinate);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Lio/vertx/docgen/Coordinate;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokevirtual io.vertx.lang.js.JSDocGenerator.resolveTypeLink:(Ljavax/lang/model/element/TypeElement;Lio/vertx/docgen/Coordinate;)Ljava/lang/String;
astore 4
start local 4 2: aload 4
ifnull 7
3: aload 4
ldc "cheatsheet"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 6
4: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 35
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.beans.Introspector.decapitalize:(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;
astore 4
5: goto 7
6: StackMap locals: javax.lang.model.element.TypeElement java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 35
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
7: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/lang/js/JSDocGenerator;
0 8 1 elt Ljavax/lang/model/element/ExecutableElement;
0 8 2 coordinate Lio/vertx/docgen/Coordinate;
1 8 3 typeElt Ljavax/lang/model/element/TypeElement;
2 8 4 link Ljava/lang/String;
MethodParameters:
Name Flags
elt
coordinate
public java.lang.String resolveLabel(javax.lang.model.element.Element, java.lang.String);
descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.METHOD:Ljavax/lang/model/element/ElementKind;
if_acmpne 7
1: aload 0
getfield io.vertx.lang.js.JSDocGenerator.factory:Lio/vertx/codegen/type/TypeMirrorFactory;
aload 1
invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual io.vertx.codegen.type.TypeMirrorFactory.create:(Ljavax/lang/model/type/TypeMirror;)Lio/vertx/codegen/type/TypeInfo;
astore 3
start local 3 2: aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
getstatic io.vertx.codegen.type.ClassKind.DATA_OBJECT:Lio/vertx/codegen/type/ClassKind;
if_acmpne 7
3: aload 1
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 4
start local 4 4: aload 4
ldc "set"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
aload 4
invokevirtual java.lang.String.length:()I
iconst_3
if_icmple 6
aload 4
iconst_3
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isUpperCase:(C)Z
ifeq 6
5: aload 4
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.beans.Introspector.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
astore 4
6: StackMap locals: io.vertx.codegen.type.TypeInfo java.lang.String
StackMap stack:
aload 4
areturn
end local 4 end local 3 7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/lang/js/JSDocGenerator;
0 8 1 elt Ljavax/lang/model/element/Element;
0 8 2 defaultLabel Ljava/lang/String;
2 7 3 type Lio/vertx/codegen/type/TypeInfo;
4 7 4 name Ljava/lang/String;
MethodParameters:
Name Flags
elt
defaultLabel
public java.lang.String resolveConstructorLink(javax.lang.model.element.ExecutableElement, io.vertx.docgen.Coordinate);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Lio/vertx/docgen/Coordinate;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "todo"
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/lang/js/JSDocGenerator;
0 1 1 elt Ljavax/lang/model/element/ExecutableElement;
0 1 2 coordinate Lio/vertx/docgen/Coordinate;
MethodParameters:
Name Flags
elt
coordinate
public java.lang.String resolveFieldLink(javax.lang.model.element.VariableElement, io.vertx.docgen.Coordinate);
descriptor: (Ljavax/lang/model/element/VariableElement;Lio/vertx/docgen/Coordinate;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "todo"
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/lang/js/JSDocGenerator;
0 1 1 elt Ljavax/lang/model/element/VariableElement;
0 1 2 coordinate Lio/vertx/docgen/Coordinate;
MethodParameters:
Name Flags
elt
coordinate
}
SourceFile: "JSDocGenerator.java"