class com.sun.tools.javac.code.Types$MembersClosureCache extends com.sun.tools.javac.code.Types$SimpleVisitor<com.sun.tools.javac.code.Scope$CompoundScope, java.lang.Void>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.code.Types$MembersClosureCache
super_class: com.sun.tools.javac.code.Types$SimpleVisitor
{
private java.util.Map<com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Scope$CompoundScope> _map;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Scope$CompoundScope;>;
java.util.Set<com.sun.tools.javac.code.Symbol$TypeSymbol> seenTypes;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$TypeSymbol;>;
com.sun.tools.javac.code.Scope$CompoundScope nilScope;
descriptor: Lcom/sun/tools/javac/code/Scope$CompoundScope;
flags: (0x0000)
final com.sun.tools.javac.code.Types this$0;
descriptor: Lcom/sun/tools/javac/code/Types;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.code.Types);
descriptor: (Lcom/sun/tools/javac/code/Types;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.code.Types$MembersClosureCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 0
invokespecial com.sun.tools.javac.code.Types$SimpleVisitor.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.code.Types$MembersClosureCache._map:Ljava/util/Map;
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.sun.tools.javac.code.Types$MembersClosureCache.seenTypes:Ljava/util/Set;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Types$MembersClosureCache;
MethodParameters:
Name Flags
this$0 final
public com.sun.tools.javac.code.Scope$CompoundScope visitType(com.sun.tools.javac.code.Type, java.lang.Void);
descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/lang/Void;)Lcom/sun/tools/javac/code/Scope$CompoundScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.nilScope:Lcom/sun/tools/javac/code/Scope$CompoundScope;
ifnonnull 2
1: aload 0
new com.sun.tools.javac.code.Scope$CompoundScope
dup
aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.this$0:Lcom/sun/tools/javac/code/Types;
getfield com.sun.tools.javac.code.Types.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.noSymbol:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokespecial com.sun.tools.javac.code.Scope$CompoundScope.<init>:(Lcom/sun/tools/javac/code/Symbol;)V
putfield com.sun.tools.javac.code.Types$MembersClosureCache.nilScope:Lcom/sun/tools/javac/code/Scope$CompoundScope;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.nilScope:Lcom/sun/tools/javac/code/Scope$CompoundScope;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/code/Types$MembersClosureCache;
0 3 1 t Lcom/sun/tools/javac/code/Type;
0 3 2 _unused Ljava/lang/Void;
MethodParameters:
Name Flags
t
_unused
public com.sun.tools.javac.code.Scope$CompoundScope visitClassType(com.sun.tools.javac.code.Type$ClassType, java.lang.Void);
descriptor: (Lcom/sun/tools/javac/code/Type$ClassType;Ljava/lang/Void;)Lcom/sun/tools/javac/code/Scope$CompoundScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.seenTypes:Ljava/util/Set;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 2
1: new com.sun.tools.javac.code.Scope$CompoundScope
dup
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokespecial com.sun.tools.javac.code.Scope$CompoundScope.<init>:(Lcom/sun/tools/javac/code/Symbol;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.seenTypes:Ljava/util/Set;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
astore 3
start local 3 4: aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache._map:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Scope$CompoundScope
astore 4
start local 4 5: aload 4
ifnonnull 14
6: new com.sun.tools.javac.code.Scope$CompoundScope
dup
aload 3
invokespecial com.sun.tools.javac.code.Scope$CompoundScope.<init>:(Lcom/sun/tools/javac/code/Symbol;)V
astore 4
7: aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 1
invokevirtual com.sun.tools.javac.code.Types.interfaces:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: com.sun.tools.javac.code.Types$MembersClosureCache com.sun.tools.javac.code.Type$ClassType java.lang.Void com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Scope$CompoundScope top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 5
start local 5 9: aload 4
aload 0
aload 5
aconst_null
invokevirtual com.sun.tools.javac.code.Types$MembersClosureCache.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Scope
invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.prependSubScope:(Lcom/sun/tools/javac/code/Scope;)V
end local 5 10: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: aload 4
aload 0
aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.this$0:Lcom/sun/tools/javac/code/Types;
aload 1
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
aconst_null
invokevirtual com.sun.tools.javac.code.Types$MembersClosureCache.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Scope
invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.prependSubScope:(Lcom/sun/tools/javac/code/Scope;)V
12: aload 4
aload 3
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
invokevirtual com.sun.tools.javac.code.Scope$CompoundScope.prependSubScope:(Lcom/sun/tools/javac/code/Scope;)V
13: aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache._map:Ljava/util/Map;
aload 3
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: StackMap locals: com.sun.tools.javac.code.Types$MembersClosureCache com.sun.tools.javac.code.Type$ClassType java.lang.Void com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Scope$CompoundScope
StackMap stack:
aload 4
astore 8
15: aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.seenTypes:Ljava/util/Set;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
16: aload 8
areturn
end local 4 end local 3 17: StackMap locals: com.sun.tools.javac.code.Types$MembersClosureCache com.sun.tools.javac.code.Type$ClassType java.lang.Void
StackMap stack: java.lang.Throwable
astore 7
18: aload 0
getfield com.sun.tools.javac.code.Types$MembersClosureCache.seenTypes:Ljava/util/Set;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
19: aload 7
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/tools/javac/code/Types$MembersClosureCache;
0 20 1 t Lcom/sun/tools/javac/code/Type$ClassType;
0 20 2 _unused Ljava/lang/Void;
4 17 3 csym Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
5 17 4 membersClosure Lcom/sun/tools/javac/code/Scope$CompoundScope;
9 10 5 i Lcom/sun/tools/javac/code/Type;
Exception table:
from to target type
2 15 17 any
MethodParameters:
Name Flags
t
_unused
public com.sun.tools.javac.code.Scope$CompoundScope visitTypeVar(com.sun.tools.javac.code.Type$TypeVar, java.lang.Void);
descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Ljava/lang/Void;)Lcom/sun/tools/javac/code/Scope$CompoundScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
aconst_null
invokevirtual com.sun.tools.javac.code.Types$MembersClosureCache.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Scope$CompoundScope
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Types$MembersClosureCache;
0 1 1 t Lcom/sun/tools/javac/code/Type$TypeVar;
0 1 2 _unused Ljava/lang/Void;
MethodParameters:
Name Flags
t
_unused
public java.lang.Object visitClassType(com.sun.tools.javac.code.Type$ClassType, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$ClassType;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast java.lang.Void
invokevirtual com.sun.tools.javac.code.Types$MembersClosureCache.visitClassType:(Lcom/sun/tools/javac/code/Type$ClassType;Ljava/lang/Void;)Lcom/sun/tools/javac/code/Scope$CompoundScope;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object visitTypeVar(com.sun.tools.javac.code.Type$TypeVar, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$TypeVar;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast java.lang.Void
invokevirtual com.sun.tools.javac.code.Types$MembersClosureCache.visitTypeVar:(Lcom/sun/tools/javac/code/Type$TypeVar;Ljava/lang/Void;)Lcom/sun/tools/javac/code/Scope$CompoundScope;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object visitType(com.sun.tools.javac.code.Type, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast java.lang.Void
invokevirtual com.sun.tools.javac.code.Types$MembersClosureCache.visitType:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Void;)Lcom/sun/tools/javac/code/Scope$CompoundScope;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/sun/tools/javac/code/Types$SimpleVisitor<Lcom/sun/tools/javac/code/Scope$CompoundScope;Ljava/lang/Void;>;
SourceFile: "Types.java"
NestHost: com.sun.tools.javac.code.Types
InnerClasses:
public CompoundScope = com.sun.tools.javac.code.Scope$CompoundScope of com.sun.tools.javac.code.Scope
public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
public ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
public TypeVar = com.sun.tools.javac.code.Type$TypeVar of com.sun.tools.javac.code.Type
MembersClosureCache = com.sun.tools.javac.code.Types$MembersClosureCache of com.sun.tools.javac.code.Types
MembersScope = com.sun.tools.javac.code.Types$MembersClosureCache$MembersScope of com.sun.tools.javac.code.Types$MembersClosureCache
public abstract SimpleVisitor = com.sun.tools.javac.code.Types$SimpleVisitor of com.sun.tools.javac.code.Types