public class io.vertx.lang.ruby.JRubyDocGenerator implements io.vertx.docgen.DocGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.lang.ruby.JRubyDocGenerator
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
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/ruby/JRubyDocGenerator;
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.ruby.JRubyDocGenerator.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.ruby.JRubyDocGenerator.translator:Lio/vertx/codetrans/CodeTranslator;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/lang/ruby/JRubyDocGenerator;
0 3 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 "ruby"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/lang/ruby/JRubyDocGenerator;
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.ruby.RubyLang
dup
invokespecial io.vertx.codetrans.lang.ruby.RubyLang.<init>:()V
astore 3
start local 3 1: aload 0
getfield io.vertx.lang.ruby.JRubyDocGenerator.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.ruby.JRubyDocGenerator javax.lang.model.element.ExecutableElement java.lang.String io.vertx.codetrans.lang.ruby.RubyLang
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/ruby/JRubyDocGenerator;
0 6 1 elt Ljavax/lang/model/element/ExecutableElement;
0 6 2 source Ljava/lang/String;
1 6 3 lang Lio/vertx/codetrans/lang/ruby/RubyLang;
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=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield io.vertx.lang.ruby.JRubyDocGenerator.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
2: goto 6
StackMap locals: io.vertx.lang.ruby.JRubyDocGenerator javax.lang.model.element.TypeElement io.vertx.docgen.Coordinate io.vertx.codegen.type.TypeInfo
StackMap stack: java.lang.Exception
3: pop
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Could not resolve doc likn 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
5: aconst_null
areturn
6: StackMap locals:
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 12
aload 3
checkcast io.vertx.codegen.type.EnumTypeInfo
invokevirtual io.vertx.codegen.type.EnumTypeInfo.isGen:()Z
ifeq 12
7: aload 2
ifnonnull 10
8: ldc "../"
astore 4
start local 4 9: goto 11
end local 4 10: 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 11: 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 12: 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 18
13: aload 2
ifnonnull 16
14: ldc "../"
astore 4
start local 4 15: goto 17
end local 4 16: 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 17: 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 18: 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 23
19: aload 3
invokevirtual io.vertx.codegen.type.TypeInfo.getRaw:()Lio/vertx/codegen/type/ClassTypeInfo;
checkcast io.vertx.codegen.type.ApiTypeInfo
astore 4
start local 4 20: aload 4
invokevirtual io.vertx.codegen.type.ApiTypeInfo.getModuleName:()Ljava/lang/String;
astore 5
start local 5 21: getstatic io.vertx.codegen.Case.CAMEL:Lio/vertx/codegen/Case;
getstatic io.vertx.codegen.Case.KEBAB:Lio/vertx/codegen/Case;
aload 5
invokevirtual io.vertx.codegen.Case.parse:(Ljava/lang/String;)Ljava/util/List;
invokevirtual io.vertx.codegen.Case.format:(Ljava/lang/Iterable;)Ljava/lang/String;
astore 6
start local 6 22: new java.lang.StringBuilder
dup
ldc "../../yardoc/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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
invokevirtual io.vertx.codegen.type.ApiTypeInfo.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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 6 end local 5 end local 4 23: StackMap locals:
StackMap stack:
ldc "unavailable"
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lio/vertx/lang/ruby/JRubyDocGenerator;
0 24 1 elt Ljavax/lang/model/element/TypeElement;
0 24 2 coordinate Lio/vertx/docgen/Coordinate;
1 24 3 type Lio/vertx/codegen/type/TypeInfo;
9 10 4 baselink Ljava/lang/String;
11 12 4 baselink Ljava/lang/String;
15 16 4 baselink Ljava/lang/String;
17 18 4 baselink Ljava/lang/String;
20 23 4 api Lio/vertx/codegen/type/ApiTypeInfo;
21 23 5 module Ljava/lang/String;
22 23 6 dir Ljava/lang/String;
Exception table:
from to target type
1 2 3 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 0
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
aload 2
invokevirtual io.vertx.lang.ruby.JRubyDocGenerator.resolveTypeLink:(Ljavax/lang/model/element/TypeElement;Lio/vertx/docgen/Coordinate;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnull 9
2: aload 3
ldc "cheatsheet"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 5
3: new java.lang.StringBuilder
dup
aload 3
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 3
4: goto 9
5: StackMap locals: java.lang.String
StackMap stack:
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.ExecutableElement.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;
astore 4
start local 4 6: new java.lang.StringBuilder
dup
aload 3
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 4
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.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 7
ldc "class_method"
goto 8
StackMap locals: io.vertx.lang.ruby.JRubyDocGenerator javax.lang.model.element.ExecutableElement io.vertx.docgen.Coordinate java.lang.String java.lang.String
StackMap stack: java.lang.StringBuilder
7: ldc "instance_method"
StackMap locals: io.vertx.lang.ruby.JRubyDocGenerator javax.lang.model.element.ExecutableElement io.vertx.docgen.Coordinate java.lang.String java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
end local 4 9: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/lang/ruby/JRubyDocGenerator;
0 10 1 elt Ljavax/lang/model/element/ExecutableElement;
0 10 2 coordinate Lio/vertx/docgen/Coordinate;
1 10 3 baselink Ljava/lang/String;
6 9 4 methodName Ljava/lang/String;
MethodParameters:
Name Flags
elt
coordinate
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/ruby/JRubyDocGenerator;
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/ruby/JRubyDocGenerator;
0 1 1 elt Ljavax/lang/model/element/VariableElement;
0 1 2 coordinate Lio/vertx/docgen/Coordinate;
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.ruby.JRubyDocGenerator.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/ruby/JRubyDocGenerator;
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
}
SourceFile: "JRubyDocGenerator.java"