public final class org.apache.commons.lang.math.NumberRange extends org.apache.commons.lang.math.Range implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.commons.lang.math.NumberRange
super_class: org.apache.commons.lang.math.Range
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 71849363892710
private final java.lang.Number min;
descriptor: Ljava/lang/Number;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Number max;
descriptor: Ljava/lang/Number;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private transient int hashCode;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.lang.String toString;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
public void <init>(java.lang.Number);
descriptor: (Ljava/lang/Number;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.apache.commons.lang.math.Range.<init>:()V
1: aload 0
iconst_0
putfield org.apache.commons.lang.math.NumberRange.hashCode:I
2: aload 0
aconst_null
putfield org.apache.commons.lang.math.NumberRange.toString:Ljava/lang/String;
3: aload 1
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "The number must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.apache.commons.lang.math.NumberRange java.lang.Number
StackMap stack:
aload 1
instanceof java.lang.Comparable
ifne 7
6: new java.lang.IllegalArgumentException
dup
ldc "The number must implement Comparable"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Double
ifeq 9
aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.isNaN:()Z
ifeq 9
8: new java.lang.IllegalArgumentException
dup
ldc "The number must not be NaN"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Float
ifeq 11
aload 1
checkcast java.lang.Float
invokevirtual java.lang.Float.isNaN:()Z
ifeq 11
10: new java.lang.IllegalArgumentException
dup
ldc "The number must not be NaN"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
12: aload 0
aload 1
putfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/commons/lang/math/NumberRange;
0 14 1 num Ljava/lang/Number;
MethodParameters:
Name Flags
num
public void <init>(java.lang.Number, java.lang.Number);
descriptor: (Ljava/lang/Number;Ljava/lang/Number;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.apache.commons.lang.math.Range.<init>:()V
1: aload 0
iconst_0
putfield org.apache.commons.lang.math.NumberRange.hashCode:I
2: aload 0
aconst_null
putfield org.apache.commons.lang.math.NumberRange.toString:Ljava/lang/String;
3: aload 1
ifnull 4
aload 2
ifnonnull 5
4: StackMap locals: org.apache.commons.lang.math.NumberRange java.lang.Number java.lang.Number
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "The numbers must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 7
6: new java.lang.IllegalArgumentException
dup
ldc "The numbers must be of the same type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Comparable
ifne 9
8: new java.lang.IllegalArgumentException
dup
ldc "The numbers must implement Comparable"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Double
ifeq 12
10: aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.isNaN:()Z
ifne 11
aload 2
checkcast java.lang.Double
invokevirtual java.lang.Double.isNaN:()Z
ifeq 15
11: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "The number must not be NaN"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Float
ifeq 15
13: aload 1
checkcast java.lang.Float
invokevirtual java.lang.Float.isNaN:()Z
ifne 14
aload 2
checkcast java.lang.Float
invokevirtual java.lang.Float.isNaN:()Z
ifeq 15
14: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "The number must not be NaN"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Comparable
aload 2
invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
istore 3
start local 3 16: iload 3
ifne 20
17: aload 0
aload 1
putfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
18: aload 0
aload 1
putfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
19: goto 26
StackMap locals: int
StackMap stack:
20: iload 3
ifle 24
21: aload 0
aload 2
putfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
22: aload 0
aload 1
putfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
23: goto 26
24: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
25: aload 0
aload 2
putfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
26: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/apache/commons/lang/math/NumberRange;
0 27 1 num1 Ljava/lang/Number;
0 27 2 num2 Ljava/lang/Number;
16 27 3 compare I
MethodParameters:
Name Flags
num1
num2
public java.lang.Number getMinimumNumber();
descriptor: ()Ljava/lang/Number;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/NumberRange;
public java.lang.Number getMaximumNumber();
descriptor: ()Ljava/lang/Number;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/NumberRange;
public boolean containsNumber(java.lang.Number);
descriptor: (Ljava/lang/Number;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
getfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "The number must be of the same type as the range numbers"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
checkcast java.lang.Comparable
aload 1
invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
istore 2
start local 2 5: aload 0
getfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
checkcast java.lang.Comparable
aload 1
invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
istore 3
start local 3 6: iload 2
ifgt 7
iload 3
iflt 7
iconst_1
ireturn
StackMap locals: int int
StackMap stack:
7: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/commons/lang/math/NumberRange;
0 8 1 number Ljava/lang/Number;
5 8 2 compareMin I
6 8 3 compareMax I
MethodParameters:
Name Flags
number
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.apache.commons.lang.math.NumberRange
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.commons.lang.math.NumberRange
astore 2
start local 2 5: aload 0
getfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
aload 2
getfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
aload 0
getfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
aload 2
getfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
iconst_1
ireturn
StackMap locals: org.apache.commons.lang.math.NumberRange
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/commons/lang/math/NumberRange;
0 7 1 obj Ljava/lang/Object;
5 7 2 range Lorg/apache/commons/lang/math/NumberRange;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.lang.math.NumberRange.hashCode:I
ifne 5
1: aload 0
bipush 17
putfield org.apache.commons.lang.math.NumberRange.hashCode:I
2: aload 0
bipush 37
aload 0
getfield org.apache.commons.lang.math.NumberRange.hashCode:I
imul
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Object.hashCode:()I
iadd
putfield org.apache.commons.lang.math.NumberRange.hashCode:I
3: aload 0
bipush 37
aload 0
getfield org.apache.commons.lang.math.NumberRange.hashCode:I
imul
aload 0
getfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
invokevirtual java.lang.Object.hashCode:()I
iadd
putfield org.apache.commons.lang.math.NumberRange.hashCode:I
4: aload 0
bipush 37
aload 0
getfield org.apache.commons.lang.math.NumberRange.hashCode:I
imul
aload 0
getfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
invokevirtual java.lang.Object.hashCode:()I
iadd
putfield org.apache.commons.lang.math.NumberRange.hashCode:I
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.lang.math.NumberRange.hashCode:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/commons/lang/math/NumberRange;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.lang.math.NumberRange.toString:Ljava/lang/String;
ifnonnull 8
1: new org.apache.commons.lang.text.StrBuilder
dup
bipush 32
invokespecial org.apache.commons.lang.text.StrBuilder.<init>:(I)V
astore 1
start local 1 2: aload 1
ldc "Range["
invokevirtual org.apache.commons.lang.text.StrBuilder.append:(Ljava/lang/String;)Lorg/apache/commons/lang/text/StrBuilder;
pop
3: aload 1
aload 0
getfield org.apache.commons.lang.math.NumberRange.min:Ljava/lang/Number;
invokevirtual org.apache.commons.lang.text.StrBuilder.append:(Ljava/lang/Object;)Lorg/apache/commons/lang/text/StrBuilder;
pop
4: aload 1
bipush 44
invokevirtual org.apache.commons.lang.text.StrBuilder.append:(C)Lorg/apache/commons/lang/text/StrBuilder;
pop
5: aload 1
aload 0
getfield org.apache.commons.lang.math.NumberRange.max:Ljava/lang/Number;
invokevirtual org.apache.commons.lang.text.StrBuilder.append:(Ljava/lang/Object;)Lorg/apache/commons/lang/text/StrBuilder;
pop
6: aload 1
bipush 93
invokevirtual org.apache.commons.lang.text.StrBuilder.append:(C)Lorg/apache/commons/lang/text/StrBuilder;
pop
7: aload 0
aload 1
invokevirtual org.apache.commons.lang.text.StrBuilder.toString:()Ljava/lang/String;
putfield org.apache.commons.lang.math.NumberRange.toString:Ljava/lang/String;
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.lang.math.NumberRange.toString:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/commons/lang/math/NumberRange;
2 8 1 buf Lorg/apache/commons/lang/text/StrBuilder;
}
SourceFile: "NumberRange.java"