public class com.sun.tools.javac.code.Type$UnionClassType extends com.sun.tools.javac.code.Type$ClassType implements javax.lang.model.type.UnionType
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.code.Type$UnionClassType
super_class: com.sun.tools.javac.code.Type$ClassType
{
final com.sun.tools.javac.util.List<? extends com.sun.tools.javac.code.Type> alternatives_field;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x0010) ACC_FINAL
Signature: Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/code/Type;>;
public void <init>(com.sun.tools.javac.code.Type$ClassType, com.sun.tools.javac.util.List<? extends com.sun.tools.javac.code.Type>);
descriptor: (Lcom/sun/tools/javac/code/Type$ClassType;Lcom/sun/tools/javac/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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$ClassType.outer_field:Lcom/sun/tools/javac/code/Type;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.typarams_field:Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokespecial com.sun.tools.javac.code.Type$ClassType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
1: aload 0
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.allparams_field:Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Type$UnionClassType.allparams_field:Lcom/sun/tools/javac/util/List;
2: aload 0
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.code.Type$UnionClassType.supertype_field:Lcom/sun/tools/javac/code/Type;
3: aload 0
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Type$UnionClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
4: aload 0
aload 1
getfield com.sun.tools.javac.code.Type$ClassType.interfaces_field:Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Type$UnionClassType.all_interfaces_field:Lcom/sun/tools/javac/util/List;
5: aload 0
aload 2
putfield com.sun.tools.javac.code.Type$UnionClassType.alternatives_field:Lcom/sun/tools/javac/util/List;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Type$UnionClassType;
0 7 1 ct Lcom/sun/tools/javac/code/Type$ClassType;
0 7 2 alternatives Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/code/Type;>;
Signature: (Lcom/sun/tools/javac/code/Type$ClassType;Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/code/Type;>;)V
MethodParameters:
Name Flags
ct
alternatives
public com.sun.tools.javac.code.Type$UnionClassType cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$UnionClassType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.AssertionError
dup
ldc "Cannot add metadata to a union type"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$UnionClassType;
0 1 1 md Lcom/sun/tools/javac/code/TypeMetadata;
MethodParameters:
Name Flags
md
public com.sun.tools.javac.code.Type getLub();
descriptor: ()Lcom/sun/tools/javac/code/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Type$UnionClassType.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$UnionClassType;
public java.util.List<? extends javax.lang.model.type.TypeMirror> getAlternatives();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Type$UnionClassType.alternatives_field:Lcom/sun/tools/javac/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$UnionClassType;
Signature: ()Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;
public boolean isUnion();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$UnionClassType;
public boolean isCompound();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.tools.javac.code.Type$UnionClassType.getLub:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$UnionClassType;
public javax.lang.model.type.TypeKind getKind();
descriptor: ()Ljavax/lang/model/type/TypeKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic javax.lang.model.type.TypeKind.UNION:Ljavax/lang/model/type/TypeKind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$UnionClassType;
public <R, P> R accept(javax.lang.model.type.TypeVisitor<R, P>, );
descriptor: (Ljavax/lang/model/type/TypeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokeinterface javax.lang.model.type.TypeVisitor.visitUnion:(Ljavax/lang/model/type/UnionType;Ljava/lang/Object;)Ljava/lang/Object;
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$UnionClassType;
0 1 1 v Ljavax/lang/model/type/TypeVisitor<TR;TP;>;
0 1 2 p TP;
Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljavax/lang/model/type/TypeVisitor<TR;TP;>;TP;)TR;
MethodParameters:
Name Flags
v
p
public java.lang.Iterable<? extends com.sun.tools.javac.code.Type> getAlternativeTypes();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Type$UnionClassType.alternatives_field:Lcom/sun/tools/javac/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Type$UnionClassType;
Signature: ()Ljava/lang/Iterable<+Lcom/sun/tools/javac/code/Type;>;
public com.sun.tools.javac.code.Type$ClassType cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$ClassType;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type$UnionClassType.cloneWithMetadata:(Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$UnionClassType;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.sun.tools.javac.code.Type cloneWithMetadata(com.sun.tools.javac.code.TypeMetadata);
descriptor: (Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.sun.tools.javac.code.Type$UnionClassType.cloneWithMetadata:(Lcom/sun/tools/javac/code/TypeMetadata;)Lcom/sun/tools/javac/code/Type$UnionClassType;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
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 ClassType = com.sun.tools.javac.code.Type$ClassType of com.sun.tools.javac.code.Type
public UnionClassType = com.sun.tools.javac.code.Type$UnionClassType of com.sun.tools.javac.code.Type