public final class org.jruby.RubyModule$MethodClumper
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jruby.RubyModule$MethodClumper
super_class: java.lang.Object
{
private java.util.HashMap<java.lang.String, java.util.List<org.jruby.anno.JavaMethodDescriptor>> annotatedMethods;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;>;
private java.util.HashMap<java.lang.String, java.util.List<org.jruby.anno.JavaMethodDescriptor>> staticAnnotatedMethods;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;>;
public java.util.Map<java.util.Set<org.jruby.anno.FrameField>, java.util.List<java.lang.String>> readGroups;
descriptor: Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Signature: Ljava/util/Map<Ljava/util/Set<Lorg/jruby/anno/FrameField;>;Ljava/util/List<Ljava/lang/String;>;>;
public java.util.Map<java.util.Set<org.jruby.anno.FrameField>, java.util.List<java.lang.String>> writeGroups;
descriptor: Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Signature: Ljava/util/Map<Ljava/util/Set<Lorg/jruby/anno/FrameField;>;Ljava/util/List<Ljava/lang/String;>;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
putfield org.jruby.RubyModule$MethodClumper.readGroups:Ljava/util/Map;
2: aload 0
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
putfield org.jruby.RubyModule$MethodClumper.writeGroups:Ljava/util/Map;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyModule$MethodClumper;
public void clump(java.lang.Class);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: getstatic org.jruby.javasupport.binding.MethodGatherer.DECLARED_METHODS:Ljava/lang/ClassValue;
aload 1
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.reflect.Method[]
astore 2
start local 2 1: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 28
StackMap locals: org.jruby.RubyModule$MethodClumper java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
ldc Lorg/jruby/anno/JRubyMethod;
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.jruby.anno.JRubyMethod
astore 7
start local 7 4: aload 7
ifnonnull 5
goto 27
5: StackMap locals: org.jruby.RubyModule$MethodClumper java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] org.jruby.anno.JRubyMethod
StackMap stack:
aload 7
invokeinterface org.jruby.anno.JRubyMethod.compat:()Lorg/jruby/CompatVersion;
getstatic org.jruby.CompatVersion.RUBY1_8:Lorg/jruby/CompatVersion;
if_acmpne 6
goto 27
6: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.reflect.Method.isBridge:()Z
ifeq 7
goto 27
7: StackMap locals:
StackMap stack:
new org.jruby.anno.JavaMethodDescriptor
dup
aload 3
invokespecial org.jruby.anno.JavaMethodDescriptor.<init>:(Ljava/lang/reflect/Method;)V
astore 8
start local 8 8: aload 7
invokeinterface org.jruby.anno.JRubyMethod.name:()[Ljava/lang/String;
astore 9
start local 9 9: aload 9
arraylength
ifne 10
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
goto 11
StackMap locals: org.jruby.anno.JavaMethodDescriptor java.lang.String[]
StackMap stack:
10: aload 9
iconst_0
aaload
StackMap locals:
StackMap stack: java.lang.String
11: astore 10
start local 10 12: aload 8
getfield org.jruby.anno.JavaMethodDescriptor.isStatic:Z
ifeq 17
13: aload 0
getfield org.jruby.RubyModule$MethodClumper.staticAnnotatedMethods:Ljava/util/HashMap;
dup
astore 11
start local 11 14: ifnonnull 20
15: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
dup_x1
putfield org.jruby.RubyModule$MethodClumper.staticAnnotatedMethods:Ljava/util/HashMap;
astore 11
16: goto 20
end local 11 17: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.jruby.RubyModule$MethodClumper.annotatedMethods:Ljava/util/HashMap;
dup
astore 11
start local 11 18: ifnonnull 20
19: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
dup_x1
putfield org.jruby.RubyModule$MethodClumper.annotatedMethods:Ljava/util/HashMap;
astore 11
20: StackMap locals: java.util.Map
StackMap stack:
aload 11
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 12
start local 12 21: aload 12
ifnonnull 23
22: aload 11
aload 10
new java.util.ArrayList
dup
iconst_4
invokespecial java.util.ArrayList.<init>:(I)V
dup
astore 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: StackMap locals: java.util.List
StackMap stack:
aload 12
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
24: aload 7
invokeinterface org.jruby.anno.JRubyMethod.reads:()[Lorg/jruby/anno/FrameField;
arraylength
ifle 25
aload 0
getfield org.jruby.RubyModule$MethodClumper.readGroups:Ljava/util/Map;
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
if_acmpne 25
aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.jruby.RubyModule$MethodClumper.readGroups:Ljava/util/Map;
25: StackMap locals:
StackMap stack:
aload 7
invokeinterface org.jruby.anno.JRubyMethod.writes:()[Lorg/jruby/anno/FrameField;
arraylength
ifle 26
aload 0
getfield org.jruby.RubyModule$MethodClumper.writeGroups:Ljava/util/Map;
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
if_acmpne 26
aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.jruby.RubyModule$MethodClumper.writeGroups:Ljava/util/Map;
26: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyModule$MethodClumper.readGroups:Ljava/util/Map;
aload 0
getfield org.jruby.RubyModule$MethodClumper.writeGroups:Ljava/util/Map;
aload 7
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokestatic org.jruby.anno.AnnotationHelper.groupFrameFields:(Ljava/util/Map;Ljava/util/Map;Lorg/jruby/anno/JRubyMethod;Ljava/lang/String;)V
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 3 27: StackMap locals: org.jruby.RubyModule$MethodClumper java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
28: iload 4
iload 5
if_icmplt 2
29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/jruby/RubyModule$MethodClumper;
0 30 1 klass Ljava/lang/Class;
1 30 2 declaredMethods [Ljava/lang/reflect/Method;
3 27 3 method Ljava/lang/reflect/Method;
4 27 7 anno Lorg/jruby/anno/JRubyMethod;
8 27 8 desc Lorg/jruby/anno/JavaMethodDescriptor;
9 27 9 names [Ljava/lang/String;
12 27 10 name Ljava/lang/String;
14 17 11 methodsHash Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;>;
18 27 11 methodsHash Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;>;
21 27 12 methodDescs Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;
MethodParameters:
Name Flags
klass final
public java.util.Map<java.lang.String, java.util.List<org.jruby.anno.JavaMethodDescriptor>> getAllAnnotatedMethods();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyModule$MethodClumper;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public final java.util.Map<java.lang.String, java.util.List<org.jruby.anno.JavaMethodDescriptor>> getAnnotatedMethods();
descriptor: ()Ljava/util/Map;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyModule$MethodClumper.annotatedMethods:Ljava/util/HashMap;
ifnonnull 1
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.jruby.RubyModule$MethodClumper.annotatedMethods:Ljava/util/HashMap;
StackMap locals:
StackMap stack: java.util.Map
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyModule$MethodClumper;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;>;
public final java.util.Map<java.lang.String, java.util.List<org.jruby.anno.JavaMethodDescriptor>> getStaticAnnotatedMethods();
descriptor: ()Ljava/util/Map;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyModule$MethodClumper.staticAnnotatedMethods:Ljava/util/HashMap;
ifnonnull 1
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.jruby.RubyModule$MethodClumper.staticAnnotatedMethods:Ljava/util/HashMap;
StackMap locals:
StackMap stack: java.util.Map
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyModule$MethodClumper;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/jruby/anno/JavaMethodDescriptor;>;>;
}
SourceFile: "RubyModule.java"
NestHost: org.jruby.RubyModule
InnerClasses:
public final MethodClumper = org.jruby.RubyModule$MethodClumper of org.jruby.RubyModule