public class sun.reflect.generics.reflectiveObjects.WildcardTypeImpl extends sun.reflect.generics.reflectiveObjects.LazyReflectiveObjectGenerator implements java.lang.reflect.WildcardType
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.reflect.generics.reflectiveObjects.WildcardTypeImpl
super_class: sun.reflect.generics.reflectiveObjects.LazyReflectiveObjectGenerator
{
private volatile java.lang.Object[] upperBounds;
descriptor: [Ljava/lang/Object;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.Object[] lowerBounds;
descriptor: [Ljava/lang/Object;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/reflect/generics/reflectiveObjects/WildcardTypeImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(sun.reflect.generics.tree.FieldTypeSignature[], sun.reflect.generics.tree.FieldTypeSignature[], sun.reflect.generics.factory.GenericsFactory);
descriptor: ([Lsun/reflect/generics/tree/FieldTypeSignature;[Lsun/reflect/generics/tree/FieldTypeSignature;Lsun/reflect/generics/factory/GenericsFactory;)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
aload 3
invokespecial sun.reflect.generics.reflectiveObjects.LazyReflectiveObjectGenerator.<init>:(Lsun/reflect/generics/factory/GenericsFactory;)V
1: aload 0
aload 1
putfield sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.upperBounds:[Ljava/lang/Object;
2: aload 0
aload 2
putfield sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.lowerBounds:[Ljava/lang/Object;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/reflect/generics/reflectiveObjects/WildcardTypeImpl;
0 4 1 ubs [Lsun/reflect/generics/tree/FieldTypeSignature;
0 4 2 lbs [Lsun/reflect/generics/tree/FieldTypeSignature;
0 4 3 f Lsun/reflect/generics/factory/GenericsFactory;
MethodParameters:
Name Flags
ubs
lbs
f
public static sun.reflect.generics.reflectiveObjects.WildcardTypeImpl make(sun.reflect.generics.tree.FieldTypeSignature[], sun.reflect.generics.tree.FieldTypeSignature[], sun.reflect.generics.factory.GenericsFactory);
descriptor: ([Lsun/reflect/generics/tree/FieldTypeSignature;[Lsun/reflect/generics/tree/FieldTypeSignature;Lsun/reflect/generics/factory/GenericsFactory;)Lsun/reflect/generics/reflectiveObjects/WildcardTypeImpl;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new sun.reflect.generics.reflectiveObjects.WildcardTypeImpl
dup
aload 0
aload 1
aload 2
invokespecial sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.<init>:([Lsun/reflect/generics/tree/FieldTypeSignature;[Lsun/reflect/generics/tree/FieldTypeSignature;Lsun/reflect/generics/factory/GenericsFactory;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ubs [Lsun/reflect/generics/tree/FieldTypeSignature;
0 1 1 lbs [Lsun/reflect/generics/tree/FieldTypeSignature;
0 1 2 f Lsun/reflect/generics/factory/GenericsFactory;
MethodParameters:
Name Flags
ubs
lbs
f
public java.lang.reflect.Type[] getUpperBounds();
descriptor: ()[Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.upperBounds:[Ljava/lang/Object;
astore 1
start local 1 1: aload 1
instanceof sun.reflect.generics.tree.FieldTypeSignature[]
ifeq 4
2: aload 0
aload 1
checkcast sun.reflect.generics.tree.FieldTypeSignature[]
invokevirtual sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.reifyBounds:([Lsun/reflect/generics/tree/FieldTypeSignature;)[Ljava/lang/reflect/Type;
astore 1
3: aload 0
aload 1
putfield sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.upperBounds:[Ljava/lang/Object;
4: StackMap locals: java.lang.Object[]
StackMap stack:
aload 1
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.reflect.Type[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/reflect/generics/reflectiveObjects/WildcardTypeImpl;
1 5 1 value [Ljava/lang/Object;
public java.lang.reflect.Type[] getLowerBounds();
descriptor: ()[Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.lowerBounds:[Ljava/lang/Object;
astore 1
start local 1 1: aload 1
instanceof sun.reflect.generics.tree.FieldTypeSignature[]
ifeq 4
2: aload 0
aload 1
checkcast sun.reflect.generics.tree.FieldTypeSignature[]
invokevirtual sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.reifyBounds:([Lsun/reflect/generics/tree/FieldTypeSignature;)[Ljava/lang/reflect/Type;
astore 1
3: aload 0
aload 1
putfield sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.lowerBounds:[Ljava/lang/Object;
4: StackMap locals: java.lang.Object[]
StackMap stack:
aload 1
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.reflect.Type[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/reflect/generics/reflectiveObjects/WildcardTypeImpl;
1 5 1 value [Ljava/lang/Object;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.getLowerBounds:()[Ljava/lang/reflect/Type;
astore 1
start local 1 1: aload 1
astore 2
start local 2 2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 3: aload 1
arraylength
ifle 5
4: aload 3
ldc "? super "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 11
5: StackMap locals: java.lang.reflect.Type[] java.lang.reflect.Type[] java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.getUpperBounds:()[Ljava/lang/reflect/Type;
astore 4
start local 4 6: aload 4
arraylength
ifle 10
aload 4
iconst_0
aaload
ldc Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 10
7: aload 4
astore 2
8: aload 3
ldc "? extends "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: goto 11
10: StackMap locals: java.lang.reflect.Type[]
StackMap stack:
ldc "?"
areturn
end local 4 11: StackMap locals:
StackMap stack:
getstatic sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.$assertionsDisabled:Z
ifne 12
aload 2
arraylength
ifgt 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
new java.util.StringJoiner
dup
ldc " & "
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 4
start local 4 13: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 17
StackMap locals: sun.reflect.generics.reflectiveObjects.WildcardTypeImpl java.lang.reflect.Type[] java.lang.reflect.Type[] java.lang.StringBuilder java.util.StringJoiner top int int java.lang.reflect.Type[]
StackMap stack:
14: aload 8
iload 6
aaload
astore 5
start local 5 15: aload 4
aload 5
invokeinterface java.lang.reflect.Type.getTypeName:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 5 16: iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
iload 7
if_icmplt 14
18: aload 3
aload 4
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 Lsun/reflect/generics/reflectiveObjects/WildcardTypeImpl;
1 20 1 lowerBounds [Ljava/lang/reflect/Type;
2 20 2 bounds [Ljava/lang/reflect/Type;
3 20 3 sb Ljava/lang/StringBuilder;
6 11 4 upperBounds [Ljava/lang/reflect/Type;
13 20 4 sj Ljava/util/StringJoiner;
15 16 5 bound Ljava/lang/reflect/Type;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.reflect.WildcardType
ifeq 12
1: aload 1
checkcast java.lang.reflect.WildcardType
astore 2
start local 2 2: aload 0
invokevirtual sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.getLowerBounds:()[Ljava/lang/reflect/Type;
3: aload 2
invokeinterface java.lang.reflect.WildcardType.getLowerBounds:()[Ljava/lang/reflect/Type;
4: invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
5: ifeq 11
6: aload 0
invokevirtual sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.getUpperBounds:()[Ljava/lang/reflect/Type;
7: aload 2
invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
8: invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
9: ifeq 11
10: iconst_1
ireturn
StackMap locals: java.lang.reflect.WildcardType
StackMap stack:
11: iconst_0
ireturn
end local 2 12: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/reflect/generics/reflectiveObjects/WildcardTypeImpl;
0 13 1 o Ljava/lang/Object;
2 12 2 that Ljava/lang/reflect/WildcardType;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.getLowerBounds:()[Ljava/lang/reflect/Type;
astore 1
start local 1 1: aload 0
invokevirtual sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.getUpperBounds:()[Ljava/lang/reflect/Type;
astore 2
start local 2 2: aload 1
invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
aload 2
invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
ixor
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/reflect/generics/reflectiveObjects/WildcardTypeImpl;
1 3 1 lowerBounds [Ljava/lang/reflect/Type;
2 3 2 upperBounds [Ljava/lang/reflect/Type;
}
SourceFile: "WildcardTypeImpl.java"