public class io.vertx.codegen.overloadcheck.MethodOverloadChecker
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.codegen.overloadcheck.MethodOverloadChecker
super_class: java.lang.Object
{
public static final io.vertx.codegen.overloadcheck.MethodOverloadChecker INSTANCE;
descriptor: Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final java.util.Map<java.lang.String, java.util.Map<java.lang.String, java.util.Set<java.lang.String>>> typeMappingsMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: new io.vertx.codegen.overloadcheck.MethodOverloadChecker
dup
new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
invokespecial io.vertx.codegen.overloadcheck.MethodOverloadChecker.<init>:(Ljava/util/Properties;)V
astore 0
start local 0 1: new io.vertx.codegen.overloadcheck.MethodOverloadChecker
dup
invokespecial io.vertx.codegen.overloadcheck.MethodOverloadChecker.<init>:()V
astore 0
2: goto 5
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker
StackMap stack: java.lang.Exception
3: astore 1
start local 1 4: aload 1
invokevirtual java.lang.Exception.printStackTrace:()V
end local 1 5: StackMap locals:
StackMap stack:
aload 0
putstatic io.vertx.codegen.overloadcheck.MethodOverloadChecker.INSTANCE:Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
end local 0 6: return
LocalVariableTable:
Start End Slot Name Signature
1 6 0 checker Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
4 5 1 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield io.vertx.codegen.overloadcheck.MethodOverloadChecker.typeMappingsMap:Ljava/util/Map;
2: aload 0
invokevirtual io.vertx.codegen.overloadcheck.MethodOverloadChecker.loadTypeMappings:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
public void <init>(java.util.Properties);
descriptor: (Ljava/util/Properties;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield io.vertx.codegen.overloadcheck.MethodOverloadChecker.typeMappingsMap:Ljava/util/Map;
2: aload 0
aload 1
invokevirtual io.vertx.codegen.overloadcheck.MethodOverloadChecker.loadTypeMappings:(Ljava/util/Properties;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
0 4 1 props Ljava/util/Properties;
MethodParameters:
Name Flags
props
public void checkAmbiguous(java.util.stream.Stream<io.vertx.codegen.MethodInfo>);
descriptor: (Ljava/util/stream/Stream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual io.vertx.codegen.overloadcheck.MethodOverloadChecker.convert:(Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
invokevirtual io.vertx.codegen.overloadcheck.MethodOverloadChecker.checkAmbiguousSimple:(Ljava/util/List;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
0 2 1 meths Ljava/util/stream/Stream<Lio/vertx/codegen/MethodInfo;>;
Signature: (Ljava/util/stream/Stream<Lio/vertx/codegen/MethodInfo;>;)V
MethodParameters:
Name Flags
meths
public void checkAmbiguousSimple(java.util.List<io.vertx.codegen.overloadcheck.SimpleMethod>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 2: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.util.List java.util.List java.util.Map top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.codegen.overloadcheck.SimpleMethod
astore 4
start local 4 4: aload 4
getfield io.vertx.codegen.overloadcheck.SimpleMethod.params:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 6
start local 6 5: aload 3
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 7
start local 7 6: aload 7
ifnonnull 9
7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
8: aload 3
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.util.List java.util.List java.util.Map io.vertx.codegen.overloadcheck.SimpleMethod java.util.Iterator int java.util.List
StackMap stack:
aload 7
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 4 10: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.util.List java.util.List java.util.Map top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 19
StackMap locals:
StackMap stack:
12: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 13: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
astore 6
start local 6 14: aload 6
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 19
15: aload 0
getfield io.vertx.codegen.overloadcheck.MethodOverloadChecker.typeMappingsMap:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 18
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.util.List java.util.List java.util.Map java.util.Map$Entry java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
16: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 17: aload 0
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 6
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Map
invokevirtual io.vertx.codegen.overloadcheck.MethodOverloadChecker.checkMethodList:(Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)V
end local 7 18: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
end local 6 end local 4 19: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.util.List java.util.List java.util.Map top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
0 21 1 meths Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;
1 21 2 methods Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;
2 21 3 byNumParams Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;>;
4 10 4 meth Lio/vertx/codegen/overloadcheck/SimpleMethod;
5 10 6 numParams I
6 10 7 list Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;
13 19 4 entry Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;>;
14 19 6 list Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;
17 18 7 mappingEntry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;>;
Signature: (Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;)V
MethodParameters:
Name Flags
meths
private java.util.stream.Stream<io.vertx.codegen.overloadcheck.SimpleMethod> convert(java.util.stream.Stream<io.vertx.codegen.MethodInfo>);
descriptor: (Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
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;
io/vertx/codegen/overloadcheck/MethodOverloadChecker.lambda$0(Lio/vertx/codegen/MethodInfo;)Lio/vertx/codegen/overloadcheck/SimpleMethod; (6)
(Lio/vertx/codegen/MethodInfo;)Lio/vertx/codegen/overloadcheck/SimpleMethod;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
0 1 1 meths Ljava/util/stream/Stream<Lio/vertx/codegen/MethodInfo;>;
Signature: (Ljava/util/stream/Stream<Lio/vertx/codegen/MethodInfo;>;)Ljava/util/stream/Stream<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;
MethodParameters:
Name Flags
meths
private void checkMethodList(java.lang.String, java.util.List<io.vertx.codegen.overloadcheck.SimpleMethod>, java.util.Map<java.lang.String, java.util.Set<java.lang.String>>);
descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 5
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.lang.String java.util.List java.util.Map java.util.List top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.codegen.overloadcheck.SimpleMethod
astore 5
start local 5 3: aload 0
aload 5
aload 3
invokevirtual io.vertx.codegen.overloadcheck.MethodOverloadChecker.convertToLangParamTypes:(Lio/vertx/codegen/overloadcheck/SimpleMethod;Ljava/util/Map;)Ljava/util/List;
astore 7
start local 7 4: aload 4
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 5 5: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: iconst_0
istore 5
start local 5 7: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 34
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.lang.String java.util.List java.util.Map java.util.List int top java.util.Iterator
StackMap stack:
8: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 6
start local 6 9: iconst_0
istore 8
start local 8 10: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 32
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.lang.String java.util.List java.util.Map java.util.List int java.util.List java.util.Iterator int top java.util.Iterator
StackMap stack:
11: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 12: iload 5
iload 8
if_icmpeq 31
13: iconst_1
istore 11
start local 11 14: iconst_0
istore 12
start local 12 15: goto 22
16: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.lang.String java.util.List java.util.Map java.util.List int java.util.List java.util.Iterator int java.util.List java.util.Iterator int int
StackMap stack:
aload 6
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.overloadcheck.SimpleType
astore 13
start local 13 17: aload 9
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.overloadcheck.SimpleType
astore 14
start local 14 18: aload 13
aload 14
invokevirtual io.vertx.codegen.overloadcheck.SimpleType.matches:(Lio/vertx/codegen/overloadcheck/SimpleType;)Z
ifne 21
19: iconst_0
istore 11
20: goto 23
end local 14 end local 13 21: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
22: iload 12
aload 6
invokeinterface java.util.List.size:()I
if_icmplt 16
end local 12 23: StackMap locals:
StackMap stack:
iload 11
ifeq 31
24: aload 2
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.overloadcheck.SimpleMethod
astore 12
start local 12 25: aload 2
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.vertx.codegen.overloadcheck.SimpleMethod
astore 13
start local 13 26: new java.lang.StringBuilder
dup
ldc "Failed to generate because it would be impossible in target language "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: ldc " at runtime to resolve which of the following overloaded methods to call in the Java API: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
28: ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
29: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
start local 14 30: new java.lang.IllegalArgumentException
dup
aload 14
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 14 end local 13 end local 12 end local 11 31: StackMap locals:
StackMap stack:
iinc 8 1
end local 9 32: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.lang.String java.util.List java.util.Map java.util.List int java.util.List java.util.Iterator int top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
33: iinc 5 1
end local 8 end local 6 34: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.lang.String java.util.List java.util.Map java.util.List int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
35: return
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 36 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
0 36 1 targetLang Ljava/lang/String;
0 36 2 meths Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;
0 36 3 typeMapping Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
1 36 4 paramsTypesList Ljava/util/List<Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleType;>;>;
3 5 5 meth Lio/vertx/codegen/overloadcheck/SimpleMethod;
4 5 7 paramTypes Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleType;>;
7 36 5 index1 I
9 34 6 paramTypes Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleType;>;
10 34 8 index2 I
12 32 9 paramTypesToCompare Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleType;>;
14 31 11 matched Z
15 23 12 i I
17 21 13 paramType Lio/vertx/codegen/overloadcheck/SimpleType;
18 21 14 paramTypeToCompare Lio/vertx/codegen/overloadcheck/SimpleType;
25 31 12 clashing1 Lio/vertx/codegen/overloadcheck/SimpleMethod;
26 31 13 clashing2 Lio/vertx/codegen/overloadcheck/SimpleMethod;
30 31 14 msg Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleMethod;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;)V
MethodParameters:
Name Flags
targetLang
meths
typeMapping
private java.util.List<io.vertx.codegen.overloadcheck.SimpleType> convertToLangParamTypes(io.vertx.codegen.overloadcheck.SimpleMethod, java.util.Map<java.lang.String, java.util.Set<java.lang.String>>);
descriptor: (Lio/vertx/codegen/overloadcheck/SimpleMethod;Ljava/util/Map;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
getfield io.vertx.codegen.overloadcheck.SimpleMethod.params:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker io.vertx.codegen.overloadcheck.SimpleMethod java.util.Map java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.codegen.overloadcheck.SimpleParam
astore 4
start local 4 3: aload 2
aload 4
getfield io.vertx.codegen.overloadcheck.SimpleParam.classKind:Lio/vertx/codegen/type/ClassKind;
invokevirtual io.vertx.codegen.type.ClassKind.toString:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 6
start local 6 4: aload 6
ifnonnull 9
5: new java.lang.StringBuilder
dup
aload 4
getfield io.vertx.codegen.overloadcheck.SimpleParam.classKind:Lio/vertx/codegen/type/ClassKind;
invokevirtual io.vertx.codegen.type.ClassKind.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield io.vertx.codegen.overloadcheck.SimpleParam.typeName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 6: aload 2
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 6
7: aload 6
ifnonnull 9
8: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "No type mapping found for param type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 7 9: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker io.vertx.codegen.overloadcheck.SimpleMethod java.util.Map java.util.List io.vertx.codegen.overloadcheck.SimpleParam java.util.Iterator java.util.Set
StackMap stack:
aload 3
new io.vertx.codegen.overloadcheck.SimpleType
dup
aload 6
aload 4
getfield io.vertx.codegen.overloadcheck.SimpleParam.nullable:Z
invokespecial io.vertx.codegen.overloadcheck.SimpleType.<init>:(Ljava/util/Set;Z)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 10: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker io.vertx.codegen.overloadcheck.SimpleMethod java.util.Map java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
0 12 1 meth Lio/vertx/codegen/overloadcheck/SimpleMethod;
0 12 2 typeMapping Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
1 12 3 langParamTypes Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleType;>;
3 10 4 param Lio/vertx/codegen/overloadcheck/SimpleParam;
4 10 6 langType Ljava/util/Set<Ljava/lang/String;>;
6 9 7 lhs Ljava/lang/String;
Signature: (Lio/vertx/codegen/overloadcheck/SimpleMethod;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;)Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleType;>;
MethodParameters:
Name Flags
meth
typeMapping
private void loadTypeMappings();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: ldc Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ldc "lang-type-mapping.properties"
invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 3
start local 3 2: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 4
start local 4 3: aload 4
aload 3
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
4: aload 0
aload 4
invokevirtual io.vertx.codegen.overloadcheck.MethodOverloadChecker.loadTypeMappings:(Ljava/util/Properties;)V
end local 4 5: aload 3
ifnull 13
aload 3
invokevirtual java.io.InputStream.close:()V
goto 13
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
6: astore 1
aload 3
ifnull 7
aload 3
invokevirtual java.io.InputStream.close:()V
end local 3 StackMap locals:
StackMap stack:
7: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 2
aload 1
ifnonnull 9
aload 2
astore 1
goto 10
StackMap locals:
StackMap stack:
9: aload 1
aload 2
if_acmpeq 10
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 1
athrow
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker
StackMap stack: java.io.IOException
11: astore 1
start local 1 12: new java.lang.IllegalStateException
dup
aload 1
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
2 7 3 is Ljava/io/InputStream;
3 5 4 props Ljava/util/Properties;
12 13 1 e Ljava/io/IOException;
Exception table:
from to target type
2 5 6 any
1 8 8 any
0 11 11 Class java.io.IOException
private void loadTypeMappings(java.util.Properties);
descriptor: (Ljava/util/Properties;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Properties.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.util.Properties top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 3: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 4: aload 4
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 5: aload 4
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 6: aload 4
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 8
start local 8 7: aload 0
getfield io.vertx.codegen.overloadcheck.MethodOverloadChecker.typeMappingsMap:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 9
start local 9 8: aload 9
ifnonnull 11
9: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 9
10: aload 0
getfield io.vertx.codegen.overloadcheck.MethodOverloadChecker.typeMappingsMap:Ljava/util/Map;
aload 7
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.util.Properties java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String int java.lang.String java.lang.String java.util.Map
StackMap stack:
new java.util.HashSet
dup
aload 5
ldc "\\s*,\\s*"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 10
start local 10 12: aload 9
aload 8
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 13: StackMap locals: io.vertx.codegen.overloadcheck.MethodOverloadChecker java.util.Properties top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/vertx/codegen/overloadcheck/MethodOverloadChecker;
0 15 1 props Ljava/util/Properties;
2 13 2 entry Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;
3 13 4 lhs Ljava/lang/String;
4 13 5 rhs Ljava/lang/String;
5 13 6 pos I
6 13 7 lang Ljava/lang/String;
7 13 8 key Ljava/lang/String;
8 13 9 typeMapping Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
12 13 10 types Ljava/util/Set<Ljava/lang/String;>;
MethodParameters:
Name Flags
props
private static io.vertx.codegen.overloadcheck.SimpleMethod lambda$0(io.vertx.codegen.MethodInfo);
descriptor: (Lio/vertx/codegen/MethodInfo;)Lio/vertx/codegen/overloadcheck/SimpleMethod;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual io.vertx.codegen.MethodInfo.getParams:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: io.vertx.codegen.MethodInfo java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.codegen.ParamInfo
astore 2
start local 2 3: aload 2
invokevirtual io.vertx.codegen.ParamInfo.getType:()Lio/vertx/codegen/type/TypeInfo;
astore 4
start local 4 4: aload 1
new io.vertx.codegen.overloadcheck.SimpleParam
dup
aload 2
invokevirtual io.vertx.codegen.ParamInfo.getName:()Ljava/lang/String;
aload 4
invokevirtual io.vertx.codegen.type.TypeInfo.getKind:()Lio/vertx/codegen/type/ClassKind;
aload 2
invokevirtual io.vertx.codegen.ParamInfo.isNullable:()Z
aload 4
invokevirtual io.vertx.codegen.type.TypeInfo.getName:()Ljava/lang/String;
invokespecial io.vertx.codegen.overloadcheck.SimpleParam.<init>:(Ljava/lang/String;Lio/vertx/codegen/type/ClassKind;ZLjava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: new io.vertx.codegen.overloadcheck.SimpleMethod
dup
aload 0
invokevirtual io.vertx.codegen.MethodInfo.getName:()Ljava/lang/String;
aload 1
invokespecial io.vertx.codegen.overloadcheck.SimpleMethod.<init>:(Ljava/lang/String;Ljava/util/List;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 meth Lio/vertx/codegen/MethodInfo;
1 7 1 simpleParams Ljava/util/List<Lio/vertx/codegen/overloadcheck/SimpleParam;>;
3 5 2 param Lio/vertx/codegen/ParamInfo;
4 5 4 type Lio/vertx/codegen/type/TypeInfo;
}
SourceFile: "MethodOverloadChecker.java"
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