final class jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
super_class: java.lang.Object
{
final jdk.nashorn.internal.codegen.types.Type narrowest;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0010) ACC_FINAL
final jdk.nashorn.internal.codegen.types.Type widest;
descriptor: Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0010) ACC_FINAL
static final jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds UNBOUNDED;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds INT;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds NUMBER;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds OBJECT;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds BOOLEAN;
descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0018) 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=4, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/codegen/CodeGenerator;
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.CodeGenerator$TypeBounds.$assertionsDisabled:Z
3: new jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
dup
getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.<init>:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
putstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
4: getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.exact:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
putstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.INT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
5: getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.exact:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
putstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.NUMBER:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
6: getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.exact:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
putstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
7: getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.exact:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
putstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.BOOLEAN:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
return
LocalVariableTable:
Start End Slot Name Signature
static jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds exact(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
dup
aload 0
aload 0
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.<init>:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
void <init>(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;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.$assertionsDisabled:Z
ifne 3
aload 2
ifnull 2
aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpeq 2
aload 2
getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 3
StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
StackMap stack:
2: new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.$assertionsDisabled:Z
ifne 5
aload 1
ifnull 4
aload 1
getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 5
StackMap locals:
StackMap stack:
4: new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.$assertionsDisabled:Z
ifne 6
aload 1
aload 2
invokevirtual jdk.nashorn.internal.codegen.types.Type.widerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifeq 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " wider than "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.$assertionsDisabled:Z
ifne 7
aload 2
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.narrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
8: aload 0
aload 2
invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
putfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
0 10 1 narrowest Ljdk/nashorn/internal/codegen/types/Type;
0 10 2 widest Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
narrowest final
widest final
jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds notNarrowerThan(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
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;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
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;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.maybeNew:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
0 1 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds notWiderThan(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
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;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
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;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.maybeNew:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
0 1 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
boolean canBeNarrowerThan(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
aload 1
invokevirtual jdk.nashorn.internal.codegen.types.Type.narrowerThan:(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/CodeGenerator$TypeBounds;
0 1 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds maybeNew(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/CodeGenerator$TypeBounds;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 2
aload 2
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
if_acmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
dup
aload 1
aload 2
invokespecial jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.<init>:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
0 3 1 newNarrowest Ljdk/nashorn/internal/codegen/types/Type;
0 3 2 newWidest Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
newNarrowest final
newWidest final
jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds booleanToInt();
descriptor: ()Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.booleanToInt:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.booleanToInt:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.maybeNew:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds objectToNumber();
descriptor: ()Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.objectToNumber:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokestatic jdk.nashorn.internal.codegen.CodeGenerator.objectToNumber:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.maybeNew:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
jdk.nashorn.internal.codegen.types.Type within(jdk.nashorn.internal.codegen.types.Type);
descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.narrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifeq 2
1: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual jdk.nashorn.internal.codegen.types.Type.widerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
ifeq 4
3: aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
areturn
4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
0 5 1 type Ljdk/nashorn/internal/codegen/types/Type;
MethodParameters:
Name Flags
type final
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
}
SourceFile: "CodeGenerator.java"
NestHost: jdk.nashorn.internal.codegen.CodeGenerator
InnerClasses:
private final TypeBounds = jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds of jdk.nashorn.internal.codegen.CodeGenerator