class org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer extends org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
super_class: org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor
{
private org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker currentWalker;
descriptor: Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeReplacement;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment;
descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
flags: (0x0002) ACC_PRIVATE
private boolean isReplacing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public static void apply(org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding, java.lang.String);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 2: aload 3
invokevirtual java.io.File.exists:()Z
ifeq 38
3: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.constantPoolName:()[C
invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
astore 4
start local 4 4: new java.lang.StringBuilder
dup
aload 4
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".eea"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 5: aload 3
invokevirtual java.io.File.isDirectory:()Z
ifeq 8
6: new java.io.FileInputStream
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 6
start local 6 7: goto 17
end local 6 8: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding java.lang.String java.util.zip.ZipFile java.io.File java.lang.String java.lang.String
StackMap stack:
new java.util.zip.ZipFile
dup
aload 1
invokespecial java.util.zip.ZipFile.<init>:(Ljava/lang/String;)V
astore 2
9: aload 2
aload 5
invokevirtual java.util.zip.ZipFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
astore 7
start local 7 10: aload 7
ifnonnull 16
11: aload 2
ifnull 15
12: aload 2
invokevirtual java.util.zip.ZipFile.close:()V
13: goto 15
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding java.lang.String java.util.zip.ZipFile java.io.File java.lang.String java.lang.String top java.util.zip.ZipEntry
StackMap stack: java.io.IOException
14: pop
15: StackMap locals:
StackMap stack:
return
16: StackMap locals:
StackMap stack:
aload 2
aload 7
invokevirtual java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
astore 6
end local 7 start local 6 17: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding java.lang.String java.util.zip.ZipFile java.io.File java.lang.String java.lang.String java.io.InputStream
StackMap stack:
aload 0
new org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider
dup
aload 6
aload 4
invokespecial org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
invokestatic org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.annotateType:(Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
end local 6 end local 5 end local 4 end local 3 18: goto 38
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding java.lang.String java.util.zip.ZipFile
StackMap stack: java.io.FileNotFoundException
19: pop
20: aload 2
ifnull 42
21: aload 2
invokevirtual java.util.zip.ZipFile.close:()V
22: goto 42
StackMap locals:
StackMap stack: java.io.IOException
23: pop
goto 42
24: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 25: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.scope:Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ClassScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
getstatic org.eclipse.jdt.internal.compiler.util.Messages.abort_externaAnnotationFile:Ljava/lang/String;
26: iconst_3
anewarray java.lang.String
dup
iconst_0
aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.readableName:()[C
invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aastore
27: invokestatic org.eclipse.jdt.internal.compiler.util.Messages.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.abortDueToInternalError:(Ljava/lang/String;)V
end local 3 28: aload 2
ifnull 42
29: aload 2
invokevirtual java.util.zip.ZipFile.close:()V
30: goto 42
StackMap locals:
StackMap stack: java.io.IOException
31: pop
goto 42
32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
33: aload 2
ifnull 37
34: aload 2
invokevirtual java.util.zip.ZipFile.close:()V
35: goto 37
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding java.lang.String java.util.zip.ZipFile top top top top top java.lang.Throwable
StackMap stack: java.io.IOException
36: pop
37: StackMap locals:
StackMap stack:
aload 8
athrow
38: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding java.lang.String java.util.zip.ZipFile
StackMap stack:
aload 2
ifnull 42
39: aload 2
invokevirtual java.util.zip.ZipFile.close:()V
40: goto 42
StackMap locals:
StackMap stack: java.io.IOException
41: pop
42: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 typeBinding Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
0 43 1 externalAnnotationPath Ljava/lang/String;
1 43 2 zipFile Ljava/util/zip/ZipFile;
2 18 3 annotationBase Ljava/io/File;
4 18 4 binaryTypeName Ljava/lang/String;
5 18 5 relativeFileName Ljava/lang/String;
7 8 6 input Ljava/io/InputStream;
17 18 6 input Ljava/io/InputStream;
10 17 7 zipEntry Ljava/util/zip/ZipEntry;
25 28 3 e Ljava/io/IOException;
Exception table:
from to target type
12 13 14 Class java.io.IOException
1 11 19 Class java.io.FileNotFoundException
16 18 19 Class java.io.FileNotFoundException
21 22 23 Class java.io.IOException
1 11 24 Class java.io.IOException
16 18 24 Class java.io.IOException
29 30 31 Class java.io.IOException
1 11 32 any
16 20 32 any
24 28 32 any
34 35 36 Class java.io.IOException
39 40 41 Class java.io.IOException
MethodParameters:
Name Flags
typeBinding
externalAnnotationPath
static void annotateType(org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding, org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider.forTypeHeader:(Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
astore 3
start local 3 1: aload 3
ifnull 10
aload 3
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
if_acmpeq 10
2: new org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
astore 4
start local 4 3: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 9
6: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] int
StackMap stack:
aload 4
aload 3
iconst_1
iload 6
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.toTypeParameter:(ZI)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.go:(Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;)Z
ifeq 8
7: aload 5
iload 6
aload 4
aload 5
iload 6
aaload
ldc Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.superimpose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Ljava/lang/Class;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
aastore
8: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
aload 5
arraylength
if_icmplt 6
end local 6 end local 5 end local 4 10: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.externalAnnotationProvider:Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 binding Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
0 12 1 provider Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;
0 12 2 environment Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
1 12 3 typeWalker Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
3 10 4 visitor Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
4 10 5 typeParameters [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
5 10 6 i I
MethodParameters:
Name Flags
binding
provider
environment
public static void annotateFieldBinding(org.eclipse.jdt.internal.compiler.lookup.FieldBinding, org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.FieldBinding.genericSignature:()[C
astore 3
start local 3 1: aload 3
ifnonnull 3
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
ifnull 3
2: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.signature:()[C
astore 3
3: StackMap locals: char[]
StackMap stack:
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.name:[C
aload 3
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider.forField:([C[CLorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
astore 4
start local 4 4: new org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
astore 5
start local 5 5: aload 5
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.go:(Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;)Z
ifeq 7
6: aload 0
aload 5
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
ldc Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.superimpose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Ljava/lang/Class;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
putfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
7: StackMap locals: org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
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 8 0 field Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
0 8 1 provider Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;
0 8 2 environment Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
1 8 3 fieldSignature [C
4 8 4 walker Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
5 8 5 visitor Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
MethodParameters:
Name Flags
field
provider
environment
public static void annotateMethodBinding(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.genericSignature:()[C
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.signature:()[C
astore 3
3: StackMap locals: char[]
StackMap stack:
aload 1
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
aload 3
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider.forMethod:([C[CLorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
astore 4
start local 4 4: aload 4
ifnull 23
aload 4
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
if_acmpeq 23
5: new org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
dup
aload 2
invokespecial org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
astore 5
start local 5 6: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
astore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 12
9: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment char[] org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] int
StackMap stack:
aload 5
aload 4
iconst_0
iload 7
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.toTypeParameter:(ZI)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.go:(Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;)Z
ifeq 11
10: aload 6
iload 7
aload 5
aload 6
iload 7
aaload
ldc Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.superimpose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Ljava/lang/Class;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
aastore
11: StackMap locals:
StackMap stack:
iload 7
iconst_1
iadd
i2s
istore 7
StackMap locals:
StackMap stack:
12: iload 7
aload 6
arraylength
if_icmplt 9
end local 7 13: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
ifne 16
14: aload 5
aload 4
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.toMethodReturn:()Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.go:(Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;)Z
ifeq 16
15: aload 0
aload 5
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
ldc Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.superimpose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Ljava/lang/Class;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
16: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 7
start local 7 17: iconst_0
istore 8
start local 8 18: goto 22
19: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
StackMap stack:
aload 5
aload 4
iload 8
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.toMethodParameter:(S)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.go:(Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;)Z
ifeq 21
20: aload 7
iload 8
aload 5
aload 7
iload 8
aaload
ldc Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.superimpose:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Ljava/lang/Class;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aastore
21: StackMap locals:
StackMap stack:
iload 8
iconst_1
iadd
i2s
istore 8
StackMap locals:
StackMap stack:
22: iload 8
aload 7
arraylength
if_icmplt 19
end local 8 end local 7 end local 6 end local 5 23: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment char[] org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 method Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
0 24 1 provider Lorg/eclipse/jdt/internal/compiler/classfmt/ExternalAnnotationProvider;
0 24 2 environment Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
1 24 3 methodSignature [C
4 24 4 walker Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
6 23 5 visitor Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
7 23 6 typeParams [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
8 13 7 i S
17 23 7 parameters [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
18 23 8 i S
MethodParameters:
Name Flags
method
provider
environment
void <init>(org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 3 1 environment Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
MethodParameters:
Name Flags
environment
private void <init>(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, boolean, org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ZLorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
2: aload 0
iload 2
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
3: aload 0
aload 3
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
4: return
end local 3 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/ExternalAnnotationSuperimposer;
0 5 1 typeReplacement Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
0 5 2 isReplacing Z
0 5 3 walker Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
MethodParameters:
Name Flags
typeReplacement
isReplacing
walker
private org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer snapshot();
descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: new org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
dup
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
invokespecial org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ZLorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;)V
astore 1
start local 1 1: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
2: aload 0
iconst_0
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
1 4 1 memento Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
private void restore(org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
1: aload 0
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 3 1 memento Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
MethodParameters:
Name Flags
memento
boolean go(org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker);
descriptor: (Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.reset:()V
1: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
2: aload 0
iconst_0
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
3: aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
4: aload 1
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
if_acmpeq 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 6 1 walker Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
MethodParameters:
Name Flags
walker
<T extends org.eclipse.jdt.internal.compiler.lookup.TypeBinding> T superimpose(T, java.lang.Class<? extends T>);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Ljava/lang/Class;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
1: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 3
2: aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBinding
areturn
3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 4 1 type TT;
0 4 2 cl Ljava/lang/Class<+TT;>;
Signature: <T:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;>(TT;Ljava/lang/Class<+TT;>;)TT;
MethodParameters:
Name Flags
type
cl
private org.eclipse.jdt.internal.compiler.lookup.TypeBinding goAndSuperimpose(org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.EMPTY_ANNOTATION_WALKER:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
if_acmpne 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
3: aload 0
aload 2
invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
4: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
ifnonnull 6
5: aload 2
areturn
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
7: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 3
start local 3 8: aload 0
aconst_null
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
9: aload 3
areturn
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/ExternalAnnotationSuperimposer;
0 10 1 walker Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
0 10 2 type Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
8 10 3 answer Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
MethodParameters:
Name Flags
walker
type
public boolean visit(org.eclipse.jdt.internal.compiler.lookup.ArrayBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.snapshot:()Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
astore 2
start local 2 1: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.dimensions:I
istore 3
start local 3 2: iload 3
anewarray org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[]
astore 4
start local 4 3: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 14
6: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer org.eclipse.jdt.internal.compiler.lookup.ArrayBinding org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer int org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[][] org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker int
StackMap stack:
aload 5
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.id:I
iconst_0
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.getAnnotationsAtCursor:(IZ)[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
astore 7
start local 7 7: aload 7
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.NO_ANNOTATIONS:[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
if_acmpeq 11
8: aload 4
iload 6
aload 7
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aconst_null
invokestatic org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createAnnotations:([Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;[[[C)[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
aastore
9: aload 0
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
10: goto 12
11: StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[]
StackMap stack:
aload 4
iload 6
getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_ANNOTATIONS:[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
aastore
12: StackMap locals:
StackMap stack:
aload 5
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.toNextArrayDimension:()Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
astore 5
end local 7 13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
iload 3
if_icmplt 6
end local 6 15: aload 0
aload 5
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.goAndSuperimpose:(Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 6
start local 6 16: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
ifeq 22
17: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 6
iload 3
aload 4
invokestatic org.eclipse.jdt.internal.compiler.lookup.AnnotatableTypeSystem.flattenedAnnotations:([[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createArrayType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
end local 6 end local 5 end local 4 end local 3 18: goto 22
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer org.eclipse.jdt.internal.compiler.lookup.ArrayBinding org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
StackMap stack: java.lang.Throwable
19: astore 8
20: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.restore:(Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;)V
21: aload 8
athrow
22: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.restore:(Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;)V
23: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 24 1 arrayBinding Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;
1 24 2 memento Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
2 18 3 dims I
3 18 4 annotsOnDims [[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
4 18 5 walker Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
5 15 6 i I
7 13 7 binaryAnnotations [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
16 18 6 leafComponentType Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
Exception table:
from to target type
1 19 19 any
MethodParameters:
Name Flags
arrayBinding
public boolean visit(org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 1 1 baseTypeBinding Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
MethodParameters:
Name Flags
baseTypeBinding
public boolean visit(org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/IntersectionTypeBinding18;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 1 1 intersectionTypeBinding18 Lorg/eclipse/jdt/internal/compiler/lookup/IntersectionTypeBinding18;
MethodParameters:
Name Flags
intersectionTypeBinding18
public boolean visit(org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.snapshot:()Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
astore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.id:I
iconst_0
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.getAnnotationsAtCursor:(IZ)[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
astore 3
start local 3 2: getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_ANNOTATIONS:[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
astore 4
start local 4 3: aload 3
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.NO_ANNOTATIONS:[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
if_acmpeq 6
4: aload 3
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aconst_null
invokestatic org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createAnnotations:([Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;[[[C)[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
astore 4
5: aload 0
iconst_1
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
6: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[]
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.typeArguments:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 5
start local 5 7: aload 5
arraylength
anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
astore 6
start local 6 8: iconst_0
istore 7
start local 7 9: goto 12
10: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
StackMap stack:
aload 6
iload 7
aload 0
aload 2
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
iload 7
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.toTypeArgument:(I)Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
aload 5
iload 7
aaload
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.goAndSuperimpose:(Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
aastore
11: iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
aload 5
arraylength
if_icmplt 10
end local 7 13: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
ifeq 15
14: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
aload 6
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
15: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.restore:(Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;)V
16: iconst_0
ireturn
end local 6 end local 5 end local 4 end local 3 17: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
StackMap stack: java.lang.Throwable
astore 8
18: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.restore:(Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;)V
19: aload 8
athrow
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/ExternalAnnotationSuperimposer;
0 20 1 parameterizedTypeBinding Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
1 20 2 memento Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
2 17 3 binaryAnnotations [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
3 17 4 annotations [Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
7 17 5 typeArguments [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
8 17 6 newArguments [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
9 13 7 i I
Exception table:
from to target type
1 15 17 any
MethodParameters:
Name Flags
parameterizedTypeBinding
public boolean visit(org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 1 1 rawTypeBinding Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
MethodParameters:
Name Flags
rawTypeBinding
public boolean visit(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
iconst_0
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.getAnnotationsAtCursor:(IZ)[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
astore 2
start local 2 1: aload 2
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.NO_ANNOTATIONS:[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
if_acmpeq 3
2: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 1
aload 2
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aconst_null
invokestatic org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createAnnotations:([Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;[[[C)[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.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
3: StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[]
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 4 1 referenceBinding Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
1 4 2 binaryAnnotations [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
MethodParameters:
Name Flags
referenceBinding
public boolean visit(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 1 1 typeVariable Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
MethodParameters:
Name Flags
typeVariable
public boolean visit(org.eclipse.jdt.internal.compiler.lookup.WildcardBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 2
start local 2 1: aload 0
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.snapshot:()Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
astore 3
start local 3 2: aload 2
ifnull 4
3: aload 0
aload 3
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.toWildcardBound:()Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.goAndSuperimpose:(Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 2
4: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
StackMap stack:
aload 3
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.currentWalker:Lorg/eclipse/jdt/internal/compiler/env/ITypeAnnotationWalker;
iconst_m1
iconst_0
invokeinterface org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.getAnnotationsAtCursor:(IZ)[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
astore 4
start local 4 5: aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.isReplacing:Z
ifne 6
aload 4
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.NO_ANNOTATIONS:[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
if_acmpeq 16
6: StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[]
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.otherBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
astore 5
start local 5 7: aload 4
getstatic org.eclipse.jdt.internal.compiler.env.ITypeAnnotationWalker.NO_ANNOTATIONS:[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
if_acmpeq 11
8: aload 4
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aconst_null
invokestatic org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createAnnotations:([Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;[[[C)[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
astore 6
start local 6 9: aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.genericType:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.rank:I
aload 2
aload 5
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
aload 6
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createWildcard:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;ILorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
end local 6 10: goto 16
11: StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.genericType:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.rank:I
aload 2
aload 5
aload 1
getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createWildcard:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;ILorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
putfield org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.typeReplacement:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
end local 5 end local 4 12: goto 16
StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer org.eclipse.jdt.internal.compiler.lookup.WildcardBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer
StackMap stack: java.lang.Throwable
13: astore 7
14: aload 0
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.restore:(Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;)V
15: aload 7
athrow
16: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ExternalAnnotationSuperimposer.restore:(Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;)V
17: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
0 18 1 wildcardBinding Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
1 18 2 bound Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
2 18 3 memento Lorg/eclipse/jdt/internal/compiler/lookup/ExternalAnnotationSuperimposer;
5 12 4 binaryAnnotations [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
7 12 5 otherBounds [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
9 10 6 annotations [Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
Exception table:
from to target type
2 13 13 any
MethodParameters:
Name Flags
wildcardBinding
}
SourceFile: "ExternalAnnotationSuperimposer.java"