public abstract class jdk.nashorn.internal.codegen.types.Type implements java.lang.Comparable<jdk.nashorn.internal.codegen.types.Type>, jdk.nashorn.internal.codegen.types.BytecodeOps, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jdk.nashorn.internal.codegen.types.Type
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final transient java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient java.lang.String descriptor;
descriptor: Ljava/lang/String;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient int weight;
descriptor: I
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient int slots;
descriptor: I
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final java.lang.Class<?> clazz;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.util.Map<java.lang.Class<?>, jdk.internal.org.objectweb.asm.Type> INTERNAL_TYPE_CACHE;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljdk/internal/org/objectweb/asm/Type;>;
private final transient jdk.internal.org.objectweb.asm.Type internalType;
descriptor: Ljdk/internal/org/objectweb/asm/Type;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
protected static final int MIN_WEIGHT;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: -1
protected static final int MAX_WEIGHT;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final java.util.concurrent.ConcurrentMap<java.lang.Class<?>, jdk.nashorn.internal.codegen.types.Type> cache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class<*>;Ljdk/nashorn/internal/codegen/types/Type;>;
private static final java.util.concurrent.ConcurrentMap<java.lang.String, jdk.nashorn.internal.codegen.types.Type> cacheByName;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljdk/nashorn/internal/codegen/types/Type;>;
public static final jdk.nashorn.internal.codegen.types.Type BOOLEAN;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.BitwiseType INT;
descriptor: Ljdk/nashorn/internal/codegen/types/BitwiseType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.NumericType NUMBER;
descriptor: Ljdk/nashorn/internal/codegen/types/NumericType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type LONG;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type STRING;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type CHARSEQUENCE;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type OBJECT;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type UNDEFINED;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type SCRIPT_OBJECT;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.ArrayType INT_ARRAY;
descriptor: Ljdk/nashorn/internal/codegen/types/ArrayType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.ArrayType LONG_ARRAY;
descriptor: Ljdk/nashorn/internal/codegen/types/ArrayType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.ArrayType NUMBER_ARRAY;
descriptor: Ljdk/nashorn/internal/codegen/types/ArrayType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.ArrayType OBJECT_ARRAY;
descriptor: Ljdk/nashorn/internal/codegen/types/ArrayType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type THIS;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type SCOPE;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type UNKNOWN;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.codegen.types.Type SLOT_2;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
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=3, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/codegen/types/Type;
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 jdk.nashorn.internal.codegen.types.Type.$assertionsDisabled:Z
3: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
4: putstatic jdk.nashorn.internal.codegen.types.Type.INTERNAL_TYPE_CACHE:Ljava/util/Map;
5: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic jdk.nashorn.internal.codegen.types.Type.cache:Ljava/util/concurrent/ConcurrentMap;
6: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic jdk.nashorn.internal.codegen.types.Type.cacheByName:Ljava/util/concurrent/ConcurrentMap;
7: new jdk.nashorn.internal.codegen.types.BooleanType
dup
invokespecial jdk.nashorn.internal.codegen.types.BooleanType.<init>:()V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
8: new jdk.nashorn.internal.codegen.types.IntType
dup
invokespecial jdk.nashorn.internal.codegen.types.IntType.<init>:()V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
checkcast jdk.nashorn.internal.codegen.types.BitwiseType
putstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
9: new jdk.nashorn.internal.codegen.types.NumberType
dup
invokespecial jdk.nashorn.internal.codegen.types.NumberType.<init>:()V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
checkcast jdk.nashorn.internal.codegen.types.NumericType
putstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
10: new jdk.nashorn.internal.codegen.types.LongType
dup
invokespecial jdk.nashorn.internal.codegen.types.LongType.<init>:()V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.types.Type.LONG:Ljdk/nashorn/internal/codegen/types/Type;
11: new jdk.nashorn.internal.codegen.types.ObjectType
dup
ldc Ljava/lang/String;
invokespecial jdk.nashorn.internal.codegen.types.ObjectType.<init>:(Ljava/lang/Class;)V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.types.Type.STRING:Ljdk/nashorn/internal/codegen/types/Type;
12: new jdk.nashorn.internal.codegen.types.ObjectType
dup
ldc Ljava/lang/CharSequence;
invokespecial jdk.nashorn.internal.codegen.types.ObjectType.<init>:(Ljava/lang/Class;)V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.types.Type.CHARSEQUENCE:Ljdk/nashorn/internal/codegen/types/Type;
13: new jdk.nashorn.internal.codegen.types.ObjectType
dup
invokespecial jdk.nashorn.internal.codegen.types.ObjectType.<init>:()V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
14: new jdk.nashorn.internal.codegen.types.ObjectType
dup
ldc Ljdk/nashorn/internal/runtime/Undefined;
invokespecial jdk.nashorn.internal.codegen.types.ObjectType.<init>:(Ljava/lang/Class;)V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
15: new jdk.nashorn.internal.codegen.types.ObjectType
dup
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
invokespecial jdk.nashorn.internal.codegen.types.ObjectType.<init>:(Ljava/lang/Class;)V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putstatic jdk.nashorn.internal.codegen.types.Type.SCRIPT_OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
16: new jdk.nashorn.internal.codegen.types.Type$1
dup
ldc [I
invokespecial jdk.nashorn.internal.codegen.types.Type$1.<init>:(Ljava/lang/Class;)V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
checkcast jdk.nashorn.internal.codegen.types.ArrayType
putstatic jdk.nashorn.internal.codegen.types.Type.INT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
17: new jdk.nashorn.internal.codegen.types.Type$2
dup
ldc [J
invokespecial jdk.nashorn.internal.codegen.types.Type$2.<init>:(Ljava/lang/Class;)V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
checkcast jdk.nashorn.internal.codegen.types.ArrayType
putstatic jdk.nashorn.internal.codegen.types.Type.LONG_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
18: new jdk.nashorn.internal.codegen.types.Type$3
dup
ldc [D
invokespecial jdk.nashorn.internal.codegen.types.Type$3.<init>:(Ljava/lang/Class;)V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
checkcast jdk.nashorn.internal.codegen.types.ArrayType
putstatic jdk.nashorn.internal.codegen.types.Type.NUMBER_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
19: new jdk.nashorn.internal.codegen.types.ArrayType
dup
ldc [Ljava/lang/Object;
invokespecial jdk.nashorn.internal.codegen.types.ArrayType.<init>:(Ljava/lang/Class;)V
invokestatic jdk.nashorn.internal.codegen.types.Type.putInCache:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
checkcast jdk.nashorn.internal.codegen.types.ArrayType
putstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
20: new jdk.nashorn.internal.codegen.types.Type$4
dup
invokespecial jdk.nashorn.internal.codegen.types.Type$4.<init>:()V
putstatic jdk.nashorn.internal.codegen.types.Type.THIS:Ljdk/nashorn/internal/codegen/types/Type;
21: new jdk.nashorn.internal.codegen.types.Type$5
dup
invokespecial jdk.nashorn.internal.codegen.types.Type$5.<init>:()V
putstatic jdk.nashorn.internal.codegen.types.Type.SCOPE:Ljdk/nashorn/internal/codegen/types/Type;
22: new jdk.nashorn.internal.codegen.types.Type$6
dup
ldc "<unknown>"
invokespecial jdk.nashorn.internal.codegen.types.Type$6.<init>:(Ljava/lang/String;)V
putstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
23: new jdk.nashorn.internal.codegen.types.Type$7
dup
ldc "<slot_2>"
invokespecial jdk.nashorn.internal.codegen.types.Type$7.<init>:(Ljava/lang/String;)V
putstatic jdk.nashorn.internal.codegen.types.Type.SLOT_2:Ljdk/nashorn/internal/codegen/types/Type;
24: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String, java.lang.Class<?>, int, );
descriptor: (Ljava/lang/String;Ljava/lang/Class;II)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.nashorn.internal.codegen.types.Type.name:Ljava/lang/String;
2: aload 0
aload 2
putfield jdk.nashorn.internal.codegen.types.Type.clazz:Ljava/lang/Class;
3: aload 0
aload 2
invokestatic jdk.internal.org.objectweb.asm.Type.getDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
putfield jdk.nashorn.internal.codegen.types.Type.descriptor:Ljava/lang/String;
4: aload 0
iload 3
putfield jdk.nashorn.internal.codegen.types.Type.weight:I
5: getstatic jdk.nashorn.internal.codegen.types.Type.$assertionsDisabled:Z
ifne 7
iload 3
iconst_m1
if_icmplt 6
iload 3
bipush 20
if_icmple 7
StackMap locals: jdk.nashorn.internal.codegen.types.Type java.lang.String java.lang.Class int int
StackMap stack:
6: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "illegal type weight: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield jdk.nashorn.internal.codegen.types.Type.slots:I
8: aload 0
aload 2
invokestatic jdk.nashorn.internal.codegen.types.Type.getInternalType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
putfield jdk.nashorn.internal.codegen.types.Type.internalType:Ljdk/internal/org/objectweb/asm/Type;
9: return
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 Ljdk/nashorn/internal/codegen/types/Type;
0 10 1 name Ljava/lang/String;
0 10 2 clazz Ljava/lang/Class<*>;
0 10 3 weight I
0 10 4 slots I
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;II)V
MethodParameters:
Name Flags
name final
clazz final
weight final
slots final
public int getWeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.weight:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public java.lang.Class<?> getTypeClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.clazz:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
Signature: ()Ljava/lang/Class<*>;
public jdk.nashorn.internal.codegen.types.Type nextWider();
descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public java.lang.Class<?> getBoxedType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.nashorn.internal.codegen.types.Type.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/types/Type;
Signature: ()Ljava/lang/Class<*>;
public abstract char getBytecodeStackType();
descriptor: ()C
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public static java.lang.String getMethodDescriptor(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type[]);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;[Ljdk/nashorn/internal/codegen/types/Type;)Ljava/lang/String;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
arraylength
anewarray jdk.internal.org.objectweb.asm.Type
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: jdk.internal.org.objectweb.asm.Type[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
invokevirtual jdk.nashorn.internal.codegen.types.Type.getInternalType:()Ljdk/internal/org/objectweb/asm/Type;
aastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 6: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.getInternalType:()Ljdk/internal/org/objectweb/asm/Type;
aload 2
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 returnType Ljdk/nashorn/internal/codegen/types/Type;
0 7 1 types [Ljdk/nashorn/internal/codegen/types/Type;
1 7 2 itypes [Ljdk/internal/org/objectweb/asm/Type;
2 6 3 i I
MethodParameters:
Name Flags
returnType final
types final
public static java.lang.String getMethodDescriptor(java.lang.Class<?>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
arraylength
anewarray jdk.internal.org.objectweb.asm.Type
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: jdk.internal.org.objectweb.asm.Type[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
invokestatic jdk.nashorn.internal.codegen.types.Type.getInternalType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
aastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 6: aload 0
invokestatic jdk.nashorn.internal.codegen.types.Type.getInternalType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
aload 2
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 returnType Ljava/lang/Class<*>;
0 7 1 types [Ljava/lang/Class;
1 7 2 itypes [Ljdk/internal/org/objectweb/asm/Type;
2 6 3 i I
Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
returnType final
types final
public static char getShortSignatureDescriptor(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.codegen.types.BooleanType
ifeq 2
1: bipush 90
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.getBytecodeStackType:()C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
private static jdk.nashorn.internal.codegen.types.Type typeFor(jdk.internal.org.objectweb.asm.Type);
descriptor: (Ljdk/internal/org/objectweb/asm/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.internal.org.objectweb.asm.Type.getSort:()I
tableswitch { // 0 - 10
0: 8
1: 1
2: 15
3: 15
4: 15
5: 2
6: 15
7: 3
8: 4
9: 9
10: 5
default: 15
}
1: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
areturn
2: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
areturn
3: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.LONG:Ljdk/nashorn/internal/codegen/types/Type;
areturn
4: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.internal.org.objectweb.asm.Type.getClassName:()Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.Context.isStructureClass:(Ljava/lang/String;)Z
ifeq 7
6: getstatic jdk.nashorn.internal.codegen.types.Type.SCRIPT_OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
areturn
7: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.cacheByName:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokevirtual jdk.internal.org.objectweb.asm.Type.getClassName:()Ljava/lang/String;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/nashorn/internal/codegen/types/Type.lambda$0(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type; (6)
(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
invokeinterface java.util.concurrent.ConcurrentMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.types.Type
areturn
8: StackMap locals:
StackMap stack:
aconst_null
areturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.internal.org.objectweb.asm.Type.getElementType:()Ljdk/internal/org/objectweb/asm/Type;
invokevirtual jdk.internal.org.objectweb.asm.Type.getSort:()I
tableswitch { // 5 - 10
5: 11
6: 13
7: 12
8: 10
9: 13
10: 14
default: 13
}
10: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
areturn
11: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.INT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
areturn
12: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.LONG_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
areturn
13: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.$assertionsDisabled:Z
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
areturn
15: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.$assertionsDisabled:Z
ifne 16
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unknown itype : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " sort "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.internal.org.objectweb.asm.Type.getSort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 itype Ljdk/internal/org/objectweb/asm/Type;
MethodParameters:
Name Flags
itype final
public static jdk.nashorn.internal.codegen.types.Type getMethodReturnType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.org.objectweb.asm.Type.getReturnType:(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljdk/internal/org/objectweb/asm/Type;)Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 methodDescriptor Ljava/lang/String;
MethodParameters:
Name Flags
methodDescriptor final
public static jdk.nashorn.internal.codegen.types.Type[] getMethodArguments(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.org.objectweb.asm.Type.getArgumentTypes:(Ljava/lang/String;)[Ljdk/internal/org/objectweb/asm/Type;
astore 1
start local 1 1: aload 1
arraylength
anewarray jdk.nashorn.internal.codegen.types.Type
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: jdk.internal.org.objectweb.asm.Type[] jdk.nashorn.internal.codegen.types.Type[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljdk/internal/org/objectweb/asm/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 methodDescriptor Ljava/lang/String;
1 8 1 itypes [Ljdk/internal/org/objectweb/asm/Type;
2 8 2 types [Ljdk/nashorn/internal/codegen/types/Type;
3 7 3 i I
MethodParameters:
Name Flags
methodDescriptor final
public static void writeTypeMap(java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type>, java.io.DataOutput);
descriptor: (Ljava/util/Map;Ljava/io/DataOutput;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: aload 1
iconst_0
invokeinterface java.io.DataOutput.writeInt:(I)V
2: goto 20
3: StackMap locals:
StackMap stack:
aload 1
aload 0
invokeinterface java.util.Map.size:()I
invokeinterface java.io.DataOutput.writeInt:(I)V
4: aload 0
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 19
StackMap locals: java.util.Map java.io.DataOutput top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 6: aload 1
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokeinterface java.io.DataOutput.writeInt:(I)V
7: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.types.Type
astore 5
start local 5 8: aload 5
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 11
9: bipush 76
istore 4
start local 4 10: goto 18
end local 4 StackMap locals: java.util.Map java.io.DataOutput java.util.Map$Entry java.util.Iterator top jdk.nashorn.internal.codegen.types.Type
StackMap stack:
11: aload 5
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
if_acmpne 14
12: bipush 68
istore 4
start local 4 13: goto 18
end local 4 StackMap locals:
StackMap stack:
14: aload 5
getstatic jdk.nashorn.internal.codegen.types.Type.LONG:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 17
15: bipush 74
istore 4
start local 4 16: goto 18
end local 4 17: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
start local 4 18: StackMap locals: java.util.Map java.io.DataOutput java.util.Map$Entry java.util.Iterator int jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 1
iload 4
invokeinterface java.io.DataOutput.writeByte:(I)V
end local 5 end local 4 end local 2 19: StackMap locals: java.util.Map java.io.DataOutput top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
20: StackMap locals: java.util.Map java.io.DataOutput
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 typeMap Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
0 21 1 output Ljava/io/DataOutput;
6 19 2 e Ljava/util/Map$Entry<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
10 11 4 typeChar B
13 14 4 typeChar B
16 17 4 typeChar B
18 19 4 typeChar B
8 19 5 type Ljdk/nashorn/internal/codegen/types/Type;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;Ljava/io/DataOutput;)V
MethodParameters:
Name Flags
typeMap final
output final
public static java.util.Map<java.lang.Integer, jdk.nashorn.internal.codegen.types.Type> readTypeMap(java.io.DataInput);
descriptor: (Ljava/io/DataInput;)Ljava/util/Map;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokeinterface java.io.DataInput.readInt:()I
istore 1
start local 1 1: iload 1
ifgt 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 18
6: StackMap locals: java.util.Map int
StackMap stack:
aload 0
invokeinterface java.io.DataInput.readInt:()I
istore 4
start local 4 7: aload 0
invokeinterface java.io.DataInput.readByte:()B
istore 5
start local 5 8: iload 5
lookupswitch { // 3
68: 11
74: 13
76: 9
default: 15
}
9: StackMap locals: int int
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 10: goto 16
end local 6 11: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
astore 6
start local 6 12: goto 16
end local 6 13: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.LONG:Ljdk/nashorn/internal/codegen/types/Type;
astore 6
start local 6 14: goto 16
end local 6 15: StackMap locals:
StackMap stack:
goto 17
start local 6 16: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 2
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 5 end local 4 17: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
iload 1
if_icmplt 6
end local 3 19: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 input Ljava/io/DataInput;
1 20 1 size I
4 20 2 map Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
5 19 3 i I
7 17 4 pp I
8 17 5 typeChar I
10 11 6 type Ljdk/nashorn/internal/codegen/types/Type;
12 13 6 type Ljdk/nashorn/internal/codegen/types/Type;
14 15 6 type Ljdk/nashorn/internal/codegen/types/Type;
16 17 6 type Ljdk/nashorn/internal/codegen/types/Type;
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/DataInput;)Ljava/util/Map<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/types/Type;>;
MethodParameters:
Name Flags
input final
static jdk.internal.org.objectweb.asm.Type getInternalType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 className Ljava/lang/String;
MethodParameters:
Name Flags
className final
private jdk.internal.org.objectweb.asm.Type getInternalType();
descriptor: ()Ljdk/internal/org/objectweb/asm/Type;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.internalType:Ljdk/internal/org/objectweb/asm/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
private static jdk.internal.org.objectweb.asm.Type lookupInternalType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic jdk.nashorn.internal.codegen.types.Type.INTERNAL_TYPE_CACHE:Ljava/util/Map;
astore 1
start local 1 1: aload 1
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.org.objectweb.asm.Type
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: java.util.Map jdk.internal.org.objectweb.asm.Type
StackMap stack:
aload 0
invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
astore 2
5: aload 1
aload 0
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 type Ljava/lang/Class<*>;
1 7 1 c Ljava/util/Map<Ljava/lang/Class<*>;Ljdk/internal/org/objectweb/asm/Type;>;
2 7 2 itype Ljdk/internal/org/objectweb/asm/Type;
Signature: (Ljava/lang/Class<*>;)Ljdk/internal/org/objectweb/asm/Type;
MethodParameters:
Name Flags
type final
private static jdk.internal.org.objectweb.asm.Type getInternalType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.nashorn.internal.codegen.types.Type.lookupInternalType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/internal/org/objectweb/asm/Type;
MethodParameters:
Name Flags
type final
static void invokestatic(jdk.internal.org.objectweb.asm.MethodVisitor, jdk.nashorn.internal.codegen.CompilerConstants$Call);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
sipush 184
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.className:()Ljava/lang/String;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.name:()Ljava/lang/String;
aload 1
invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.descriptor:()Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 2 1 call Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
MethodParameters:
Name Flags
method final
call final
public java.lang.String getInternalName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public static java.lang.String getInternalName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.org.objectweb.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz final
public boolean isUnknown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isJSPrimitive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 1
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isString:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isBoolean();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isInteger();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isLong();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.LONG:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isNumber();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isNumeric();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.codegen.types.NumericType
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isArray();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.codegen.types.ArrayType
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isCategory2();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
iconst_2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isObject();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.codegen.types.ObjectType
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isPrimitive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isString();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.STRING:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isCharSequence();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.codegen.types.Type.CHARSEQUENCE:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public boolean isEquivalentTo(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmpeq 2
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 1
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 3 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
public static boolean isAssignableFrom(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 3
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 3
1: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmplt 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmpne 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 type0 Ljdk/nashorn/internal/codegen/types/Type;
0 5 1 type1 Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type0 final
type1 final
public boolean isAssignableFrom(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.isAssignableFrom:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 1 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
public static boolean areEquivalent(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isEquivalentTo:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type0 Ljdk/nashorn/internal/codegen/types/Type;
0 1 1 type1 Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type0 final
type1 final
public int getSlots();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.slots:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public static jdk.nashorn.internal.codegen.types.Type widest(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isArray:()Z
ifeq 4
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isArray:()Z
ifeq 4
1: aload 0
checkcast jdk.nashorn.internal.codegen.types.ArrayType
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.getElementType:()Ljdk/nashorn/internal/codegen/types/Type;
aload 1
checkcast jdk.nashorn.internal.codegen.types.ArrayType
invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.getElementType:()Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 2
aload 0
goto 3
StackMap locals:
StackMap stack:
2: getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isArray:()Z
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isArray:()Z
if_icmpeq 6
5: getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 8
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 8
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
if_acmpeq 8
7: getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmple 9
aload 0
goto 10
StackMap locals:
StackMap stack:
9: aload 1
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
10: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 type0 Ljdk/nashorn/internal/codegen/types/Type;
0 11 1 type1 Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type0 final
type1 final
public static java.lang.Class<?> widest(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.types.Type.widest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type0 Ljava/lang/Class<*>;
0 1 1 type1 Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
type0 final
type1 final
public static jdk.nashorn.internal.codegen.types.Type widestReturnType(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isUnknown:()Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isUnknown:()Z
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
if_icmpne 5
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isNumeric:()Z
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isNumeric:()Z
if_icmpeq 6
5: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.widest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 t1 Ljdk/nashorn/internal/codegen/types/Type;
0 7 1 t2 Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
t1 final
t2 final
public static jdk.nashorn.internal.codegen.types.Type generic(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
ifeq 1
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
public static jdk.nashorn.internal.codegen.types.Type narrowest(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.narrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifeq 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type0 Ljdk/nashorn/internal/codegen/types/Type;
0 3 1 type1 Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type0 final
type1 final
public boolean narrowerThan(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 2 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
public boolean widerThan(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 2 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
public static jdk.nashorn.internal.codegen.types.Type widest(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.widest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
astore 3
start local 3 1: aload 3
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmple 3
2: aload 2
areturn
3: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 type0 Ljdk/nashorn/internal/codegen/types/Type;
0 4 1 type1 Ljdk/nashorn/internal/codegen/types/Type;
0 4 2 limit Ljdk/nashorn/internal/codegen/types/Type;
1 4 3 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type0 final
type1 final
limit final
public static jdk.nashorn.internal.codegen.types.Type narrowest(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmpge 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.Type
2: astore 3
start local 3 3: aload 3
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
if_icmpge 5
4: aload 2
areturn
5: StackMap locals: jdk.nashorn.internal.codegen.types.Type
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 type0 Ljdk/nashorn/internal/codegen/types/Type;
0 6 1 type1 Ljdk/nashorn/internal/codegen/types/Type;
0 6 2 limit Ljdk/nashorn/internal/codegen/types/Type;
3 6 3 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type0 final
type1 final
limit final
public jdk.nashorn.internal.codegen.types.Type narrowest(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.narrowest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 1 1 other Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
other final
public jdk.nashorn.internal.codegen.types.Type widest(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.widest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 1 1 other Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
other final
int weight();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.weight:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public java.lang.String getDescriptor();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.descriptor:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public java.lang.String getShortDescriptor();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.descriptor:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public static jdk.nashorn.internal.codegen.types.Type typeFor(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.nashorn.internal.codegen.types.Type.cache:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/nashorn/internal/codegen/types/Type.lambda$1(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type; (6)
(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
invokeinterface java.util.concurrent.ConcurrentMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.codegen.types.Type
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
clazz final
public int compareTo(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.weight:()I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 1 1 o Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
o final
public jdk.nashorn.internal.codegen.types.Type dup(jdk.internal.org.objectweb.asm.MethodVisitor, int);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;I)Ljdk/nashorn/internal/codegen/types/Type;
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
iload 2
invokestatic jdk.nashorn.internal.codegen.types.Type.dup:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 1 1 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 1 2 depth I
MethodParameters:
Name Flags
method final
depth final
public jdk.nashorn.internal.codegen.types.Type swap(jdk.internal.org.objectweb.asm.MethodVisitor, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
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
invokestatic jdk.nashorn.internal.codegen.types.Type.swap:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 2 1 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 2 2 other Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
method final
other final
public jdk.nashorn.internal.codegen.types.Type pop(jdk.internal.org.objectweb.asm.MethodVisitor);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokestatic jdk.nashorn.internal.codegen.types.Type.pop:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 2 1 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
MethodParameters:
Name Flags
method final
public jdk.nashorn.internal.codegen.types.Type loadEmpty(jdk.internal.org.objectweb.asm.MethodVisitor);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.codegen.types.Type.$assertionsDisabled:Z
ifne 1
new java.lang.AssertionError
dup
ldc "unsupported operation"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/codegen/types/Type;
0 2 1 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
MethodParameters:
Name Flags
method final
protected static void pop(jdk.internal.org.objectweb.asm.MethodVisitor, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
ifeq 1
bipush 88
goto 2
StackMap locals:
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor
1: bipush 87
StackMap locals: jdk.internal.org.objectweb.asm.MethodVisitor jdk.nashorn.internal.codegen.types.Type
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor int
2: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 4 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
method final
type final
private static jdk.nashorn.internal.codegen.types.Type dup(jdk.internal.org.objectweb.asm.MethodVisitor, jdk.nashorn.internal.codegen.types.Type, int);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
istore 3
start local 3 1: iload 2
tableswitch { // 0 - 2
0: 2
1: 6
2: 10
default: 14
}
2: StackMap locals: int
StackMap stack:
aload 0
iload 3
ifeq 3
bipush 92
goto 4
StackMap locals:
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor
3: bipush 89
StackMap locals: jdk.internal.org.objectweb.asm.MethodVisitor jdk.nashorn.internal.codegen.types.Type int int
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor int
4: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
5: goto 15
6: StackMap locals:
StackMap stack:
aload 0
iload 3
ifeq 7
bipush 93
goto 8
StackMap locals:
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor
7: bipush 90
StackMap locals: jdk.internal.org.objectweb.asm.MethodVisitor jdk.nashorn.internal.codegen.types.Type int int
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor int
8: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
9: goto 15
10: StackMap locals:
StackMap stack:
aload 0
iload 3
ifeq 11
bipush 94
goto 12
StackMap locals:
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor
11: bipush 91
StackMap locals: jdk.internal.org.objectweb.asm.MethodVisitor jdk.nashorn.internal.codegen.types.Type int int
StackMap stack: jdk.internal.org.objectweb.asm.MethodVisitor int
12: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
13: goto 15
14: StackMap locals:
StackMap stack:
aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 16 1 type Ljdk/nashorn/internal/codegen/types/Type;
0 16 2 depth I
1 16 3 cat2 Z
MethodParameters:
Name Flags
method final
type final
depth final
private static void swap(jdk.internal.org.objectweb.asm.MethodVisitor, jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
ifeq 8
1: aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
ifeq 5
2: aload 0
bipush 94
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
3: aload 0
bipush 88
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
4: goto 13
5: StackMap locals:
StackMap stack:
aload 0
bipush 91
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
6: aload 0
bipush 87
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
7: goto 13
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
ifeq 12
9: aload 0
bipush 93
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
10: aload 0
bipush 88
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
bipush 95
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 method Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 14 1 above Ljdk/nashorn/internal/codegen/types/Type;
0 14 2 below Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
method final
above final
below final
private static <T extends jdk.nashorn.internal.codegen.types.Type> T putInCache();
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.nashorn.internal.codegen.types.Type.cache:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type TT;
Signature: <T:Ljdk/nashorn/internal/codegen/types/Type;>(TT;)TT;
MethodParameters:
Name Flags
type final
protected final java.lang.Object readResolve();
descriptor: ()Ljava/lang/Object;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.codegen.types.Type.clazz:Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/types/Type;
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast jdk.nashorn.internal.codegen.types.Type
invokevirtual jdk.nashorn.internal.codegen.types.Type.compareTo:(Ljdk/nashorn/internal/codegen/types/Type;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static jdk.nashorn.internal.codegen.types.Type lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 1
start local 1 3: new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
3 4 1 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassNotFoundException
private static jdk.nashorn.internal.codegen.types.Type lambda$1(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.nashorn.internal.codegen.types.Type.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 1
aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 2
new jdk.nashorn.internal.codegen.types.ArrayType
dup
aload 0
invokespecial jdk.nashorn.internal.codegen.types.ArrayType.<init>:(Ljava/lang/Class;)V
goto 3
StackMap locals:
StackMap stack:
2: new jdk.nashorn.internal.codegen.types.ObjectType
dup
aload 0
invokespecial jdk.nashorn.internal.codegen.types.ObjectType.<init>:(Ljava/lang/Class;)V
StackMap locals:
StackMap stack: jdk.nashorn.internal.codegen.types.ObjectType
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 keyClass Ljava/lang/Class<*>;
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Ljdk/nashorn/internal/codegen/types/Type;>;Ljdk/nashorn/internal/codegen/types/BytecodeOps;Ljava/io/Serializable;
SourceFile: "Type.java"
NestMembers:
jdk.nashorn.internal.codegen.types.Type$1 jdk.nashorn.internal.codegen.types.Type$2 jdk.nashorn.internal.codegen.types.Type$3 jdk.nashorn.internal.codegen.types.Type$4 jdk.nashorn.internal.codegen.types.Type$5 jdk.nashorn.internal.codegen.types.Type$6 jdk.nashorn.internal.codegen.types.Type$7 jdk.nashorn.internal.codegen.types.Type$Unknown jdk.nashorn.internal.codegen.types.Type$ValueLessType
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants
jdk.nashorn.internal.codegen.types.Type$1
jdk.nashorn.internal.codegen.types.Type$2
jdk.nashorn.internal.codegen.types.Type$3
jdk.nashorn.internal.codegen.types.Type$4
jdk.nashorn.internal.codegen.types.Type$5
jdk.nashorn.internal.codegen.types.Type$6
jdk.nashorn.internal.codegen.types.Type$7
private abstract Unknown = jdk.nashorn.internal.codegen.types.Type$Unknown of jdk.nashorn.internal.codegen.types.Type
private abstract ValueLessType = jdk.nashorn.internal.codegen.types.Type$ValueLessType of jdk.nashorn.internal.codegen.types.Type