public abstract class com.sun.tools.javac.code.Type$StructuralTypeMapping<S> extends com.sun.tools.javac.code.Types$TypeMapping<S>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.tools.javac.code.Type$StructuralTypeMapping
super_class: com.sun.tools.javac.code.Types$TypeMapping
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.tools.javac.code.Types$TypeMapping.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$StructuralTypeMapping<TS;>;
public com.sun.tools.javac.code.Type visitClassType(com.sun.tools.javac.code.Type$ClassType, S);
descriptor: (Lcom/sun/tools/javac/code/Type$ClassType;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.javac.code.Type$ClassType.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 4
start local 4 2: aload 1
invokevirtual com.sun.tools.javac.code.Type$ClassType.getTypeArguments:()Lcom/sun/tools/javac/util/List;
astore 5
start local 5 3: aload 0
aload 5
aload 2
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visit:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 6
start local 6 4: aload 4
aload 3
if_acmpne 5
aload 6
aload 5
if_acmpne 5
aload 1
areturn
5: StackMap locals: com.sun.tools.javac.code.Type$StructuralTypeMapping com.sun.tools.javac.code.Type$ClassType java.lang.Object com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List
StackMap stack:
new com.sun.tools.javac.code.Type$StructuralTypeMapping$1
dup
aload 0
aload 4
aload 6
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.metadata:Lcom/sun/tools/javac/code/TypeMetadata;
invokespecial com.sun.tools.javac.code.Type$StructuralTypeMapping$1.<init>:(Lcom/sun/tools/javac/code/Type$StructuralTypeMapping;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Type$StructuralTypeMapping<TS;>;
0 6 1 t Lcom/sun/tools/javac/code/Type$ClassType;
0 6 2 s TS;
1 6 3 outer Lcom/sun/tools/javac/code/Type;
2 6 4 outer1 Lcom/sun/tools/javac/code/Type;
3 6 5 typarams Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
4 6 6 typarams1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type$ClassType;TS;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public com.sun.tools.javac.code.Type visitWildcardType(com.sun.tools.javac.code.Type$WildcardType, S);
descriptor: (Lcom/sun/tools/javac/code/Type$WildcardType;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 0
aload 3
aload 2
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 3
3: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 3
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.type:Lcom/sun/tools/javac/code/Type;
if_acmpne 5
4: aload 1
areturn
5: StackMap locals:
StackMap stack:
new com.sun.tools.javac.code.Type$StructuralTypeMapping$2
dup
aload 0
aload 3
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.kind:Lcom/sun/tools/javac/code/BoundKind;
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.bound:Lcom/sun/tools/javac/code/Type$TypeVar;
aload 1
getfield com.sun.tools.javac.code.Type$WildcardType.metadata:Lcom/sun/tools/javac/code/TypeMetadata;
invokespecial com.sun.tools.javac.code.Type$StructuralTypeMapping$2.<init>:(Lcom/sun/tools/javac/code/Type$StructuralTypeMapping;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/BoundKind;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Type$TypeVar;Lcom/sun/tools/javac/code/TypeMetadata;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Type$StructuralTypeMapping<TS;>;
0 6 1 wt Lcom/sun/tools/javac/code/Type$WildcardType;
0 6 2 s TS;
1 6 3 t Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/code/Type$WildcardType;TS;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
wt
s
public com.sun.tools.javac.code.Type visitArrayType(com.sun.tools.javac.code.Type$ArrayType, S);
descriptor: (Lcom/sun/tools/javac/code/Type$ArrayType;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 4
start local 4 2: aload 4
aload 3
if_acmpne 3
aload 1
areturn
3: StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
StackMap stack:
new com.sun.tools.javac.code.Type$StructuralTypeMapping$3
dup
aload 0
aload 4
aload 1
getfield com.sun.tools.javac.code.Type$ArrayType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 1
getfield com.sun.tools.javac.code.Type$ArrayType.metadata:Lcom/sun/tools/javac/code/TypeMetadata;
invokespecial com.sun.tools.javac.code.Type$StructuralTypeMapping$3.<init>:(Lcom/sun/tools/javac/code/Type$StructuralTypeMapping;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/TypeMetadata;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Type$StructuralTypeMapping<TS;>;
0 4 1 t Lcom/sun/tools/javac/code/Type$ArrayType;
0 4 2 s TS;
1 4 3 elemtype Lcom/sun/tools/javac/code/Type;
2 4 4 elemtype1 Lcom/sun/tools/javac/code/Type;
Signature: (Lcom/sun/tools/javac/code/Type$ArrayType;TS;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public com.sun.tools.javac.code.Type visitMethodType(com.sun.tools.javac.code.Type$MethodType, S);
descriptor: (Lcom/sun/tools/javac/code/Type$MethodType;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.sun.tools.javac.code.Type$MethodType.argtypes:Lcom/sun/tools/javac/util/List;
astore 3
start local 3 1: aload 1
getfield com.sun.tools.javac.code.Type$MethodType.restype:Lcom/sun/tools/javac/code/Type;
astore 4
start local 4 2: aload 1
getfield com.sun.tools.javac.code.Type$MethodType.thrown:Lcom/sun/tools/javac/util/List;
astore 5
start local 5 3: aload 0
aload 3
aload 2
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visit:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 6
start local 6 4: aload 0
aload 4
aload 2
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 7
start local 7 5: aload 0
aload 5
aload 2
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visit:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 8
start local 8 6: aload 6
aload 3
if_acmpne 9
7: aload 7
aload 4
if_acmpne 9
8: aload 8
aload 5
if_acmpne 9
aload 1
areturn
9: StackMap locals: com.sun.tools.javac.code.Type$StructuralTypeMapping com.sun.tools.javac.code.Type$MethodType java.lang.Object com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.util.List
StackMap stack:
new com.sun.tools.javac.code.Type$StructuralTypeMapping$4
dup
aload 0
aload 6
aload 7
aload 8
aload 1
getfield com.sun.tools.javac.code.Type$MethodType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokespecial com.sun.tools.javac.code.Type$StructuralTypeMapping$4.<init>:(Lcom/sun/tools/javac/code/Type$StructuralTypeMapping;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/code/Type$StructuralTypeMapping<TS;>;
0 10 1 t Lcom/sun/tools/javac/code/Type$MethodType;
0 10 2 s TS;
1 10 3 argtypes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
2 10 4 restype Lcom/sun/tools/javac/code/Type;
3 10 5 thrown Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
4 10 6 argtypes1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
5 10 7 restype1 Lcom/sun/tools/javac/code/Type;
6 10 8 thrown1 Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type$MethodType;TS;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public com.sun.tools.javac.code.Type visitForAll(com.sun.tools.javac.code.Type$ForAll, S);
descriptor: (Lcom/sun/tools/javac/code/Type$ForAll;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
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
getfield com.sun.tools.javac.code.Type$ForAll.qtype:Lcom/sun/tools/javac/code/Type;
aload 2
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visit:(Lcom/sun/tools/javac/code/Type;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
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/Type$StructuralTypeMapping<TS;>;
0 1 1 t Lcom/sun/tools/javac/code/Type$ForAll;
0 1 2 s TS;
Signature: (Lcom/sun/tools/javac/code/Type$ForAll;TS;)Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
t
s
public java.lang.Object visitMethodType(com.sun.tools.javac.code.Type$MethodType, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$MethodType;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.Object
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visitMethodType:(Lcom/sun/tools/javac/code/Type$MethodType;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
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.Object
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visitClassType:(Lcom/sun/tools/javac/code/Type$ClassType;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object visitArrayType(com.sun.tools.javac.code.Type$ArrayType, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$ArrayType;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.Object
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visitArrayType:(Lcom/sun/tools/javac/code/Type$ArrayType;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object visitForAll(com.sun.tools.javac.code.Type$ForAll, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$ForAll;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.Object
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visitForAll:(Lcom/sun/tools/javac/code/Type$ForAll;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object visitWildcardType(com.sun.tools.javac.code.Type$WildcardType, java.lang.Object);
descriptor: (Lcom/sun/tools/javac/code/Type$WildcardType;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.Object
invokevirtual com.sun.tools.javac.code.Type$StructuralTypeMapping.visitWildcardType:(Lcom/sun/tools/javac/code/Type$WildcardType;Ljava/lang/Object;)Lcom/sun/tools/javac/code/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <S:Ljava/lang/Object;>Lcom/sun/tools/javac/code/Types$TypeMapping<TS;>;
SourceFile: "Type.java"
NestHost: com.sun.tools.javac.code.Type
InnerClasses:
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
public ArrayType = com.sun.tools.javac.code.Type$ArrayType of com.sun.tools.javac.code.Type
public ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
public ForAll = com.sun.tools.javac.code.Type$ForAll of com.sun.tools.javac.code.Type
public MethodType = com.sun.tools.javac.code.Type$MethodType of com.sun.tools.javac.code.Type
public abstract StructuralTypeMapping = com.sun.tools.javac.code.Type$StructuralTypeMapping of com.sun.tools.javac.code.Type
com.sun.tools.javac.code.Type$StructuralTypeMapping$1
com.sun.tools.javac.code.Type$StructuralTypeMapping$2
com.sun.tools.javac.code.Type$StructuralTypeMapping$3
com.sun.tools.javac.code.Type$StructuralTypeMapping$4
public TypeVar = com.sun.tools.javac.code.Type$TypeVar of com.sun.tools.javac.code.Type
public WildcardType = com.sun.tools.javac.code.Type$WildcardType of com.sun.tools.javac.code.Type
public TypeMapping = com.sun.tools.javac.code.Types$TypeMapping of com.sun.tools.javac.code.Types