public class org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier
super_class: java.lang.Object
{
org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier buddyImplicitNullAnnotationsVerifier;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
flags: (0x0000)
private boolean inheritNullAnnotations;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
protected org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
flags: (0x0004) ACC_PROTECTED
public static void ensureNullnessIsKnown(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.Scope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
ldc 4096
land
lconst_0
lcmp
ifne 4
1: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
astore 2
start local 2 2: new org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier
dup
aload 2
aload 2
getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.globalOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.inheritNullAnnotations:Z
invokespecial org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;Z)V
3: aload 0
aconst_null
iconst_0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.checkImplicitNullAnnotations:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;ZLorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 methodBinding Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 5 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
2 4 2 environment2 Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
MethodParameters:
Name Flags
methodBinding
scope
public void <init>(org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.buddyImplicitNullAnnotationsVerifier:Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
2: aload 0
iload 2
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.inheritNullAnnotations:Z
3: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 5 1 environment Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
0 5 2 inheritNullAnnotations Z
MethodParameters:
Name Flags
environment
inheritNullAnnotations
void <init>(org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.globalOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
astore 2
start local 2 2: aload 0
new org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier
dup
aload 1
aload 2
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.inheritNullAnnotations:Z
invokespecial org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;Z)V
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.buddyImplicitNullAnnotationsVerifier:Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
3: aload 0
aload 2
getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.inheritNullAnnotations:Z
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.inheritNullAnnotations:Z
4: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 6 1 environment Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
2 6 2 options Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
MethodParameters:
Name Flags
environment
public void checkImplicitNullAnnotations(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration, boolean, org.eclipse.jdt.internal.compiler.lookup.Scope);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;ZLorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=20, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
astore 5
start local 5 1: aload 5
getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
iconst_1
if_icmpne 4
2: aload 1
dup
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
ldc 4096
lor
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
3: return
4: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
StackMap stack:
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.usesNullTypeAnnotations:()Z
istore 6
start local 6 5: aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.hasNonNullDefaultForReturnType:(Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;)Z
6: istore 7
start local 7 7: aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.hasNonNullDefaultForParameter:(Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterNonNullDefaultProvider;
8: astore 8
start local 8 9: iload 7
aload 8
invokeinterface org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider.hasAnyNonNullDefault:()Z
ior
istore 9
start local 9 10: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
ifne 11
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isStatic:()Z
ifne 11
iconst_1
goto 12
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding int int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 10
start local 10 13: iload 3
iload 10
iand
istore 3
14: iload 9
ifne 19
15: iload 3
ifne 19
16: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.inheritNullAnnotations:Z
ifeq 17
iload 10
ifne 19
17: StackMap locals: int
StackMap stack:
aload 1
dup
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
ldc 4096
lor
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
18: return
19: StackMap locals:
StackMap stack:
iload 10
ifeq 68
20: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 21: aload 5
instanceof org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
ifeq 23
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isHierarchyConnected:()Z
ifne 23
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isAnonymousType:()Z
ifne 23
22: aload 5
checkcast org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
getfield org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.scope:Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy:()V
23: StackMap locals: java.util.List
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
arraylength
istore 12
start local 12 24: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
iload 12
25: aload 5
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
aload 11
26: invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.findAllOverriddenMethods:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[CILorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/Set;Ljava/util/List;)V
27: iload 12
iconst_1
iadd
anewarray org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo
astore 13
start local 13 28: iconst_0
istore 14
start local 14 29: goto 31
StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int
StackMap stack:
30: aload 13
iload 14
new org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo
dup
invokespecial org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.<init>:()V
aastore
iinc 14 1
StackMap locals:
StackMap stack:
31: iload 14
iload 12
iconst_1
iadd
if_icmplt 30
end local 14 32: aload 11
invokeinterface java.util.List.size:()I
istore 14
start local 14 33: iload 14
istore 15
start local 15 34: goto 40
35: StackMap locals: int
StackMap stack:
aload 11
iload 15
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
astore 16
start local 16 36: aload 16
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
ldc 4096
land
lconst_0
lcmp
ifne 38
37: aload 0
aload 16
aconst_null
iconst_0
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.checkImplicitNullAnnotations:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;ZLorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
38: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
StackMap stack:
aload 0
aload 1
aload 2
iload 7
aload 8
iload 3
aload 16
aconst_null
aload 4
aload 13
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.checkNullSpecInheritance:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;ZLorg/eclipse/jdt/internal/compiler/lookup/ParameterNonNullDefaultProvider;ZLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;)V
39: iconst_0
istore 9
end local 16 40: StackMap locals:
StackMap stack:
iinc 15 -1
iload 15
ifge 35
end local 15 41: aload 13
iconst_0
aaload
astore 15
start local 15 42: aload 15
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.complained:Z
ifne 56
43: lconst_0
lstore 16
start local 16 44: aload 15
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 47
45: ldc 72057594037927936
lstore 16
46: goto 49
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding int int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int int java.util.List int org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo long
StackMap stack:
47: aload 15
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
if_acmpne 49
48: ldc 36028797018963968
lstore 16
49: StackMap locals:
StackMap stack:
lload 16
lconst_0
lcmp
ifeq 56
50: iload 6
ifne 53
51: aload 1
dup
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
lload 16
lor
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
52: goto 56
53: StackMap locals:
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifne 56
54: aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
astore 18
start local 18 55: aload 1
aload 18
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 18
lload 16
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.nullAnnotationsFromTagBits:(J)[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createAnnotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
end local 18 end local 16 56: StackMap locals:
StackMap stack:
iconst_0
istore 16
start local 16 57: goto 67
58: StackMap locals: int
StackMap stack:
aload 13
iload 16
iconst_1
iadd
aaload
astore 15
59: aload 15
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.complained:Z
ifne 66
aload 15
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
ifnull 66
60: aload 2
ifnonnull 61
aconst_null
goto 62
StackMap locals:
StackMap stack:
61: aload 2
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 16
aaload
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Argument
62: astore 17
start local 17 63: iload 6
ifne 65
64: aload 0
aload 1
iload 12
iload 16
aload 17
aload 15
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.recordArgNonNullness:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;IILorg/eclipse/jdt/internal/compiler/ast/Argument;Ljava/lang/Boolean;)V
goto 66
65: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Argument
StackMap stack:
aload 0
aload 1
iload 16
aload 17
aload 15
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.recordArgNonNullness18:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/ast/Argument;Ljava/lang/Boolean;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
end local 17 66: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
67: iload 16
iload 12
if_icmplt 58
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 68: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding int int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int int
StackMap stack:
iload 9
ifeq 76
69: iload 6
ifne 71
70: aload 1
aload 2
iload 7
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.fillInDefaultNonNullness:(Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;ZLorg/eclipse/jdt/internal/compiler/lookup/ParameterNonNullDefaultProvider;)V
goto 76
71: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.fillInDefaultNonNullness18:(Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 72: goto 76
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.Scope
StackMap stack: java.lang.Throwable
73: astore 19
74: aload 1
dup
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
ldc 4096
lor
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
75: aload 19
athrow
76: StackMap locals:
StackMap stack:
aload 1
dup
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
ldc 4096
lor
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
77: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 78 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 78 1 currentMethod Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 78 2 srcMethod Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
0 78 3 complain Z
0 78 4 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
1 72 5 currentType Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
5 72 6 usesTypeAnnotations Z
7 72 7 needToApplyReturnNonNullDefault Z
9 72 8 needToApplyParameterNonNullDefault Lorg/eclipse/jdt/internal/compiler/lookup/ParameterNonNullDefaultProvider;
10 72 9 needToApplyNonNullDefault Z
13 72 10 isInstanceMethod Z
21 68 11 superMethodList Ljava/util/List;
24 68 12 paramLen I
28 68 13 inheritedNonNullnessInfos [Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;
29 32 14 i I
33 68 14 length I
34 41 15 i I
36 40 16 currentSuper Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
42 68 15 info Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;
44 56 16 tagBits J
55 56 18 env Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
57 68 16 i I
63 66 17 currentArg Lorg/eclipse/jdt/internal/compiler/ast/Argument;
Exception table:
from to target type
0 2 73 any
4 17 73 any
19 73 73 any
MethodParameters:
Name Flags
currentMethod
srcMethod
complain
scope
private void findAllOverriddenMethods(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, char[], int, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding, java.util.Set, java.util.List);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[CILorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/Set;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 4
getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
iconst_1
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.superclass:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
astore 7
start local 7 3: aload 7
ifnonnull 5
4: return
5: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
StackMap stack:
aload 0
aload 1
aload 2
iload 3
aload 7
aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.collectOverriddenMethods:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[CILorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/Set;Ljava/util/List;)V
6: aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.superInterfaces:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
astore 8
start local 8 7: aload 8
arraylength
istore 9
start local 9 8: iconst_0
istore 10
start local 10 9: goto 14
10: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
StackMap stack:
aload 8
iload 10
aaload
astore 11
start local 11 11: aload 5
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 13
12: aload 0
aload 1
aload 2
iload 3
aload 11
aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.collectOverriddenMethods:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[CILorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/Set;Ljava/util/List;)V
end local 11 13: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
14: iload 10
iload 9
if_icmplt 10
end local 10 15: return
end local 9 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 16 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 16 1 original Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 16 2 selector [C
0 16 3 suggestedParameterLength I
0 16 4 currentType Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
0 16 5 ifcsSeen Ljava/util/Set;
0 16 6 result Ljava/util/List;
3 16 7 superclass Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
7 16 8 superInterfaces [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
8 16 9 ifcLen I
9 15 10 i I
11 13 11 currentIfc Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
MethodParameters:
Name Flags
original
selector
suggestedParameterLength
currentType
ifcsSeen
result
private void collectOverriddenMethods(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, char[], int, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding, java.util.Set, java.util.List);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[CILorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/Set;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.unResolvedMethods:()[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
astore 7
start local 7 1: aload 7
arraylength
istore 8
start local 8 2: iconst_0
istore 9
start local 9 3: iconst_0
istore 10
start local 10 4: goto 16
5: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding char[] int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding java.util.Set java.util.List org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] int int int
StackMap stack:
aload 7
iload 10
aaload
astore 11
start local 11 6: aload 2
aload 11
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
ifne 8
7: goto 15
8: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
StackMap stack:
aload 11
iload 3
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.doesParameterLengthMatch:(I)Z
ifne 10
9: goto 15
10: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isStatic:()Z
ifeq 12
11: goto 15
12: StackMap locals:
StackMap stack:
aload 1
aload 11
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokestatic org.eclipse.jdt.internal.compiler.lookup.MethodVerifier.doesMethodOverride:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Z
ifeq 15
13: aload 6
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: iconst_1
istore 9
end local 11 15: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
16: iload 10
iload 8
if_icmplt 5
end local 10 17: iload 9
ifne 19
18: aload 0
aload 1
aload 2
iload 3
aload 4
aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.findAllOverriddenMethods:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[CILorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Ljava/util/Set;Ljava/util/List;)V
19: StackMap locals:
StackMap stack:
return
end local 9 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 20 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 20 1 original Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 20 2 selector [C
0 20 3 suggestedParameterLength I
0 20 4 superType Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
0 20 5 ifcsSeen Ljava/util/Set;
0 20 6 result Ljava/util/List;
1 20 7 ifcMethods [Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
2 20 8 length I
3 20 9 added Z
4 17 10 i I
6 15 11 currentMethod Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
MethodParameters:
Name Flags
original
selector
suggestedParameterLength
superType
ifcsSeen
result
void checkNullSpecInheritance(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration, boolean, org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider, boolean, org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding[], org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[]);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;ZLorg/eclipse/jdt/internal/compiler/lookup/ParameterNonNullDefaultProvider;ZLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;)V
flags: (0x0000)
Code:
stack=8, locals=28, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
iconst_1
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
ldc 4096
land
lconst_0
lcmp
ifne 4
3: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.buddyImplicitNullAnnotationsVerifier:Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
aload 6
aconst_null
iconst_0
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.checkImplicitNullAnnotations:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;ZLorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.usesNullTypeAnnotations:()Z
istore 10
start local 10 5: aload 0
aload 6
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.getReturnTypeNullnessTagBits:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)J
lstore 11
start local 11 6: aload 0
aload 1
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.getReturnTypeNullnessTagBits:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)J
lstore 13
start local 13 7: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.inheritNullAnnotations:Z
istore 15
start local 15 8: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
ifnull 52
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifeq 10
9: goto 52
10: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int
StackMap stack:
lload 13
lconst_0
lcmp
ifne 28
11: iload 15
ifeq 25
12: lload 11
lconst_0
lcmp
ifeq 25
13: iload 3
ifeq 16
14: iload 5
ifeq 16
lload 11
ldc 36028797018963968
lcmp
ifne 16
15: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 1
aload 2
checkcast org.eclipse.jdt.internal.compiler.ast.MethodDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.returnType:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.conflictingNullAnnotations:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
16: StackMap locals:
StackMap stack:
aload 9
ifnull 23
aload 2
ifnull 23
17: aload 0
aload 8
aload 2
checkcast org.eclipse.jdt.internal.compiler.ast.MethodDeclaration
getfield org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.returnType:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
18: aload 6
lload 11
ldc 72057594037927936
lcmp
ifne 19
iconst_1
goto 20
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.ast.TypeReference org.eclipse.jdt.internal.compiler.lookup.MethodBinding
19: iconst_0
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.ast.TypeReference org.eclipse.jdt.internal.compiler.lookup.MethodBinding int
20: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 9
iconst_0
aaload
21: invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.recordDeferredInheritedNullness:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Ljava/lang/Boolean;Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;)V
22: goto 52
23: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 11
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.applyReturnNullBits:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;J)V
24: goto 52
25: StackMap locals:
StackMap stack:
iload 3
ifeq 28
iload 10
ifeq 26
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.acceptsNonNullDefault:()Z
ifeq 28
26: StackMap locals:
StackMap stack:
ldc 72057594037927936
lstore 13
27: aload 0
aload 1
lload 13
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.applyReturnNullBits:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;J)V
28: StackMap locals:
StackMap stack:
iload 5
ifeq 52
29: lload 11
ldc 72057594037927936
land
lconst_0
lcmp
ifeq 38
30: lload 13
ldc 72057594037927936
lcmp
ifeq 38
31: aload 2
ifnull 36
32: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 6
33: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNonNullAnnotationName:()[[C
34: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.illegalReturnRedefinition:(Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[[C)V
35: goto 52
36: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.referenceContext:()Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
aload 1
aload 6
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.cannotImplementIncompatibleNullness:(Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)V
37: return
38: StackMap locals:
StackMap stack:
iload 10
ifeq 52
39: aconst_null
astore 16
start local 16 40: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
astore 17
start local 17 41: aload 17
ifnull 44
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
bipush 6
if_icmpeq 44
42: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 1
aload 17
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedGenericMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
astore 18
start local 18 43: aload 18
getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 16
end local 18 44: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[]
StackMap stack:
aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 16
aconst_null
iconst_0
aconst_null
getstatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching$CheckMode.OVERRIDE_RETURN:Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$CheckMode;
invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.analyse:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;ILorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$CheckMode;)Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
invokevirtual org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.isAnyMismatch:()Z
ifeq 52
45: aload 2
ifnull 50
46: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
aload 6
47: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNonNullAnnotationName:()[[C
48: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.illegalReturnRedefinition:(Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[[C)V
49: goto 51
50: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.referenceContext:()Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
aload 1
aload 6
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.cannotImplementIncompatibleNullness:(Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)V
51: StackMap locals:
StackMap stack:
return
end local 17 end local 16 52: StackMap locals:
StackMap stack:
aconst_null
astore 16
start local 16 53: iload 5
ifeq 58
54: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
astore 17
start local 17 55: aload 17
getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPE_VARIABLES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
if_acmpeq 58
56: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 6
aload 17
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedGenericMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
astore 18
start local 18 57: aload 18
getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 16
end local 18 end local 17 58: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
StackMap stack:
aload 2
ifnonnull 59
aconst_null
goto 60
StackMap locals:
StackMap stack:
59: aload 2
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Argument[]
60: astore 17
start local 17 61: iconst_0
istore 18
start local 18 62: aload 17
ifnull 64
63: aload 17
arraylength
istore 18
64: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Argument[] int
StackMap stack:
iload 10
ifeq 66
65: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
arraylength
istore 18
goto 70
66: StackMap locals:
StackMap stack:
aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
ifnull 68
67: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
arraylength
istore 18
goto 70
68: StackMap locals:
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
ifnull 70
69: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
arraylength
istore 18
70: StackMap locals:
StackMap stack:
iconst_0
istore 19
start local 19 71: goto 155
72: StackMap locals: int
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 19
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifeq 73
goto 154
73: StackMap locals:
StackMap stack:
aload 17
ifnonnull 75
74: aconst_null
goto 76
StackMap locals:
StackMap stack:
75: aload 17
iload 19
aaload
76: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.ast.Argument
astore 20
start local 20 77: aload 0
aload 6
iload 19
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.getParameterNonNullness:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;IZ)Ljava/lang/Boolean;
astore 21
start local 21 78: aload 0
aload 1
iload 19
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.getParameterNonNullness:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;IZ)Ljava/lang/Boolean;
astore 22
start local 22 79: aload 22
ifnonnull 103
80: aload 21
ifnull 96
81: iload 15
ifeq 96
82: aload 4
iload 19
invokeinterface org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider.hasNonNullDefaultForParam:(I)Z
ifeq 87
83: iload 5
ifeq 87
84: aload 21
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
if_acmpne 87
85: aload 20
ifnull 87
86: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 1
aload 20
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.conflictingNullAnnotations:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
87: StackMap locals: org.eclipse.jdt.internal.compiler.ast.Argument java.lang.Boolean java.lang.Boolean
StackMap stack:
aload 9
ifnull 92
aload 2
ifnull 92
88: aload 0
aload 8
aload 2
getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
iload 19
aaload
getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
89: aload 6
aload 21
aload 9
iload 19
iconst_1
iadd
aaload
90: invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.recordDeferredInheritedNullness:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Ljava/lang/Boolean;Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;)V
91: goto 154
92: StackMap locals:
StackMap stack:
iload 10
ifne 94
93: aload 0
aload 1
iload 18
iload 19
aload 20
aload 21
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.recordArgNonNullness:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;IILorg/eclipse/jdt/internal/compiler/ast/Argument;Ljava/lang/Boolean;)V
goto 154
94: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 19
aload 20
aload 21
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.recordArgNonNullness18:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/ast/Argument;Ljava/lang/Boolean;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
95: goto 154
96: StackMap locals:
StackMap stack:
aload 4
iload 19
invokeinterface org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider.hasNonNullDefaultForParam:(I)Z
ifeq 103
97: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
astore 22
98: iload 10
ifne 100
99: aload 0
aload 1
iload 18
iload 19
aload 20
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.recordArgNonNullness:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;IILorg/eclipse/jdt/internal/compiler/ast/Argument;Ljava/lang/Boolean;)V
goto 103
100: StackMap locals:
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 19
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.acceptsNonNullDefault:()Z
ifeq 102
101: aload 0
aload 1
iload 19
aload 20
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.recordArgNonNullness18:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/ast/Argument;Ljava/lang/Boolean;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
goto 103
102: StackMap locals:
StackMap stack:
aconst_null
astore 22
103: StackMap locals:
StackMap stack:
iload 5
ifeq 154
104: aload 21
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 107
105: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNonNullAnnotationName:()[[C
astore 23
start local 23 106: goto 108
end local 23 107: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNullableAnnotationName:()[[C
astore 23
start local 23 108: StackMap locals: char[][]
StackMap stack:
aload 21
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpeq 120
109: aload 22
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 120
110: aload 20
ifnull 118
111: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
112: aload 20
113: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
114: aload 21
ifnonnull 115
aconst_null
goto 116
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.Argument[] int int org.eclipse.jdt.internal.compiler.ast.Argument java.lang.Boolean java.lang.Boolean char[][]
StackMap stack: org.eclipse.jdt.internal.compiler.problem.ProblemReporter org.eclipse.jdt.internal.compiler.ast.Argument org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
115: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNullableAnnotationName:()[[C
116: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.Argument[] int int org.eclipse.jdt.internal.compiler.ast.Argument java.lang.Boolean java.lang.Boolean char[][]
StackMap stack: org.eclipse.jdt.internal.compiler.problem.ProblemReporter org.eclipse.jdt.internal.compiler.ast.Argument org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding char[][]
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.illegalRedefinitionToNonNullParameter:(Lorg/eclipse/jdt/internal/compiler/ast/Argument;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
117: goto 154
118: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.referenceContext:()Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
aload 1
aload 6
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.cannotImplementIncompatibleNullness:(Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)V
119: goto 154
120: StackMap locals:
StackMap stack:
aload 22
ifnonnull 145
121: aload 21
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
if_acmpne 131
122: aload 20
ifnull 129
123: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
124: aload 20
125: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
126: aload 23
127: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.parameterLackingNullableAnnotation:(Lorg/eclipse/jdt/internal/compiler/ast/Argument;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
128: goto 154
129: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.referenceContext:()Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
aload 1
aload 6
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.cannotImplementIncompatibleNullness:(Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)V
130: goto 154
131: StackMap locals:
StackMap stack:
aload 21
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 145
132: aload 7
ifnull 139
133: aload 7
dup
astore 27
arraylength
istore 26
iconst_0
istore 25
goto 138
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.Argument[] int int org.eclipse.jdt.internal.compiler.ast.Argument java.lang.Boolean java.lang.Boolean char[][] top int int org.eclipse.jdt.internal.compiler.lookup.MethodBinding[]
StackMap stack:
134: aload 27
iload 25
aaload
astore 24
start local 24 135: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
aload 24
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 137
aload 0
aload 24
iload 19
iload 10
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.getParameterNonNullness:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;IZ)Ljava/lang/Boolean;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpeq 137
136: goto 154
end local 24 137: StackMap locals:
StackMap stack:
iinc 25 1
StackMap locals:
StackMap stack:
138: iload 25
iload 26
if_icmplt 134
139: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.Argument[] int int org.eclipse.jdt.internal.compiler.ast.Argument java.lang.Boolean java.lang.Boolean char[][]
StackMap stack:
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
140: aload 20
141: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
142: aload 23
143: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.parameterLackingNonnullAnnotation:(Lorg/eclipse/jdt/internal/compiler/ast/Argument;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
144: goto 154
145: StackMap locals:
StackMap stack:
iload 10
ifeq 154
146: aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 19
aaload
astore 24
start local 24 147: aload 16
ifnull 148
aload 16
iload 19
aaload
goto 149
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
148: aconst_null
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
149: astore 25
start local 25 150: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 19
aaload
aload 24
aload 25
aconst_null
iconst_0
aconst_null
getstatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching$CheckMode.OVERRIDE:Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$CheckMode;
invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.analyse:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;ILorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$CheckMode;)Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
invokevirtual org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.isAnyMismatch:()Z
ifeq 154
151: aload 20
ifnull 153
152: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 20
aload 6
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
aload 24
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.illegalParameterRedefinition:(Lorg/eclipse/jdt/internal/compiler/ast/Argument;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
goto 154
153: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
StackMap stack:
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.referenceContext:()Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
aload 1
aload 6
iconst_0
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.cannotImplementIncompatibleNullness:(Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)V
end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 154: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.Argument[] int int
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
155: iload 19
iload 18
if_icmplt 72
end local 19 156: iload 5
ifeq 167
iload 10
ifeq 167
aload 2
ifnull 167
157: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
astore 19
start local 19 158: aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
astore 20
start local 20 159: aload 19
getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPE_VARIABLES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
if_acmpeq 167
aload 19
arraylength
aload 20
arraylength
if_icmpne 167
160: iconst_0
istore 21
start local 21 161: goto 166
162: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int org.eclipse.jdt.internal.compiler.lookup.ParameterNonNullDefaultProvider int org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo[] int long long int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.ast.Argument[] int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] int
StackMap stack:
aload 20
iload 21
aaload
astore 22
start local 22 163: aload 22
aload 19
iload 21
aaload
aconst_null
aconst_null
iconst_m1
aconst_null
getstatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching$CheckMode.BOUND_CHECK:Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$CheckMode;
invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.analyse:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;ILorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$CheckMode;)Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
invokevirtual org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.isAnyMismatch:()Z
ifeq 165
164: aload 8
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 22
aload 6
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.typeParameters:()[Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
iload 21
aaload
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.cannotRedefineTypeArgumentNullity:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Binding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
end local 22 165: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
166: iload 21
aload 19
arraylength
if_icmplt 162
end local 21 end local 20 end local 19 167: StackMap locals:
StackMap stack:
return
end local 18 end local 17 end local 16 end local 15 end local 13 end local 11 end local 10 end local 9 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 168 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 168 1 currentMethod Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 168 2 srcMethod Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
0 168 3 hasReturnNonNullDefault Z
0 168 4 hasParameterNonNullDefault Lorg/eclipse/jdt/internal/compiler/lookup/ParameterNonNullDefaultProvider;
0 168 5 shouldComplain Z
0 168 6 inheritedMethod Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 168 7 allInheritedMethods [Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 168 8 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
0 168 9 inheritedNonNullnessInfos [Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;
5 168 10 useTypeAnnotations Z
6 168 11 inheritedNullnessBits J
7 168 13 currentNullnessBits J
8 168 15 shouldInherit Z
40 52 16 substituteReturnType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
41 52 17 typeVariables [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
43 44 18 substitute Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
53 168 16 substituteParameters [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
55 58 17 typeVariables [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
57 58 18 substitute Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
61 168 17 currentArguments [Lorg/eclipse/jdt/internal/compiler/ast/Argument;
62 168 18 length I
71 156 19 i I
77 154 20 currentArgument Lorg/eclipse/jdt/internal/compiler/ast/Argument;
78 154 21 inheritedNonNullNess Ljava/lang/Boolean;
79 154 22 currentNonNullNess Ljava/lang/Boolean;
106 107 23 annotationName [[C
108 154 23 annotationName [[C
135 137 24 one Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
147 154 24 inheritedParameter Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
150 154 25 substituteParameter Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
158 167 19 currentTypeVariables [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
159 167 20 inheritedTypeVariables [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
161 167 21 i I
163 165 22 inheritedVariable Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
MethodParameters:
Name Flags
currentMethod
srcMethod
hasReturnNonNullDefault
hasParameterNonNullDefault
shouldComplain
inheritedMethod
allInheritedMethods
scope
inheritedNonNullnessInfos
void applyReturnNullBits(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, long);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;J)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.usesNullTypeAnnotations:()Z
ifeq 4
1: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
ifne 5
2: aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
lload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.nullAnnotationsFromTagBits:(J)[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createAnnotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 1
dup
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
lload 2
lor
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 6 1 method Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 6 2 nullnessBits J
MethodParameters:
Name Flags
method
nullnessBits
private java.lang.Boolean getParameterNonNullness(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, int, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;IZ)Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 9
1: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 2
aaload
astore 4
start local 4 2: aload 4
ifnull 8
3: aload 4
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.validNullTagBits:(J)J
lstore 5
start local 5 4: lload 5
lconst_0
lcmp
ifeq 8
5: lload 5
ldc 72057594037927936
lcmp
ifne 6
iconst_1
goto 7
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding long
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 5 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 9: StackMap locals:
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
ifnonnull 11
10: aconst_null
goto 12
StackMap locals:
StackMap stack:
11: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
iload 2
aaload
12: StackMap locals:
StackMap stack: java.lang.Boolean
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 13 1 method Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 13 2 i I
0 13 3 useTypeAnnotations Z
2 9 4 parameter Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
4 8 5 nullBits J
MethodParameters:
Name Flags
method
i
useTypeAnnotations
private long getReturnTypeNullnessTagBits(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 4
1: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
ifnonnull 3
2: lconst_0
lreturn
3: StackMap locals:
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.validNullTagBits:(J)J
lreturn
4: StackMap locals:
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
ldc 108086391056891904
land
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 5 1 method Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 5 2 useTypeAnnotations Z
MethodParameters:
Name Flags
method
useTypeAnnotations
protected void recordDeferredInheritedNullness(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.lookup.MethodBinding, java.lang.Boolean, org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Ljava/lang/Boolean;Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
ifnull 7
aload 5
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
aload 4
if_acmpeq 7
1: aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
aload 2
2: aload 5
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
aload 5
getfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.annotationOrigin:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
3: aload 4
invokevirtual java.lang.Boolean.booleanValue:()Z
aload 3
4: invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.conflictingInheritedNullAnnotations:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ZLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ZLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
5: aload 5
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.complained:Z
6: goto 9
7: StackMap locals:
StackMap stack:
aload 5
aload 4
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.inheritedNonNullness:Ljava/lang/Boolean;
8: aload 5
aload 3
putfield org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo.annotationOrigin:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
9: StackMap locals:
StackMap stack:
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 10 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 10 1 scope Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
0 10 2 location Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
0 10 3 inheritedMethod Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 10 4 inheritedNonNullness Ljava/lang/Boolean;
0 10 5 nullnessInfo Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo;
MethodParameters:
Name Flags
scope
location
inheritedMethod
inheritedNonNullness
nullnessInfo
void recordArgNonNullness(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, int, int, org.eclipse.jdt.internal.compiler.ast.Argument, java.lang.Boolean);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;IILorg/eclipse/jdt/internal/compiler/ast/Argument;Ljava/lang/Boolean;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
ifnonnull 2
1: aload 1
iload 2
anewarray java.lang.Boolean
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
2: StackMap locals:
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameterNonNullness:[Ljava/lang/Boolean;
iload 3
aload 5
aastore
3: aload 4
ifnull 9
4: aload 4
getfield org.eclipse.jdt.internal.compiler.ast.Argument.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
dup
getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.tagBits:J
aload 5
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 6
5: ldc 72057594037927936
goto 7
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding int int org.eclipse.jdt.internal.compiler.ast.Argument java.lang.Boolean
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding long
6: ldc 36028797018963968
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier org.eclipse.jdt.internal.compiler.lookup.MethodBinding int int org.eclipse.jdt.internal.compiler.ast.Argument java.lang.Boolean
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding long long
7: lor
8: putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.tagBits:J
9: StackMap locals:
StackMap stack:
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 10 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 10 1 method Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 10 2 paramCount I
0 10 3 paramIdx I
0 10 4 currentArgument Lorg/eclipse/jdt/internal/compiler/ast/Argument;
0 10 5 nonNullNess Ljava/lang/Boolean;
MethodParameters:
Name Flags
method
paramCount
paramIdx
currentArgument
nonNullNess
void recordArgNonNullness18(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, int, org.eclipse.jdt.internal.compiler.ast.Argument, java.lang.Boolean, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/ast/Argument;Ljava/lang/Boolean;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
flags: (0x0000)
Code:
stack=8, 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 4
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 1
aload 5
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNonNullAnnotation:()Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
goto 2
StackMap locals:
StackMap stack:
1: aload 5
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getNullableAnnotation:()Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding
2: astore 6
start local 6 3: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 2
aload 5
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 2
aaload
iconst_1
anewarray org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding
dup
iconst_0
aload 6
aastore
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createAnnotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aastore
4: aload 3
ifnull 6
5: aload 3
getfield org.eclipse.jdt.internal.compiler.ast.Argument.binding:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
iload 2
aaload
putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
6: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding
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 7 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier;
0 7 1 method Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 7 2 paramIdx I
0 7 3 currentArgument Lorg/eclipse/jdt/internal/compiler/ast/Argument;
0 7 4 nonNullNess Ljava/lang/Boolean;
0 7 5 env Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
3 7 6 annotationBinding Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
MethodParameters:
Name Flags
method
paramIdx
currentArgument
nonNullNess
env
static boolean areParametersEqual(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 2
start local 2 1: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 3
start local 3 2: aload 2
aload 3
if_acmpne 3
iconst_1
ireturn
3: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
StackMap stack:
aload 2
arraylength
istore 4
start local 4 4: iload 4
aload 3
arraylength
if_icmpeq 5
iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
iconst_0
istore 5
start local 5 6: goto 21
7: StackMap locals: int
StackMap stack:
aload 2
iload 5
aaload
aload 3
iload 5
aaload
invokestatic org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.areTypesEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifne 20
8: aload 2
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
ifeq 19
9: aload 2
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.dimensions:()I
aload 3
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.dimensions:()I
if_icmpne 19
aload 2
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 3
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEquivalentTo:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 19
10: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPE_VARIABLES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
if_acmpeq 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 13: goto 17
14: StackMap locals: int
StackMap stack:
aload 2
iload 6
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedTypeWithActualArguments:()Z
ifeq 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
iload 5
if_icmplt 14
end local 6 18: goto 22
19: StackMap locals:
StackMap stack:
iconst_0
ireturn
20: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
iload 4
if_icmplt 7
22: StackMap locals:
StackMap stack:
iinc 5 1
goto 31
23: StackMap locals:
StackMap stack:
aload 2
iload 5
aaload
aload 3
iload 5
aaload
invokestatic org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.areTypesEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifne 28
24: aload 2
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
ifeq 27
25: aload 2
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.dimensions:()I
aload 3
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.dimensions:()I
if_icmpne 27
aload 2
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 3
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEquivalentTo:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 27
26: goto 30
27: StackMap locals:
StackMap stack:
iconst_0
ireturn
28: StackMap locals:
StackMap stack:
aload 2
iload 5
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedTypeWithActualArguments:()Z
ifeq 30
29: iconst_0
ireturn
30: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
31: iload 5
iload 4
if_icmplt 23
32: iconst_1
ireturn
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 33 0 one Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 33 1 two Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
1 33 2 oneArgs [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
2 33 3 twoArgs [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
4 33 4 length I
6 33 5 i I
13 18 6 j I
MethodParameters:
Name Flags
one
two
static boolean areTypesEqual(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
lookupswitch { // 3
4: 2
260: 6
1028: 6
default: 9
}
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
lookupswitch { // 2
260: 3
1028: 3
default: 5
}
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 9
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
goto 9
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
tableswitch { // 4 - 4
4: 7
default: 9
}
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 1
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
ifeq 12
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
ifeq 12
10: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEquivalentTo:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 11
aload 1
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEquivalentTo:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
ifeq 11
iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 one Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 13 1 two Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
MethodParameters:
Name Flags
one
two
}
SourceFile: "ImplicitNullAnnotationVerifier.java"
NestMembers:
org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo
InnerClasses:
public CheckMode = org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching$CheckMode of org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching
InheritedNonNullnessInfo = org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier$InheritedNonNullnessInfo of org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier