public class org.jruby.anno.IndyBinder extends javax.annotation.processing.AbstractProcessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.anno.IndyBinder
super_class: javax.annotation.processing.AbstractProcessor
{
public static final java.lang.String POPULATOR_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "$POPULATOR"
public static final java.lang.String SRC_GEN_DIR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "target/classes/org/jruby/gen/"
public static final int CLASS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int BASEMETHOD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int MODULEMETHOD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int RUNTIME;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int SINGLETONCLASS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int RUBYMODULE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final java.util.List<java.lang.CharSequence> classNames;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/CharSequence;>;
private org.jruby.compiler.impl.SkinnyMethodAdapter mv;
descriptor: Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
flags: (0x0002) ACC_PRIVATE
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int MAX_ENCODED_ARGS_EXPONENT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int MAX_ENCODED_ARGS_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 255
private static final int ENCODE_RESTKWARGS_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ENCODE_REST_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int ENCODE_REQKWARGS_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int ENCODE_KWARGS_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 17
private static final int ENCODE_POST_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 25
private static final int ENCODE_OPT_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 33
private static final int ENCODE_PRE_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 41
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.annotation.processing.AbstractProcessor.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.jruby.anno.IndyBinder.classNames:Ljava/util/List;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/anno/IndyBinder;
public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement>, javax.annotation.processing.RoundEnvironment);
descriptor: (Ljava/util/Set;Ljavax/annotation/processing/RoundEnvironment;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface javax.annotation.processing.RoundEnvironment.getRootElements:()Ljava/util/Set;
invokestatic javax.lang.model.util.ElementFilter.typesIn:(Ljava/util/Set;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: org.jruby.anno.IndyBinder java.util.Set javax.annotation.processing.RoundEnvironment top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.TypeElement
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.jruby.anno.IndyBinder.processType:(Ljavax/lang/model/element/TypeElement;)V
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: new java.io.FileWriter
dup
ldc "target/generated-sources/annotated_classes.txt"
invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;)V
astore 3
start local 3 5: aload 0
getfield org.jruby.anno.IndyBinder.classNames:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: org.jruby.anno.IndyBinder java.util.Set javax.annotation.processing.RoundEnvironment java.io.FileWriter top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.CharSequence
astore 4
start local 4 7: aload 3
aload 4
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
8: aload 3
bipush 10
invokevirtual java.io.FileWriter.write:(I)V
end local 4 9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: aload 3
invokevirtual java.io.FileWriter.close:()V
end local 3 11: goto 14
StackMap locals: org.jruby.anno.IndyBinder java.util.Set javax.annotation.processing.RoundEnvironment
StackMap stack: java.lang.Exception
12: astore 3
start local 3 13: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 14: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/jruby/anno/IndyBinder;
0 15 1 typeElements Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
0 15 2 roundEnvironment Ljavax/annotation/processing/RoundEnvironment;
2 3 3 element Ljavax/lang/model/element/TypeElement;
5 11 3 fw Ljava/io/FileWriter;
7 9 4 name Ljava/lang/CharSequence;
13 14 3 e Ljava/lang/Exception;
Exception table:
from to target type
4 11 12 Class java.lang.Exception
Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
MethodParameters:
Name Flags
typeElements
roundEnvironment
public javax.lang.model.SourceVersion getSupportedSourceVersion();
descriptor: ()Ljavax/lang/model/SourceVersion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic javax.lang.model.SourceVersion.latest:()Ljavax/lang/model/SourceVersion;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/anno/IndyBinder;
public void processType(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tClassWriter cannot be resolved to a type\n\tClassWriter cannot be resolved to a type\n\tClassWriter cannot be resolved to a variable\n\tClassWriter cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_STATIC cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/anno/IndyBinder;
MethodParameters:
Name Flags
cd
public void emitIndexCode(java.lang.Integer, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 1
invokevirtual java.lang.Integer.intValue:()I
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.pushInt:(I)V
1: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 2
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
2: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
ldc "org/jruby/runtime/MethodIndex"
aload 3
ldc "(ILjava/lang/String;)V"
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/anno/IndyBinder;
0 4 1 bits Ljava/lang/Integer;
0 4 2 names Ljava/lang/String;
0 4 3 methodName Ljava/lang/String;
MethodParameters:
Name Flags
bits
names
methodName
public void processMethodDeclarations(java.util.Map<java.lang.CharSequence, java.util.List<javax.lang.model.element.ExecutableElement>>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: org.jruby.anno.IndyBinder java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
astore 4
start local 4 3: aload 4
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 6
4: aload 0
aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
invokevirtual org.jruby.anno.IndyBinder.processMethodDeclaration:(Ljavax/lang/model/element/ExecutableElement;)V
5: goto 7
6: StackMap locals: org.jruby.anno.IndyBinder java.util.Map java.util.Map$Entry java.util.Iterator java.util.List
StackMap stack:
aload 0
aload 4
invokevirtual org.jruby.anno.IndyBinder.processMethodDeclarationMulti:(Ljava/util/List;)V
end local 4 end local 2 7: StackMap locals: org.jruby.anno.IndyBinder java.util.Map top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/anno/IndyBinder;
0 9 1 declarations Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;
2 7 2 entry Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;
3 7 4 list Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
Signature: (Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;)V
MethodParameters:
Name Flags
declarations
public void processMethodDeclaration(javax.lang.model.element.ExecutableElement);
descriptor: (Ljavax/lang/model/element/ExecutableElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
anewarray javax.lang.model.element.ExecutableElement
dup
iconst_0
aload 1
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.jruby.anno.IndyBinder.processMethodDeclarationMulti:(Ljava/util/List;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/anno/IndyBinder;
0 2 1 method Ljavax/lang/model/element/ExecutableElement;
MethodParameters:
Name Flags
method
public static long getEncodedSignature(org.jruby.anno.JRubyMethod);
descriptor: (Lorg/jruby/anno/JRubyMethod;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.jruby.anno.JRubyMethod.required:()I
aload 0
invokeinterface org.jruby.anno.JRubyMethod.optional:()I
iconst_0
iconst_0
iconst_0
aload 0
invokeinterface org.jruby.anno.JRubyMethod.rest:()Z
iconst_0
invokestatic org.jruby.anno.IndyBinder.encodeSignature:(IIIIIZZ)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 anno Lorg/jruby/anno/JRubyMethod;
MethodParameters:
Name Flags
anno
public void processMethodDeclarationMulti(java.util.List<javax.lang.model.element.ExecutableElement>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tHandle cannot be resolved to a type\n\tHandle cannot be resolved to a type\n\tHandle cannot be resolved to a type\n\tHandle cannot be resolved to a type\n\tHandle cannot be resolved to a type\n\tH_INVOKESTATIC cannot be resolved to a variable\n\tH_INVOKEVIRTUAL cannot be resolved to a variable\n\tMethod cannot be resolved\n\tMethod cannot be resolved to a type\n\tMethod cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/anno/IndyBinder;
Signature: (Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;)V
MethodParameters:
Name Flags
methods
public void adaptHandle(org.jruby.anno.ExecutableElementDescriptor, int);
descriptor: (Lorg/jruby/anno/ExecutableElementDescriptor;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tType cannot be resolved\n\tMethod cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/anno/IndyBinder;
MethodParameters:
Name Flags
executableElementDescriptor
implClass
private void addCoreMethodMapping(javax.lang.model.element.TypeElement, java.util.Map<java.lang.CharSequence, java.util.List<javax.lang.model.element.ExecutableElement>>);
descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.Map java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 3: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
start local 6 4: goto 11
5: StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.Map java.lang.StringBuilder java.util.Map$Entry java.util.Iterator java.util.Iterator
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.length:()I
ifle 6
aload 3
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 7
start local 7 7: aload 3
8: aload 7
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
9: ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.CharSequence
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
end local 7 11: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 6 end local 4 12: StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.Map java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
13: aload 3
invokevirtual java.lang.StringBuilder.length:()I
ifne 14
return
14: StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.Map java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iconst_5
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
15: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 1
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
16: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
17: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
ldc "org/jruby/Ruby"
ldc "addBoundMethodsPacked"
ldc "(Ljava/lang/String;Ljava/lang/String;)V"
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/jruby/anno/IndyBinder;
0 19 1 cls Ljavax/lang/model/element/TypeElement;
0 19 2 complexNames Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;
1 19 3 encoded Ljava/lang/StringBuilder;
3 12 4 entry Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;
4 12 6 iterator Ljava/util/Iterator<Ljavax/lang/model/element/ExecutableElement;>;
7 11 7 elt Ljavax/lang/model/element/ExecutableElement;
Signature: (Ljavax/lang/model/element/TypeElement;Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;)V
MethodParameters:
Name Flags
cls
complexNames
private void addSimpleMethodMappings(javax.lang.model.element.TypeElement, java.util.List<javax.lang.model.element.ExecutableElement>);
descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 4
start local 4 3: aload 3
invokevirtual java.lang.StringBuilder.length:()I
ifle 4
aload 3
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.List java.lang.StringBuilder javax.lang.model.element.ExecutableElement java.util.Iterator
StackMap stack:
aload 3
aload 4
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
end local 4 5: StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 3
invokevirtual java.lang.StringBuilder.length:()I
ifne 7
return
7: StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.List java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iconst_5
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
8: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
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 org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
9: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
10: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
ldc "org/jruby/Ruby"
ldc "addSimpleBoundMethodsPacked"
ldc "(Ljava/lang/String;Ljava/lang/String;)V"
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/anno/IndyBinder;
0 12 1 cls Ljavax/lang/model/element/TypeElement;
0 12 2 simpleNames Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
1 12 3 encoded Ljava/lang/StringBuilder;
3 5 4 elt Ljavax/lang/model/element/ExecutableElement;
Signature: (Ljavax/lang/model/element/TypeElement;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;)V
MethodParameters:
Name Flags
cls
simpleNames
private static java.lang.CharSequence getActualQualifiedName(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/CharSequence;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.TypeElement.getNestingKind:()Ljavax/lang/model/element/NestingKind;
getstatic javax.lang.model.element.NestingKind.MEMBER:Ljavax/lang/model/element/NestingKind;
if_acmpne 2
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokeinterface javax.lang.model.element.TypeElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
invokestatic org.jruby.anno.IndyBinder.getActualQualifiedName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/CharSequence;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface javax.lang.model.element.TypeElement.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;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 td Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
td
public static long encodeSignature(int, int, int, int, int, boolean, boolean);
descriptor: (IIIIIZZ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 0
i2l
bipush 41
lshl
1: iload 1
i2l
bipush 33
lshl
2: lor
3: iload 2
i2l
bipush 25
lshl
4: lor
5: iload 3
i2l
bipush 17
lshl
6: lor
7: iload 4
i2l
bipush 9
lshl
8: lor
9: iload 5
ifeq 10
iconst_1
goto 11
StackMap locals:
StackMap stack: long
10: iconst_0
StackMap locals: int int int int int int int
StackMap stack: long int
11: iconst_1
ishl
i2l
12: lor
13: iload 6
ifeq 14
iconst_1
goto 15
StackMap locals:
StackMap stack: long
14: iconst_0
StackMap locals: int int int int int int int
StackMap stack: long int
15: iconst_0
ishl
i2l
16: lor
17: lreturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 pre I
0 18 1 opt I
0 18 2 post I
0 18 3 kwargs I
0 18 4 requiredKwargs I
0 18 5 rest Z
0 18 6 restKwargs Z
MethodParameters:
Name Flags
pre
opt
post
kwargs
requiredKwargs
rest
restKwargs
private static int calculateActualRequired(javax.lang.model.element.ExecutableElement, int, int, boolean, boolean, boolean, boolean);
descriptor: (Ljavax/lang/model/element/ExecutableElement;IIZZZZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 2
ifne 13
iload 3
ifne 13
1: iload 1
istore 8
start local 8 2: iload 8
ifne 5
3: iconst_0
istore 7
start local 7 4: goto 29
end local 7 5: StackMap locals: javax.lang.model.element.ExecutableElement int int int int int int top int
StackMap stack:
iload 4
ifeq 7
6: iinc 8 -1
7: StackMap locals:
StackMap stack:
iload 5
ifeq 9
8: iinc 8 -1
9: StackMap locals:
StackMap stack:
iload 6
ifeq 11
10: iinc 8 -1
11: StackMap locals:
StackMap stack:
iload 8
istore 7
end local 8 start local 7 12: goto 29
end local 7 13: StackMap locals: javax.lang.model.element.ExecutableElement int int int int int int
StackMap stack:
iload 1
istore 8
start local 8 14: iload 8
ifne 17
15: iconst_0
istore 7
start local 7 16: goto 25
end local 7 17: StackMap locals: javax.lang.model.element.ExecutableElement int int int int int int top int
StackMap stack:
iload 4
ifeq 19
18: iinc 8 -1
19: StackMap locals:
StackMap stack:
iload 5
ifeq 21
20: iinc 8 -1
21: StackMap locals:
StackMap stack:
iload 6
ifeq 23
22: iinc 8 -1
23: StackMap locals:
StackMap stack:
iinc 8 -1
24: iload 8
istore 7
start local 7 25: StackMap locals: javax.lang.model.element.ExecutableElement int int int int int int int int
StackMap stack:
iload 7
ifeq 29
26: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Combining specific args with IRubyObject[] is not yet supported: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: aload 0
invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()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 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 8 29: StackMap locals:
StackMap stack:
iload 7
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 md Ljavax/lang/model/element/ExecutableElement;
0 30 1 paramsLength I
0 30 2 optional I
0 30 3 rest Z
0 30 4 isStatic Z
0 30 5 hasContext Z
0 30 6 hasBlock Z
4 5 7 actualRequired I
12 13 7 actualRequired I
16 17 7 actualRequired I
25 30 7 actualRequired I
2 12 8 args I
14 29 8 args I
MethodParameters:
Name Flags
md
paramsLength
optional
rest
isStatic
hasContext
hasBlock
private static int calculateHandleOffset(int, int, int, boolean, boolean, boolean, boolean);
descriptor: (IIIZZZZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 1
iconst_4
if_icmpge 11
iload 2
ifne 11
iload 3
ifne 11
1: iload 0
istore 7
start local 7 2: iload 7
ifne 4
3: iconst_0
ireturn
4: StackMap locals: int
StackMap stack:
iload 4
ifeq 6
5: iinc 7 -1
6: StackMap locals:
StackMap stack:
iload 5
ifeq 8
7: iinc 7 -1
8: StackMap locals:
StackMap stack:
iload 6
ifeq 10
9: iinc 7 -1
10: StackMap locals:
StackMap stack:
iload 7
ireturn
end local 7 11: StackMap locals:
StackMap stack:
iconst_4
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 paramsLength I
0 12 1 required I
0 12 2 optional I
0 12 3 rest Z
0 12 4 isStatic Z
0 12 5 hasContext Z
0 12 6 hasBlock Z
2 11 7 args I
MethodParameters:
Name Flags
paramsLength
required
optional
rest
isStatic
hasContext
hasBlock
public void generateMethodAddCalls(javax.lang.model.element.ExecutableElement, org.jruby.anno.JRubyMethod);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Lorg/jruby/anno/JRubyMethod;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.anno.JRubyMethod.name:()[Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokeinterface org.jruby.anno.JRubyMethod.alias:()[Ljava/lang/String;
astore 4
start local 4 2: aload 2
invokeinterface org.jruby.anno.JRubyMethod.meta:()Z
ifeq 5
3: aload 0
iconst_3
bipush 6
aload 3
aload 4
aload 1
invokevirtual org.jruby.anno.IndyBinder.defineMethodOnClass:(II[Ljava/lang/String;[Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;)V
4: goto 12
5: StackMap locals: java.lang.String[] java.lang.String[]
StackMap stack:
aload 0
iconst_3
iconst_1
aload 3
aload 4
aload 1
invokevirtual org.jruby.anno.IndyBinder.defineMethodOnClass:(II[Ljava/lang/String;[Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;)V
6: aload 2
invokeinterface org.jruby.anno.JRubyMethod.module:()Z
ifeq 12
7: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iconst_1
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
8: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iconst_3
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
9: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
ldc "org/jruby/anno/TypePopulator"
ldc "populateModuleMethod"
ldc "(Lorg/jruby/RubyModule;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;"
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
10: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iconst_4
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.astore:(I)V
11: aload 0
iconst_4
bipush 6
aload 3
aload 4
aload 1
invokevirtual org.jruby.anno.IndyBinder.defineMethodOnClass:(II[Ljava/lang/String;[Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;)V
12: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/anno/IndyBinder;
0 13 1 md Ljavax/lang/model/element/ExecutableElement;
0 13 2 jrubyMethod Lorg/jruby/anno/JRubyMethod;
1 13 3 names [Ljava/lang/String;
2 13 4 aliases [Ljava/lang/String;
MethodParameters:
Name Flags
md
jrubyMethod
private void defineMethodOnClass(int, int, java.lang.String[], java.lang.String[], javax.lang.model.element.ExecutableElement);
descriptor: (II[Ljava/lang/String;[Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
arraylength
ifne 7
1: aload 5
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 6
start local 6 2: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iload 2
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
3: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 6
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
4: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iload 1
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
5: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
ldc "org/jruby/RubyModule"
ldc "addMethodAtBootTimeOnly"
ldc "(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V"
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
6: goto 16
end local 6 7: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
astore 6
start local 6 8: aload 3
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 15
StackMap locals: org.jruby.anno.IndyBinder int int java.lang.String[] java.lang.String[] javax.lang.model.element.ExecutableElement java.lang.String top int int java.lang.String[]
StackMap stack:
9: aload 10
iload 8
aaload
astore 7
start local 7 10: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iload 2
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
11: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 7
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
12: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iload 1
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
13: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
ldc "org/jruby/RubyModule"
ldc "addMethodAtBootTimeOnly"
ldc "(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V"
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 7 14: iinc 8 1
StackMap locals:
StackMap stack:
15: iload 8
iload 9
if_icmplt 9
16: StackMap locals: org.jruby.anno.IndyBinder int int java.lang.String[] java.lang.String[] javax.lang.model.element.ExecutableElement java.lang.String
StackMap stack:
aload 4
arraylength
ifle 25
17: aload 4
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 24
StackMap locals: org.jruby.anno.IndyBinder int int java.lang.String[] java.lang.String[] javax.lang.model.element.ExecutableElement java.lang.String top int int java.lang.String[]
StackMap stack:
18: aload 10
iload 8
aaload
astore 7
start local 7 19: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
iload 2
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
20: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 7
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
21: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
aload 6
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
22: aload 0
getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
ldc "org/jruby/RubyModule"
ldc "defineAlias"
ldc "(Ljava/lang/String;Ljava/lang/String;)V"
invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 7 23: iinc 8 1
StackMap locals:
StackMap stack:
24: iload 8
iload 9
if_icmplt 18
25: StackMap locals: org.jruby.anno.IndyBinder int int java.lang.String[] java.lang.String[] javax.lang.model.element.ExecutableElement java.lang.String
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/jruby/anno/IndyBinder;
0 26 1 methodVar I
0 26 2 classVar I
0 26 3 names [Ljava/lang/String;
0 26 4 aliases [Ljava/lang/String;
0 26 5 md Ljavax/lang/model/element/ExecutableElement;
2 7 6 baseName Ljava/lang/String;
8 26 6 baseName Ljava/lang/String;
10 14 7 name Ljava/lang/String;
19 23 7 alias Ljava/lang/String;
MethodParameters:
Name Flags
methodVar
classVar
names final
aliases final
md
}
SourceFile: "IndyBinder.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
RuntimeVisibleAnnotations:
javax.annotation.processing.SupportedAnnotationTypes(value = {"org.jruby.anno.JRubyMethod"})