public class org.jruby.javasupport.binding.MethodGatherer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.javasupport.binding.MethodGatherer
super_class: java.lang.Object
{
private static final boolean DEBUG_SCALA;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.String METHOD_MANGLE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "__method"
private static final java.lang.String CONSTRUCTOR_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "__jcreate!"
private static final java.lang.reflect.Method[] EMPTY_METHODS;
descriptor: [Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int ACC_BRIDGE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final java.util.Map<java.lang.String, java.lang.String> SCALA_OPERATORS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private final java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName> staticNames;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
private final java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName> instanceNames;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
private static final java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName> STATIC_RESERVED_NAMES;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
private static final java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName> INSTANCE_RESERVED_NAMES;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
private java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller> staticInstallers;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
private java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller> instanceInstallers;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
private java.util.Map<java.lang.String, org.jruby.javasupport.binding.ConstantField> constantFields;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/ConstantField;>;
final org.jruby.Ruby runtime;
descriptor: Lorg/jruby/Ruby;
flags: (0x0010) ACC_FINAL
public static final java.lang.ClassValue<java.lang.reflect.Method[]> DECLARED_METHODS;
descriptor: Ljava/lang/ClassValue;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ClassValue<[Ljava/lang/reflect/Method;>;
private static final java.lang.ClassValue<org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods> FILTERED_DECLARED_METHODS;
descriptor: Ljava/lang/ClassValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ClassValue<Lorg/jruby/javasupport/binding/MethodGatherer$PartitionedMethods;>;
private static final java.lang.ClassValue<java.lang.reflect.Method[]> METHODS;
descriptor: Ljava/lang/ClassValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ClassValue<[Ljava/lang/reflect/Method;>;
private static final java.lang.ClassValue<org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods> FILTERED_METHODS;
descriptor: Ljava/lang/ClassValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ClassValue<Lorg/jruby/javasupport/binding/MethodGatherer$PartitionedMethods;>;
private static final java.lang.ClassValue<java.lang.Class<?>[]> INTERFACES;
descriptor: Ljava/lang/ClassValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ClassValue<[Ljava/lang/Class<*>;>;
private static final java.lang.ClassValue<java.lang.Boolean> IS_SCALA;
descriptor: Ljava/lang/ClassValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ClassValue<Ljava/lang/Boolean;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=1, args_size=0
0: iconst_0
anewarray java.lang.reflect.Method
putstatic org.jruby.javasupport.binding.MethodGatherer.EMPTY_METHODS:[Ljava/lang/reflect/Method;
1: new java.util.HashMap
dup
bipush 24
fconst_1
invokespecial java.util.HashMap.<init>:(IF)V
astore 0
start local 0 2: aload 0
ldc "\\$plus"
ldc "+"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
ldc "\\$minus"
ldc "-"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
ldc "\\$colon"
ldc ":"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
ldc "\\$div"
ldc "/"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
ldc "\\$eq"
ldc "="
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 0
ldc "\\$less"
ldc "<"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 0
ldc "\\$greater"
ldc ">"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
ldc "\\$bslash"
ldc "\\\\"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 0
ldc "\\$hash"
ldc "#"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 0
ldc "\\$times"
ldc "*"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
ldc "\\$bang"
ldc "!"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 0
ldc "\\$at"
ldc "@"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 0
ldc "\\$percent"
ldc "%"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 0
ldc "\\$up"
ldc "^"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
ldc "\\$amp"
ldc "&"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
ldc "\\$tilde"
ldc "~"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
ldc "\\$qmark"
ldc "?"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: aload 0
ldc "\\$bar"
ldc "|"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: aload 0
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
putstatic org.jruby.javasupport.binding.MethodGatherer.SCALA_OPERATORS:Ljava/util/Map;
end local 0 21: iconst_1
invokestatic org.jruby.javasupport.binding.MethodGatherer.newReservedNamesMap:(I)Ljava/util/Map;
putstatic org.jruby.javasupport.binding.MethodGatherer.STATIC_RESERVED_NAMES:Ljava/util/Map;
22: getstatic org.jruby.javasupport.binding.MethodGatherer.STATIC_RESERVED_NAMES:Ljava/util/Map;
ldc "new"
new org.jruby.javasupport.binding.AssignedName
dup
ldc "new"
getstatic org.jruby.javasupport.binding.Priority.RESERVED:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: iconst_2
invokestatic org.jruby.javasupport.binding.MethodGatherer.newReservedNamesMap:(I)Ljava/util/Map;
putstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
24: getstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
ldc "class"
new org.jruby.javasupport.binding.AssignedName
dup
ldc "class"
getstatic org.jruby.javasupport.binding.Priority.RESERVED:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: getstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
ldc "initialize"
new org.jruby.javasupport.binding.AssignedName
dup
ldc "initialize"
getstatic org.jruby.javasupport.binding.Priority.RESERVED:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: getstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
ldc "equal?"
new org.jruby.javasupport.binding.AssignedName
dup
ldc "equal?"
getstatic org.jruby.javasupport.binding.Priority.RESERVED:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: new org.jruby.javasupport.binding.MethodGatherer$1
dup
invokespecial org.jruby.javasupport.binding.MethodGatherer$1.<init>:()V
putstatic org.jruby.javasupport.binding.MethodGatherer.DECLARED_METHODS:Ljava/lang/ClassValue;
28: new org.jruby.javasupport.binding.MethodGatherer$2
dup
invokespecial org.jruby.javasupport.binding.MethodGatherer$2.<init>:()V
putstatic org.jruby.javasupport.binding.MethodGatherer.FILTERED_DECLARED_METHODS:Ljava/lang/ClassValue;
29: new org.jruby.javasupport.binding.MethodGatherer$3
dup
invokespecial org.jruby.javasupport.binding.MethodGatherer$3.<init>:()V
putstatic org.jruby.javasupport.binding.MethodGatherer.METHODS:Ljava/lang/ClassValue;
30: new org.jruby.javasupport.binding.MethodGatherer$4
dup
invokespecial org.jruby.javasupport.binding.MethodGatherer$4.<init>:()V
putstatic org.jruby.javasupport.binding.MethodGatherer.FILTERED_METHODS:Ljava/lang/ClassValue;
31: new org.jruby.javasupport.binding.MethodGatherer$5
dup
invokespecial org.jruby.javasupport.binding.MethodGatherer$5.<init>:()V
putstatic org.jruby.javasupport.binding.MethodGatherer.INTERFACES:Ljava/lang/ClassValue;
32: new org.jruby.javasupport.binding.MethodGatherer$6
dup
invokespecial org.jruby.javasupport.binding.MethodGatherer$6.<init>:()V
putstatic org.jruby.javasupport.binding.MethodGatherer.IS_SCALA:Ljava/lang/ClassValue;
33: return
LocalVariableTable:
Start End Slot Name Signature
2 21 0 scalaOperators Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
private static java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName> newReservedNamesMap(int);
descriptor: (I)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: new java.util.HashMap
dup
iload 0
iconst_4
iadd
fconst_1
invokespecial java.util.HashMap.<init>:(IF)V
astore 1
start local 1 1: aload 1
ldc "__id__"
new org.jruby.javasupport.binding.AssignedName
dup
ldc "__id__"
getstatic org.jruby.javasupport.binding.Priority.RESERVED:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
ldc "__send__"
new org.jruby.javasupport.binding.AssignedName
dup
ldc "__send__"
getstatic org.jruby.javasupport.binding.Priority.RESERVED:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 1
ldc "instance_of?"
new org.jruby.javasupport.binding.AssignedName
dup
ldc "instance_of?"
getstatic org.jruby.javasupport.binding.Priority.RESERVED:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 size I
1 5 1 RESERVED_NAMES Ljava/util/HashMap<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
Signature: (I)Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
MethodParameters:
Name Flags
size final
void <init>(org.jruby.Ruby, java.lang.Class);
descriptor: (Lorg/jruby/Ruby;Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
putfield org.jruby.javasupport.binding.MethodGatherer.staticInstallers:Ljava/util/Map;
2: aload 0
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
putfield org.jruby.javasupport.binding.MethodGatherer.instanceInstallers:Ljava/util/Map;
3: aload 0
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
putfield org.jruby.javasupport.binding.MethodGatherer.constantFields:Ljava/util/Map;
4: aload 0
aload 1
putfield org.jruby.javasupport.binding.MethodGatherer.runtime:Lorg/jruby/Ruby;
5: aload 2
ifnonnull 9
6: aload 0
new java.util.HashMap
dup
getstatic org.jruby.javasupport.binding.MethodGatherer.STATIC_RESERVED_NAMES:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
putfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
7: aload 0
new java.util.HashMap
dup
getstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
putfield org.jruby.javasupport.binding.MethodGatherer.instanceNames:Ljava/util/Map;
8: goto 18
9: StackMap locals: org.jruby.javasupport.binding.MethodGatherer org.jruby.Ruby java.lang.Class
StackMap stack:
aload 1
invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
astore 3
start local 3 10: aload 3
invokevirtual org.jruby.javasupport.JavaSupport.getStaticAssignedNames:()Lorg/jruby/util/collections/ClassValue;
aload 2
invokevirtual org.jruby.util.collections.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.Map
astore 4
start local 4 11: aload 0
new java.util.HashMap
dup
aload 4
invokeinterface java.util.Map.size:()I
getstatic org.jruby.javasupport.binding.MethodGatherer.STATIC_RESERVED_NAMES:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
iadd
invokespecial java.util.HashMap.<init>:(I)V
putfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
12: aload 3
invokevirtual org.jruby.javasupport.JavaSupport.getInstanceAssignedNames:()Lorg/jruby/util/collections/ClassValue;
aload 2
invokevirtual org.jruby.util.collections.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.Map
astore 5
start local 5 13: aload 0
new java.util.HashMap
dup
aload 5
invokeinterface java.util.Map.size:()I
getstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
iadd
invokespecial java.util.HashMap.<init>:(I)V
putfield org.jruby.javasupport.binding.MethodGatherer.instanceNames:Ljava/util/Map;
14: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
getstatic org.jruby.javasupport.binding.MethodGatherer.STATIC_RESERVED_NAMES:Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
15: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
16: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.instanceNames:Ljava/util/Map;
getstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
17: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.instanceNames:Ljava/util/Map;
aload 5
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
end local 5 end local 4 end local 3 18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 19 1 runtime Lorg/jruby/Ruby;
0 19 2 superClass Ljava/lang/Class;
10 18 3 javaSupport Lorg/jruby/javasupport/JavaSupport;
11 18 4 staticAssignedNames Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
13 18 5 instanceAssignedNames Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
MethodParameters:
Name Flags
runtime final
superClass final
void initialize(java.lang.Class<?>, org.jruby.RubyModule);
descriptor: (Ljava/lang/Class;Lorg/jruby/RubyModule;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.jruby.javasupport.binding.MethodGatherer.setupFieldsAndConstants:(Ljava/lang/Class;)V
1: aload 0
aload 1
invokevirtual org.jruby.javasupport.binding.MethodGatherer.setupMethods:(Ljava/lang/Class;)V
2: aload 0
aload 1
invokevirtual org.jruby.javasupport.binding.MethodGatherer.setupScalaSingleton:(Ljava/lang/Class;)V
3: aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.assignStaticAliases:()V
4: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
astore 3
start local 3 5: aload 3
invokevirtual org.jruby.javasupport.JavaSupport.getStaticAssignedNames:()Lorg/jruby/util/collections/ClassValue;
aload 1
invokevirtual org.jruby.util.collections.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.Map
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
6: aload 3
invokevirtual org.jruby.javasupport.JavaSupport.getInstanceAssignedNames:()Lorg/jruby/util/collections/ClassValue;
aload 1
invokevirtual org.jruby.util.collections.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.Map
astore 4
start local 4 7: aload 1
invokevirtual java.lang.Class.isInterface:()Z
ifeq 10
8: aload 4
invokeinterface java.util.Map.clear:()V
9: goto 14
10: StackMap locals: org.jruby.javasupport.JavaSupport java.util.Map
StackMap stack:
aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.assignInstanceAliases:()V
11: aload 4
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.instanceNames:Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
12: aload 0
aload 2
invokevirtual org.jruby.javasupport.binding.MethodGatherer.installInstanceMethods:(Lorg/jruby/RubyModule;)V
13: aload 0
aload 1
aload 2
invokevirtual org.jruby.javasupport.binding.MethodGatherer.installConstructors:(Ljava/lang/Class;Lorg/jruby/RubyModule;)V
14: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.javasupport.binding.MethodGatherer.installConstants:(Lorg/jruby/RubyModule;)V
15: aload 0
aload 2
invokevirtual org.jruby.javasupport.binding.MethodGatherer.installClassMethods:(Lorg/jruby/RubyModule;)V
16: aload 0
aload 1
aload 2
invokevirtual org.jruby.javasupport.binding.MethodGatherer.installInnerClasses:(Ljava/lang/Class;Lorg/jruby/RubyModule;)V
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 18 1 javaClass Ljava/lang/Class<*>;
0 18 2 proxy Lorg/jruby/RubyModule;
5 18 3 javaSupport Lorg/jruby/javasupport/JavaSupport;
7 18 4 instanceAssignedNames Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
Signature: (Ljava/lang/Class<*>;Lorg/jruby/RubyModule;)V
MethodParameters:
Name Flags
javaClass
proxy
static java.util.Map<java.lang.String, java.util.List<java.lang.reflect.Method>> getMethods(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/util/Map;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.HashMap
dup
bipush 32
invokespecial java.util.HashMap.<init>:(I)V
astore 1
start local 1 1: aload 0
2: aload 1
invokedynamic test(Ljava/util/HashMap;)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
org/jruby/javasupport/binding/MethodGatherer.lambda$0(Ljava/util/HashMap;[Ljava/lang/reflect/Method;)Z (6)
([Ljava/lang/reflect/Method;)Z
3: aload 1
invokedynamic test(Ljava/util/HashMap;)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
org/jruby/javasupport/binding/MethodGatherer.lambda$1(Ljava/util/HashMap;[Ljava/lang/reflect/Method;)Z (6)
([Ljava/lang/reflect/Method;)Z
4: invokestatic org.jruby.javasupport.binding.MethodGatherer.eachAccessibleMethod:(Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Predicate;)V
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 javaClass Ljava/lang/Class<*>;
1 6 1 nameMethods Ljava/util/HashMap<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;
Signature: (Ljava/lang/Class<*>;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;
MethodParameters:
Name Flags
javaClass final
public static void eachAccessibleMethod(java.lang.Class<?>, java.util.function.Predicate<java.lang.reflect.Method[]>, java.util.function.Predicate<java.lang.reflect.Method[]>);
descriptor: (Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Predicate;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashMap
bipush 32
invokespecial java.util.HashMap.<init>:(I)V
1: aload 0
astore 3
start local 3 2: goto 20
3: StackMap locals: java.lang.Class
StackMap stack:
aload 3
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 11
aload 3
ldc Lorg/jruby/javasupport/Java;
invokestatic com.headius.backport9.modules.Modules.isExported:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 11
4: getstatic org.jruby.javasupport.binding.MethodGatherer.FILTERED_DECLARED_METHODS:Ljava/lang/ClassValue;
aload 3
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods
astore 4
start local 4 5: aload 1
aload 4
getfield org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods.instanceMethods:[Ljava/lang/reflect/Method;
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifne 7
6: return
7: StackMap locals: org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods
StackMap stack:
aload 3
aload 0
if_acmpne 11
8: aload 1
aload 4
getfield org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods.staticMethods:[Ljava/lang/reflect/Method;
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifne 11
9: return
end local 4 10: StackMap locals: java.lang.Class java.util.function.Predicate java.util.function.Predicate java.lang.Class
StackMap stack: java.lang.SecurityException
pop
11: StackMap locals:
StackMap stack:
getstatic org.jruby.javasupport.binding.MethodGatherer.INTERFACES:Ljava/lang/ClassValue;
aload 3
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Class[]
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 18
StackMap locals: java.lang.Class java.util.function.Predicate java.util.function.Predicate java.lang.Class top int int java.lang.Class[]
StackMap stack:
12: aload 7
iload 5
aaload
astore 4
start local 4 13: getstatic org.jruby.javasupport.binding.MethodGatherer.FILTERED_METHODS:Ljava/lang/ClassValue;
aload 4
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods
astore 8
start local 8 14: aload 2
aload 8
getfield org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods.instanceMethods:[Ljava/lang/reflect/Method;
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifne 17
15: return
end local 8 16: StackMap locals: java.lang.Class java.util.function.Predicate java.util.function.Predicate java.lang.Class java.lang.Class int int java.lang.Class[]
StackMap stack: java.lang.SecurityException
pop
end local 4 17: StackMap locals: java.lang.Class java.util.function.Predicate java.util.function.Predicate java.lang.Class top int int java.lang.Class[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
iload 6
if_icmplt 12
19: aload 3
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 3
StackMap locals: java.lang.Class java.util.function.Predicate java.util.function.Predicate java.lang.Class
StackMap stack:
20: aload 3
ifnonnull 3
end local 3 21: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 javaClass Ljava/lang/Class<*>;
0 22 1 classProcessor Ljava/util/function/Predicate<[Ljava/lang/reflect/Method;>;
0 22 2 interfaceProcessor Ljava/util/function/Predicate<[Ljava/lang/reflect/Method;>;
2 21 3 klass Ljava/lang/Class<*>;
5 10 4 filteredMethods Lorg/jruby/javasupport/binding/MethodGatherer$PartitionedMethods;
13 17 4 iface Ljava/lang/Class;
14 16 8 filteredMethods Lorg/jruby/javasupport/binding/MethodGatherer$PartitionedMethods;
Exception table:
from to target type
4 6 10 Class java.lang.SecurityException
7 9 10 Class java.lang.SecurityException
13 15 16 Class java.lang.SecurityException
Signature: (Ljava/lang/Class<*>;Ljava/util/function/Predicate<[Ljava/lang/reflect/Method;>;Ljava/util/function/Predicate<[Ljava/lang/reflect/Method;>;)V
MethodParameters:
Name Flags
javaClass final
classProcessor
interfaceProcessor
private static boolean methodsAreEquivalent(java.lang.reflect.Method, java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 0
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 10
1: aload 0
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
if_acmpne 10
2: aload 0
invokevirtual java.lang.reflect.Method.isVarArgs:()Z
aload 1
invokevirtual java.lang.reflect.Method.isVarArgs:()Z
if_icmpne 10
3: aload 0
invokevirtual java.lang.reflect.Method.getModifiers:()I
dup
istore 2
start local 2 4: invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
aload 1
invokevirtual java.lang.reflect.Method.getModifiers:()I
dup
istore 3
start local 3 5: invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
if_icmpne 10
6: iload 2
invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
iload 3
invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
if_icmpne 10
7: iload 2
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
iload 3
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
if_icmpne 10
8: aload 0
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 10
end local 3 end local 2 9: iconst_1
ireturn
StackMap locals:
StackMap stack:
10: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 child Ljava/lang/reflect/Method;
0 11 1 parent Ljava/lang/reflect/Method;
4 9 2 childModifiers I
5 9 3 parentModifiers I
MethodParameters:
Name Flags
child
parent
private static void addNewMethods(java.util.HashMap<java.lang.String, java.util.List<java.lang.reflect.Method>>, java.lang.reflect.Method[], );
descriptor: (Ljava/util/HashMap;[Ljava/lang/reflect/Method;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 19
StackMap locals: java.util.HashMap java.lang.reflect.Method[] int top int int java.lang.reflect.Method[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 0
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 7
start local 7 3: aload 7
ifnonnull 8
4: new java.util.ArrayList
dup
iconst_4
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
5: aload 7
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 7
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: goto 18
8: StackMap locals: java.util.HashMap java.lang.reflect.Method[] int java.lang.reflect.Method int int java.lang.reflect.Method[] java.util.List
StackMap stack:
iconst_0
istore 8
start local 8 9: goto 16
10: StackMap locals: int
StackMap stack:
aload 7
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 9
start local 9 11: aload 9
aload 3
invokestatic org.jruby.javasupport.binding.MethodGatherer.methodsAreEquivalent:(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
ifeq 15
12: iload 2
ifeq 18
13: aload 7
iload 8
aload 3
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
14: goto 18
end local 9 15: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
16: iload 8
aload 7
invokeinterface java.util.List.size:()I
if_icmplt 10
end local 8 17: aload 7
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 3 18: StackMap locals: java.util.HashMap java.lang.reflect.Method[] int top int int java.lang.reflect.Method[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
iload 5
if_icmplt 1
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 nameMethods Ljava/util/HashMap<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;
0 21 1 methods [Ljava/lang/reflect/Method;
0 21 2 removeDuplicate Z
2 18 3 method Ljava/lang/reflect/Method;
3 18 7 childMethods Ljava/util/List<Ljava/lang/reflect/Method;>;
9 17 8 i I
11 15 9 current Ljava/lang/reflect/Method;
Signature: (Ljava/util/HashMap<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;[Ljava/lang/reflect/Method;Z)V
MethodParameters:
Name Flags
nameMethods final
methods final
removeDuplicate final
protected void installInnerClasses(java.lang.Class<?>, org.jruby.RubyModule);
descriptor: (Ljava/lang/Class;Lorg/jruby/RubyModule;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.jruby.javasupport.JavaClass.getDeclaredClasses:(Ljava/lang/Class;)[Ljava/lang/Class;
astore 3
start local 3 1: aload 2
invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
astore 4
start local 4 2: aload 3
arraylength
istore 5
start local 5 3: goto 19
4: StackMap locals: java.lang.Class[] org.jruby.Ruby int
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 5: aload 1
aload 6
invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
if_acmpeq 6
goto 19
6: StackMap locals: java.lang.Class
StackMap stack:
aload 6
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 7
goto 19
7: StackMap locals:
StackMap stack:
aload 6
invokestatic org.jruby.javasupport.JavaClass.getSimpleName:(Ljava/lang/Class;)Ljava/lang/String;
astore 7
start local 7 8: aload 7
invokevirtual java.lang.String.length:()I
ifne 9
goto 19
9: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.constantFields:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 12
10: aload 4
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
new java.lang.StringBuilder
dup
ldc "inner class \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()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 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" conflicts with field of same name"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
11: goto 19
12: StackMap locals:
StackMap stack:
aload 4
aload 4
aload 6
invokestatic org.jruby.javasupport.JavaClass.get:(Lorg/jruby/Ruby;Ljava/lang/Class;)Lorg/jruby/javasupport/JavaClass;
invokestatic org.jruby.javasupport.Java.getProxyClass:(Lorg/jruby/Ruby;Lorg/jruby/javasupport/JavaClass;)Lorg/jruby/RubyModule;
astore 8
start local 8 13: aload 7
invokestatic org.jruby.util.IdUtil.isConstant:(Ljava/lang/String;)Z
ifeq 17
14: aload 2
aload 7
invokevirtual org.jruby.RubyModule.getConstantAt:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
ifnonnull 19
15: aload 2
aload 4
aload 7
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
aload 8
invokevirtual org.jruby.RubyModule.const_set:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
16: goto 19
17: StackMap locals: org.jruby.RubyModule
StackMap stack:
aload 2
aload 7
invokevirtual org.jruby.RubyModule.respondsTo:(Ljava/lang/String;)Z
ifne 19
18: aload 2
invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
aload 7
new org.jruby.javasupport.binding.MethodGatherer$7
dup
aload 0
aload 2
invokevirtual org.jruby.RubyModule.getSingletonClass:()Lorg/jruby/RubyClass;
getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
aload 7
aload 8
invokespecial org.jruby.javasupport.binding.MethodGatherer$7.<init>:(Lorg/jruby/javasupport/binding/MethodGatherer;Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;Lorg/jruby/RubyModule;)V
invokevirtual org.jruby.RubyClass.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
end local 8 end local 7 end local 6 19: StackMap locals:
StackMap stack:
iinc 5 -1
iload 5
ifge 4
end local 5 20: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 21 1 javaClass Ljava/lang/Class<*>;
0 21 2 proxy Lorg/jruby/RubyModule;
1 21 3 classes [Ljava/lang/Class;
2 21 4 runtime Lorg/jruby/Ruby;
3 20 5 i I
5 19 6 clazz Ljava/lang/Class<*>;
8 19 7 simpleName Ljava/lang/String;
13 19 8 innerProxy Lorg/jruby/RubyModule;
Signature: (Ljava/lang/Class<*>;Lorg/jruby/RubyModule;)V
MethodParameters:
Name Flags
javaClass final
proxy final
protected void setupScalaSingleton(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.isInterface:()Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: return
4: StackMap locals: java.lang.ClassLoader
StackMap stack:
getstatic org.jruby.javasupport.binding.MethodGatherer.IS_SCALA:Ljava/lang/ClassValue;
aload 1
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 6
5: return
6: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 36
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 7: aload 3
ldc "MODULE$"
invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 4
start local 4 8: aload 4
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 9: aload 5
ifnonnull 11
10: return
11: StackMap locals: java.lang.Class java.lang.reflect.Field java.lang.Object
StackMap stack:
aload 3
invokestatic org.jruby.javasupport.binding.MethodGatherer.getMethods:(Ljava/lang/Class;)Ljava/util/Map;
aload 0
aload 3
aload 1
aload 5
invokedynamic accept(Lorg/jruby/javasupport/binding/MethodGatherer;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;)Ljava/util/function/BiConsumer;
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;)V
org/jruby/javasupport/binding/MethodGatherer.lambda$2(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;Ljava/util/List;)V (7)
(Ljava/lang/String;Ljava/util/List;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
end local 5 end local 4 end local 3 end local 2 12: goto 16
13: StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class
StackMap stack: java.lang.ClassNotFoundException
pop
goto 16
14: StackMap locals:
StackMap stack: java.lang.NoSuchFieldException
pop
goto 16
15: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 17 1 javaClass Ljava/lang/Class<*>;
2 12 2 loader Ljava/lang/ClassLoader;
7 12 3 companionClass Ljava/lang/Class<*>;
8 12 4 field Ljava/lang/reflect/Field;
9 12 5 singleton Ljava/lang/Object;
Exception table:
from to target type
1 3 13 Class java.lang.ClassNotFoundException
4 5 13 Class java.lang.ClassNotFoundException
6 10 13 Class java.lang.ClassNotFoundException
11 12 13 Class java.lang.ClassNotFoundException
1 3 14 Class java.lang.NoSuchFieldException
4 5 14 Class java.lang.NoSuchFieldException
6 10 14 Class java.lang.NoSuchFieldException
11 12 14 Class java.lang.NoSuchFieldException
1 3 15 Class java.lang.Exception
4 5 15 Class java.lang.Exception
6 10 15 Class java.lang.Exception
11 12 15 Class java.lang.Exception
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
javaClass final
protected static java.lang.String fixScalaNames(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: getstatic org.jruby.javasupport.binding.MethodGatherer.SCALA_OPERATORS:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 3: aload 1
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 1
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
1 6 1 s Ljava/lang/String;
3 4 2 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
name final
protected void installConstants(org.jruby.RubyModule);
descriptor: (Lorg/jruby/RubyModule;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.constantFields:Ljava/util/Map;
aload 1
invokedynamic accept(Lorg/jruby/RubyModule;)Ljava/util/function/BiConsumer;
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;)V
org/jruby/javasupport/binding/MethodGatherer.lambda$3(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/javasupport/binding/ConstantField;)V (6)
(Ljava/lang/String;Lorg/jruby/javasupport/binding/ConstantField;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 2 1 proxy Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
proxy final
protected void installClassMethods(org.jruby.RubyModule);
descriptor: (Lorg/jruby/RubyModule;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.getStaticInstallers:()Ljava/util/Map;
aload 1
invokedynamic accept(Lorg/jruby/RubyModule;)Ljava/util/function/BiConsumer;
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;)V
org/jruby/javasupport/binding/MethodGatherer.lambda$4(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V (6)
(Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 2 1 proxy Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
proxy final
void installConstructors(java.lang.Class<?>, org.jruby.RubyModule);
descriptor: (Ljava/lang/Class;Lorg/jruby/RubyModule;)V
flags: (0x0000)
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.jruby.javasupport.JavaClass.getConstructors:(Ljava/lang/Class;)[Ljava/lang/reflect/Constructor;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class org.jruby.RubyModule java.lang.reflect.Constructor[] int top int int java.lang.reflect.Constructor[]
StackMap stack:
3: aload 8
iload 6
aaload
astore 5
start local 5 4: iload 4
aload 1
aload 5
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
if_acmpne 5
iconst_1
goto 6
StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class org.jruby.RubyModule java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int int java.lang.reflect.Constructor[]
StackMap stack: int
5: iconst_0
StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class org.jruby.RubyModule java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int int java.lang.reflect.Constructor[]
StackMap stack: int int
6: ior
istore 4
end local 5 7: iinc 6 1
StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class org.jruby.RubyModule java.lang.reflect.Constructor[] int top int int java.lang.reflect.Constructor[]
StackMap stack:
8: iload 6
iload 7
if_icmplt 3
9: iload 4
ifeq 12
10: aload 2
ldc "__jcreate!"
new org.jruby.java.invokers.ConstructorInvoker
dup
aload 2
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic get(Ljava/lang/Class;)Ljava/util/function/Supplier;
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;
java/lang/Class.getConstructors()[Ljava/lang/reflect/Constructor; (5)
()[Ljava/lang/reflect/Constructor;
ldc "__jcreate!"
invokespecial org.jruby.java.invokers.ConstructorInvoker.<init>:(Lorg/jruby/RubyModule;Ljava/util/function/Supplier;Ljava/lang/String;)V
invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
11: goto 13
12: StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class org.jruby.RubyModule java.lang.reflect.Constructor[] int
StackMap stack:
aload 2
ldc "__jcreate!"
new org.jruby.javasupport.binding.MethodGatherer$NoConstructorMethod
dup
aload 2
ldc "__jcreate!"
invokespecial org.jruby.javasupport.binding.MethodGatherer$NoConstructorMethod.<init>:(Lorg/jruby/RubyModule;Ljava/lang/String;)V
invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
13: 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 14 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 14 1 javaClass Ljava/lang/Class<*>;
0 14 2 proxy Lorg/jruby/RubyModule;
1 14 3 constructors [Ljava/lang/reflect/Constructor;
2 14 4 localConstructor Z
4 7 5 constructor Ljava/lang/reflect/Constructor;
Signature: (Ljava/lang/Class<*>;Lorg/jruby/RubyModule;)V
MethodParameters:
Name Flags
javaClass
proxy final
protected void prepareStaticMethod(java.lang.Class<?>, java.lang.reflect.Method, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.getStaticInstallersForWrite:()Ljava/util/Map;
getstatic org.jruby.javasupport.binding.MethodGatherer.STATIC_RESERVED_NAMES:Ljava/util/Map;
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
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;
org/jruby/javasupport/binding/StaticMethodInvokerInstaller.<init>(Ljava/lang/String;)V (8)
(Ljava/lang/String;)Lorg/jruby/javasupport/binding/NamedInstaller;
invokevirtual org.jruby.javasupport.binding.MethodGatherer.prepareMethod:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/function/Function;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 2 1 javaClass Ljava/lang/Class<*>;
0 2 2 method Ljava/lang/reflect/Method;
0 2 3 name Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/String;)V
MethodParameters:
Name Flags
javaClass
method
name
protected void prepareInstanceMethod(java.lang.Class<?>, java.lang.reflect.Method, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.getInstanceInstallersForWrite:()Ljava/util/Map;
getstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.instanceNames:Ljava/util/Map;
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;
org/jruby/javasupport/binding/InstanceMethodInvokerInstaller.<init>(Ljava/lang/String;)V (8)
(Ljava/lang/String;)Lorg/jruby/javasupport/binding/NamedInstaller;
invokevirtual org.jruby.javasupport.binding.MethodGatherer.prepareMethod:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/function/Function;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 2 1 javaClass Ljava/lang/Class<*>;
0 2 2 method Ljava/lang/reflect/Method;
0 2 3 name Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/String;)V
MethodParameters:
Name Flags
javaClass
method
name
protected void prepareMethod(java.lang.Class<?>, java.lang.reflect.Method, java.lang.String, java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller>, java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName>, java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName>, java.util.function.Function<java.lang.String, org.jruby.javasupport.binding.NamedInstaller>);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/function/Function;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 5
aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 3
1: 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
ldc "__method"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 4
aload 6
invokevirtual org.jruby.javasupport.binding.MethodGatherer.lowerPriority:(Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)Z
ifeq 4
return
4: StackMap locals:
StackMap stack:
aload 4
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.binding.NamedInstaller
astore 8
start local 8 5: aload 8
ifnonnull 8
6: aload 7
aload 3
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.binding.NamedInstaller
astore 8
7: aload 4
aload 3
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals: org.jruby.javasupport.binding.NamedInstaller
StackMap stack:
aload 8
checkcast org.jruby.javasupport.binding.MethodInstaller
aload 2
aload 1
invokevirtual org.jruby.javasupport.binding.MethodInstaller.addMethod:(Ljava/lang/reflect/Method;Ljava/lang/Class;)V
9: return
end local 8 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 10 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 10 1 javaClass Ljava/lang/Class<*>;
0 10 2 method Ljava/lang/reflect/Method;
0 10 3 name Ljava/lang/String;
0 10 4 installers Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
0 10 5 reservedNames Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
0 10 6 names Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
0 10 7 constructor Ljava/util/function/Function<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
5 10 8 invoker Lorg/jruby/javasupport/binding/NamedInstaller;
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;Ljava/util/function/Function<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;)V
MethodParameters:
Name Flags
javaClass
method
name
installers
reservedNames
names
constructor
private boolean lowerPriority(java.lang.String, java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller>, java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName>);
descriptor: (Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.binding.AssignedName
astore 4
start local 4 1: aload 4
ifnonnull 4
2: aload 3
aload 1
new org.jruby.javasupport.binding.AssignedName
dup
aload 1
getstatic org.jruby.javasupport.binding.Priority.METHOD:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: goto 9
4: StackMap locals: org.jruby.javasupport.binding.AssignedName
StackMap stack:
getstatic org.jruby.javasupport.binding.Priority.METHOD:Lorg/jruby/javasupport/binding/Priority;
aload 4
invokevirtual org.jruby.javasupport.binding.Priority.lessImportantThan:(Lorg/jruby/javasupport/binding/AssignedName;)Z
ifeq 5
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
getstatic org.jruby.javasupport.binding.Priority.METHOD:Lorg/jruby/javasupport/binding/Priority;
aload 4
invokevirtual org.jruby.javasupport.binding.Priority.asImportantAs:(Lorg/jruby/javasupport/binding/AssignedName;)Z
ifne 9
6: aload 2
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 2
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 3
aload 1
new org.jruby.javasupport.binding.AssignedName
dup
aload 1
getstatic org.jruby.javasupport.binding.Priority.METHOD:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 10 1 name Ljava/lang/String;
0 10 2 installers Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
0 10 3 names Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
1 10 4 assignedName Lorg/jruby/javasupport/binding/AssignedName;
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;)Z
MethodParameters:
Name Flags
name
installers
names
java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller> getStaticInstallers();
descriptor: ()Ljava/util/Map;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticInstallers:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller> getStaticInstallersForWrite();
descriptor: ()Ljava/util/Map;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticInstallers:Ljava/util/Map;
astore 1
start local 1 1: aload 1
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
if_acmpne 2
aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
dup_x1
putfield org.jruby.javasupport.binding.MethodGatherer.staticInstallers:Ljava/util/Map;
goto 3
StackMap locals: java.util.Map
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: java.util.Map
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
1 4 1 staticInstallers Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller> getInstanceInstallers();
descriptor: ()Ljava/util/Map;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.instanceInstallers:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller> getInstanceInstallersForWrite();
descriptor: ()Ljava/util/Map;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.instanceInstallers:Ljava/util/Map;
astore 1
start local 1 1: aload 1
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
if_acmpne 2
aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
dup_x1
putfield org.jruby.javasupport.binding.MethodGatherer.instanceInstallers:Ljava/util/Map;
goto 3
StackMap locals: java.util.Map
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: java.util.Map
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
1 4 1 instanceInstallers Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
void setupFieldsAndConstants(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.isInterface:()Z
istore 2
start local 2 1: aload 1
invokestatic org.jruby.javasupport.JavaClass.getDeclaredFields:(Ljava/lang/Class;)[Ljava/lang/reflect/Field;
astore 3
start local 3 2: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 21
StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class int java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 1
aload 4
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
if_acmpeq 5
goto 20
5: StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class int java.lang.reflect.Field[] java.lang.reflect.Field int int java.lang.reflect.Field[]
StackMap stack:
aload 4
invokevirtual java.lang.reflect.Field.getModifiers:()I
istore 8
start local 8 6: iload 8
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
istore 9
start local 9 7: iload 9
ifne 8
goto 20
8: StackMap locals: int int
StackMap stack:
iload 8
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
istore 10
start local 10 9: iload 8
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
istore 11
start local 11 10: iload 9
ifeq 11
iload 10
ifeq 11
iload 11
ifeq 11
aload 4
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isUpperCase:(C)Z
ifeq 11
iconst_1
goto 12
StackMap locals: int int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 12
start local 12 13: iload 12
ifeq 16
14: aload 0
aload 4
invokevirtual org.jruby.javasupport.binding.MethodGatherer.addConstantField:(Ljava/lang/reflect/Field;)V
15: iload 2
ifne 16
goto 20
16: StackMap locals: int
StackMap stack:
iload 10
ifeq 19
17: aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.getStaticInstallersForWrite:()Ljava/util/Map;
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
aload 4
iload 11
iconst_1
iload 12
invokestatic org.jruby.javasupport.binding.MethodGatherer.addField:(Ljava/util/Map;Ljava/util/Map;Ljava/lang/reflect/Field;ZZZ)V
18: goto 20
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.getInstanceInstallersForWrite:()Ljava/util/Map;
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.instanceNames:Ljava/util/Map;
aload 4
iload 11
iconst_0
iconst_0
invokestatic org.jruby.javasupport.binding.MethodGatherer.addField:(Ljava/util/Map;Ljava/util/Map;Ljava/lang/reflect/Field;ZZZ)V
end local 12 end local 11 end local 10 end local 9 end local 8 end local 4 20: StackMap locals: org.jruby.javasupport.binding.MethodGatherer java.lang.Class int java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
iload 6
if_icmplt 3
22: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 23 1 javaClass Ljava/lang/Class<*>;
1 23 2 isInterface Z
2 23 3 fields [Ljava/lang/reflect/Field;
4 20 4 field Ljava/lang/reflect/Field;
6 20 8 modifiers I
7 20 9 isPublic Z
9 20 10 isStatic Z
10 20 11 isFinal Z
13 20 12 constant Z
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
javaClass
private void addConstantField(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.constantFields:Ljava/util/Map;
astore 2
start local 2 1: aload 2
getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
if_acmpne 3
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
dup_x1
putfield org.jruby.javasupport.binding.MethodGatherer.constantFields:Ljava/util/Map;
astore 2
3: StackMap locals: java.util.Map
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
new org.jruby.javasupport.binding.ConstantField
dup
aload 1
invokespecial org.jruby.javasupport.binding.ConstantField.<init>:(Ljava/lang/reflect/Field;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 5 1 field Ljava/lang/reflect/Field;
1 5 2 constantFields Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/ConstantField;>;
MethodParameters:
Name Flags
field
void setupMethods(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.isInterface:()Z
istore 2
start local 2 1: aload 1
invokestatic org.jruby.javasupport.binding.MethodGatherer.getMethods:(Ljava/lang/Class;)Ljava/util/Map;
aload 0
aload 1
iload 2
invokedynamic accept(Lorg/jruby/javasupport/binding/MethodGatherer;Ljava/lang/Class;Z)Ljava/util/function/BiConsumer;
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;)V
org/jruby/javasupport/binding/MethodGatherer.lambda$8(Ljava/lang/Class;ZLjava/lang/String;Ljava/util/List;)V (7)
(Ljava/lang/String;Ljava/util/List;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 3 1 javaClass Ljava/lang/Class<*>;
1 3 2 isInterface Z
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
javaClass
private void setupSingletonMethods(java.util.Map<java.lang.String, org.jruby.javasupport.binding.NamedInstaller>, java.lang.Class<?>, , java.lang.reflect.Method, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.binding.NamedInstaller
astore 6
start local 6 1: aload 6
ifnonnull 4
2: new org.jruby.javasupport.binding.SingletonMethodInvokerInstaller
dup
aload 5
aload 3
invokespecial org.jruby.javasupport.binding.SingletonMethodInvokerInstaller.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 6
3: aload 1
aload 5
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: org.jruby.javasupport.binding.NamedInstaller
StackMap stack:
aload 6
checkcast org.jruby.javasupport.binding.MethodInstaller
aload 4
aload 2
invokevirtual org.jruby.javasupport.binding.MethodInstaller.addMethod:(Ljava/lang/reflect/Method;Ljava/lang/Class;)V
5: 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 6 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 6 1 methodCallbacks Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;
0 6 2 javaClass Ljava/lang/Class<*>;
0 6 3 singleton Ljava/lang/Object;
0 6 4 method Ljava/lang/reflect/Method;
0 6 5 name Ljava/lang/String;
1 6 6 invoker Lorg/jruby/javasupport/binding/NamedInstaller;
Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;>;Ljava/lang/Class<*>;Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/String;)V
MethodParameters:
Name Flags
methodCallbacks
javaClass
singleton
method
name
private void assignStaticAliases();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.getStaticInstallers:()Ljava/util/Map;
aload 0
invokedynamic accept(Lorg/jruby/javasupport/binding/MethodGatherer;)Ljava/util/function/BiConsumer;
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;)V
org/jruby/javasupport/binding/MethodGatherer.lambda$9(Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V (7)
(Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
private void assignInstanceAliases();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.getInstanceInstallers:()Ljava/util/Map;
aload 0
invokedynamic accept(Lorg/jruby/javasupport/binding/MethodGatherer;)Ljava/util/function/BiConsumer;
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;)V
org/jruby/javasupport/binding/MethodGatherer.lambda$10(Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V (7)
(Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
protected static void addField(java.util.Map, java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName>, java.lang.reflect.Field, boolean, boolean, );
descriptor: (Ljava/util/Map;Ljava/util/Map;Ljava/lang/reflect/Field;ZZZ)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
astore 6
start local 6 1: getstatic org.jruby.javasupport.binding.Priority.FIELD:Lorg/jruby/javasupport/binding/Priority;
aload 1
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.binding.AssignedName
invokevirtual org.jruby.javasupport.binding.Priority.lessImportantThan:(Lorg/jruby/javasupport/binding/AssignedName;)Z
ifeq 2
return
2: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 6
new org.jruby.javasupport.binding.AssignedName
dup
aload 6
getstatic org.jruby.javasupport.binding.Priority.FIELD:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 6
iload 4
ifeq 4
new org.jruby.javasupport.binding.StaticFieldGetterInstaller
dup
aload 6
aload 2
iload 5
invokespecial org.jruby.javasupport.binding.StaticFieldGetterInstaller.<init>:(Ljava/lang/String;Ljava/lang/reflect/Field;Z)V
goto 5
4: StackMap locals: java.util.Map java.util.Map java.lang.reflect.Field int int int java.lang.String
StackMap stack: java.util.Map java.lang.String
new org.jruby.javasupport.binding.InstanceFieldGetterInstaller
dup
aload 6
aload 2
invokespecial org.jruby.javasupport.binding.InstanceFieldGetterInstaller.<init>:(Ljava/lang/String;Ljava/lang/reflect/Field;)V
5: StackMap locals: java.util.Map java.util.Map java.lang.reflect.Field int int int java.lang.String
StackMap stack: java.util.Map java.lang.String org.jruby.javasupport.binding.FieldInstaller
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: iload 3
ifne 11
7: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 8: aload 0
aload 7
iload 4
ifeq 9
new org.jruby.javasupport.binding.StaticFieldSetterInstaller
dup
aload 7
aload 2
invokespecial org.jruby.javasupport.binding.StaticFieldSetterInstaller.<init>:(Ljava/lang/String;Ljava/lang/reflect/Field;)V
goto 10
9: StackMap locals: java.util.Map java.util.Map java.lang.reflect.Field int int int java.lang.String java.lang.String
StackMap stack: java.util.Map java.lang.String
new org.jruby.javasupport.binding.InstanceFieldSetterInstaller
dup
aload 7
aload 2
invokespecial org.jruby.javasupport.binding.InstanceFieldSetterInstaller.<init>:(Ljava/lang/String;Ljava/lang/reflect/Field;)V
10: StackMap locals: java.util.Map java.util.Map java.lang.reflect.Field int int int java.lang.String java.lang.String
StackMap stack: java.util.Map java.lang.String org.jruby.javasupport.binding.FieldInstaller
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 11: StackMap locals:
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 12 0 callbacks Ljava/util/Map;
0 12 1 names Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
0 12 2 field Ljava/lang/reflect/Field;
0 12 3 isFinal Z
0 12 4 isStatic Z
0 12 5 isConstant Z
1 12 6 name Ljava/lang/String;
8 11 7 setName Ljava/lang/String;
Signature: (Ljava/util/Map;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;Ljava/lang/reflect/Field;ZZZ)V
MethodParameters:
Name Flags
callbacks final
names final
field final
isFinal final
isStatic final
isConstant final
void installInstanceMethods(org.jruby.RubyModule);
descriptor: (Lorg/jruby/RubyModule;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.javasupport.binding.MethodGatherer.getInstanceInstallers:()Ljava/util/Map;
aload 1
invokedynamic accept(Lorg/jruby/RubyModule;)Ljava/util/function/BiConsumer;
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;)V
org/jruby/javasupport/binding/MethodGatherer.lambda$11(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V (6)
(Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 2 1 proxy Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
proxy final
private static boolean lambda$0(java.util.HashMap, java.lang.reflect.Method[]);
descriptor: (Ljava/util/HashMap;[Ljava/lang/reflect/Method;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
aload 1
iconst_1
invokestatic org.jruby.javasupport.binding.MethodGatherer.addNewMethods:(Ljava/util/HashMap;[Ljava/lang/reflect/Method;Z)V
iconst_1
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 classMethods [Ljava/lang/reflect/Method;
private static boolean lambda$1(java.util.HashMap, java.lang.reflect.Method[]);
descriptor: (Ljava/util/HashMap;[Ljava/lang/reflect/Method;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
aload 1
iconst_0
invokestatic org.jruby.javasupport.binding.MethodGatherer.addNewMethods:(Ljava/util/HashMap;[Ljava/lang/reflect/Method;Z)V
iconst_1
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 interfaceMethods [Ljava/lang/reflect/Method;
private void lambda$2(java.lang.Class, java.lang.Class, java.lang.Object, java.lang.String, java.util.List);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;Ljava/util/List;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=8, locals=9, args_size=6
start local 0 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: goto 20
2: StackMap locals: int
StackMap stack:
aload 5
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 7
start local 7 3: aload 4
bipush 36
invokevirtual java.lang.String.indexOf:(I)I
iflt 4
aload 4
invokestatic org.jruby.javasupport.binding.MethodGatherer.fixScalaNames:(Ljava/lang/String;)Ljava/lang/String;
astore 4
4: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 7
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 19
5: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.javasupport.binding.AssignedName
astore 8
start local 8 6: getstatic org.jruby.javasupport.binding.MethodGatherer.INSTANCE_RESERVED_NAMES:Ljava/util/Map;
aload 7
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 9
7: aload 0
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticInstallers:Ljava/util/Map;
aload 2
aload 3
aload 7
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 "__method"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.javasupport.binding.MethodGatherer.setupSingletonMethods:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/String;)V
8: goto 19
9: StackMap locals: org.jruby.javasupport.binding.AssignedName
StackMap stack:
aload 8
ifnonnull 12
10: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
aload 4
new org.jruby.javasupport.binding.AssignedName
dup
aload 4
getstatic org.jruby.javasupport.binding.Priority.METHOD:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: goto 18
12: StackMap locals:
StackMap stack:
getstatic org.jruby.javasupport.binding.Priority.METHOD:Lorg/jruby/javasupport/binding/Priority;
aload 8
invokevirtual org.jruby.javasupport.binding.Priority.lessImportantThan:(Lorg/jruby/javasupport/binding/AssignedName;)Z
ifeq 14
13: goto 19
14: StackMap locals:
StackMap stack:
getstatic org.jruby.javasupport.binding.Priority.METHOD:Lorg/jruby/javasupport/binding/Priority;
aload 8
invokevirtual org.jruby.javasupport.binding.Priority.asImportantAs:(Lorg/jruby/javasupport/binding/AssignedName;)Z
ifne 18
15: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticInstallers:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticInstallers:Ljava/util/Map;
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 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
aload 4
new org.jruby.javasupport.binding.AssignedName
dup
aload 4
getstatic org.jruby.javasupport.binding.Priority.METHOD:Lorg/jruby/javasupport/binding/Priority;
invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticInstallers:Ljava/util/Map;
aload 2
aload 3
aload 7
aload 4
invokevirtual org.jruby.javasupport.binding.MethodGatherer.setupSingletonMethods:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/String;)V
end local 8 end local 7 19: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
aload 5
invokeinterface java.util.List.size:()I
if_icmplt 2
end local 6 21: return
end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 22 4 name Ljava/lang/String;
0 22 5 methods Ljava/util/List<Ljava/lang/reflect/Method;>;
1 21 6 j I
3 19 7 method Ljava/lang/reflect/Method;
6 19 8 assignedName Lorg/jruby/javasupport/binding/AssignedName;
private static void lambda$3(org.jruby.RubyModule, java.lang.String, org.jruby.javasupport.binding.ConstantField);
descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/javasupport/binding/ConstantField;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 1 start local 2 0: aload 2
aload 0
invokevirtual org.jruby.javasupport.binding.ConstantField.install:(Lorg/jruby/RubyModule;)V
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 name Ljava/lang/String;
0 1 2 field Lorg/jruby/javasupport/binding/ConstantField;
private static void lambda$4(org.jruby.RubyModule, java.lang.String, org.jruby.javasupport.binding.NamedInstaller);
descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 1 start local 2 0: aload 2
aload 0
invokevirtual org.jruby.javasupport.binding.NamedInstaller.install:(Lorg/jruby/RubyModule;)V
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 $ Ljava/lang/String;
0 1 2 value Lorg/jruby/javasupport/binding/NamedInstaller;
private void lambda$8(java.lang.Class, boolean, java.lang.String, java.util.List);
descriptor: (Ljava/lang/Class;ZLjava/lang/String;Ljava/util/List;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 3 start local 4 0: aload 4
invokeinterface java.util.List.size:()I
istore 5
start local 5 1: goto 8
2: StackMap locals: int
StackMap stack:
aload 4
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 6
start local 6 3: aload 6
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 6
4: aload 0
aload 1
aload 6
aload 3
invokevirtual org.jruby.javasupport.binding.MethodGatherer.prepareStaticMethod:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;)V
5: goto 8
StackMap locals: java.lang.reflect.Method
StackMap stack:
6: iload 2
ifne 8
7: aload 0
aload 1
aload 6
aload 3
invokevirtual org.jruby.javasupport.binding.MethodGatherer.prepareInstanceMethod:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;)V
end local 6 8: StackMap locals:
StackMap stack:
iinc 5 -1
iload 5
ifge 2
end local 5 9: return
end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 10 3 name Ljava/lang/String;
0 10 4 methods Ljava/util/List<Ljava/lang/reflect/Method;>;
1 9 5 i I
3 8 6 method Ljava/lang/reflect/Method;
private void lambda$9(java.lang.String, org.jruby.javasupport.binding.NamedInstaller);
descriptor: (Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.jruby.javasupport.binding.NamedInstaller.type:I
iconst_2
if_icmpne 4
aload 2
invokevirtual org.jruby.javasupport.binding.NamedInstaller.hasLocalMethod:()Z
ifeq 4
1: aload 1
ldc "__method"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 2
return
2: StackMap locals:
StackMap stack:
aload 2
checkcast org.jruby.javasupport.binding.MethodInstaller
astore 3
start local 3 3: aload 3
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.staticNames:Ljava/util/Map;
invokevirtual org.jruby.javasupport.binding.MethodInstaller.assignAliases:(Ljava/util/Map;)V
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 5 1 name Ljava/lang/String;
0 5 2 installer Lorg/jruby/javasupport/binding/NamedInstaller;
3 4 3 methodInstaller Lorg/jruby/javasupport/binding/MethodInstaller;
private void lambda$10(java.lang.String, org.jruby.javasupport.binding.NamedInstaller);
descriptor: (Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.jruby.javasupport.binding.NamedInstaller.type:I
iconst_4
if_icmpne 8
1: aload 1
ldc "__method"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 2
return
2: StackMap locals:
StackMap stack:
aload 2
checkcast org.jruby.javasupport.binding.MethodInstaller
astore 3
start local 3 3: aload 2
invokevirtual org.jruby.javasupport.binding.NamedInstaller.hasLocalMethod:()Z
ifeq 5
4: aload 3
aload 0
getfield org.jruby.javasupport.binding.MethodGatherer.instanceNames:Ljava/util/Map;
invokevirtual org.jruby.javasupport.binding.MethodInstaller.assignAliases:(Ljava/util/Map;)V
5: StackMap locals: org.jruby.javasupport.binding.MethodInstaller
StackMap stack:
aload 1
ldc "equals"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 3
iconst_1
invokevirtual org.jruby.javasupport.binding.MethodInstaller.setLocalMethod:(Z)V
7: aload 3
ldc "=="
invokevirtual org.jruby.javasupport.binding.MethodInstaller.addAlias:(Ljava/lang/String;)V
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/javasupport/binding/MethodGatherer;
0 9 1 name Ljava/lang/String;
0 9 2 installer Lorg/jruby/javasupport/binding/NamedInstaller;
3 8 3 methodInstaller Lorg/jruby/javasupport/binding/MethodInstaller;
private static void lambda$11(org.jruby.RubyModule, java.lang.String, org.jruby.javasupport.binding.NamedInstaller);
descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/javasupport/binding/NamedInstaller;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 1 start local 2 0: aload 2
aload 0
invokevirtual org.jruby.javasupport.binding.NamedInstaller.install:(Lorg/jruby/RubyModule;)V
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 $ Ljava/lang/String;
0 1 2 value Lorg/jruby/javasupport/binding/NamedInstaller;
}
SourceFile: "MethodGatherer.java"
NestMembers:
org.jruby.javasupport.binding.MethodGatherer$1 org.jruby.javasupport.binding.MethodGatherer$2 org.jruby.javasupport.binding.MethodGatherer$3 org.jruby.javasupport.binding.MethodGatherer$4 org.jruby.javasupport.binding.MethodGatherer$5 org.jruby.javasupport.binding.MethodGatherer$6 org.jruby.javasupport.binding.MethodGatherer$7 org.jruby.javasupport.binding.MethodGatherer$NoConstructorMethod org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
org.jruby.javasupport.binding.MethodGatherer$1
org.jruby.javasupport.binding.MethodGatherer$2
org.jruby.javasupport.binding.MethodGatherer$3
org.jruby.javasupport.binding.MethodGatherer$4
org.jruby.javasupport.binding.MethodGatherer$5
org.jruby.javasupport.binding.MethodGatherer$6
org.jruby.javasupport.binding.MethodGatherer$7
NoConstructorMethod = org.jruby.javasupport.binding.MethodGatherer$NoConstructorMethod of org.jruby.javasupport.binding.MethodGatherer
private PartitionedMethods = org.jruby.javasupport.binding.MethodGatherer$PartitionedMethods of org.jruby.javasupport.binding.MethodGatherer