public class org.joda.time.field.FieldUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.joda.time.field.FieldUtils
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/joda/time/field/FieldUtils;
public static int safeNegate(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
ldc -2147483648
if_icmpne 2
1: new java.lang.ArithmeticException
dup
ldc "Integer.MIN_VALUE cannot be negated"
invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 0
ineg
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value I
MethodParameters:
Name Flags
value
public static int safeAdd(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iload 0
iload 1
iadd
istore 2
start local 2 1: iload 0
iload 2
ixor
ifge 5
iload 0
iload 1
ixor
iflt 5
2: new java.lang.ArithmeticException
dup
3: new java.lang.StringBuilder
dup
ldc "The calculation caused an overflow: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " + "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 val1 I
0 6 1 val2 I
1 6 2 sum I
MethodParameters:
Name Flags
val1
val2
public static long safeAdd(long, long);
descriptor: (JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 2 0: lload 0
lload 2
ladd
lstore 4
start local 4 1: lload 0
lload 4
lxor
lconst_0
lcmp
ifge 5
lload 0
lload 2
lxor
lconst_0
lcmp
iflt 5
2: new java.lang.ArithmeticException
dup
3: new java.lang.StringBuilder
dup
ldc "The calculation caused an overflow: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " + "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: long
StackMap stack:
lload 4
lreturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 val1 J
0 6 2 val2 J
1 6 4 sum J
MethodParameters:
Name Flags
val1
val2
public static long safeSubtract(long, long);
descriptor: (JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 2 0: lload 0
lload 2
lsub
lstore 4
start local 4 1: lload 0
lload 4
lxor
lconst_0
lcmp
ifge 5
lload 0
lload 2
lxor
lconst_0
lcmp
ifge 5
2: new java.lang.ArithmeticException
dup
3: new java.lang.StringBuilder
dup
ldc "The calculation caused an overflow: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: long
StackMap stack:
lload 4
lreturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 val1 J
0 6 2 val2 J
1 6 4 diff J
MethodParameters:
Name Flags
val1
val2
public static int safeMultiply(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iload 0
i2l
iload 1
i2l
lmul
lstore 2
start local 2 1: lload 2
ldc -2147483648
lcmp
iflt 2
lload 2
ldc 2147483647
lcmp
ifle 3
2: StackMap locals: long
StackMap stack:
new java.lang.ArithmeticException
dup
new java.lang.StringBuilder
dup
ldc "Multiplication overflows an int: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " * "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
lload 2
l2i
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 val1 I
0 4 1 val2 I
1 4 2 total J
MethodParameters:
Name Flags
val1
val2
public static long safeMultiply(long, int);
descriptor: (JI)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 2 0: iload 2
tableswitch { // -1 - 1
-1: 1
0: 4
1: 5
default: 6
}
1: StackMap locals:
StackMap stack:
lload 0
ldc -9223372036854775808
lcmp
ifne 3
2: new java.lang.ArithmeticException
dup
new java.lang.StringBuilder
dup
ldc "Multiplication overflows a long: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " * "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
lload 0
lneg
lreturn
4: StackMap locals:
StackMap stack:
lconst_0
lreturn
5: StackMap locals:
StackMap stack:
lload 0
lreturn
6: StackMap locals:
StackMap stack:
lload 0
iload 2
i2l
lmul
lstore 3
start local 3 7: lload 3
iload 2
i2l
ldiv
lload 0
lcmp
ifeq 9
8: new java.lang.ArithmeticException
dup
new java.lang.StringBuilder
dup
ldc "Multiplication overflows a long: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " * "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: long
StackMap stack:
lload 3
lreturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 val1 J
0 10 2 val2 I
7 10 3 total J
MethodParameters:
Name Flags
val1
val2
public static long safeMultiply(long, long);
descriptor: (JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 2 0: lload 2
lconst_1
lcmp
ifne 2
1: lload 0
lreturn
2: StackMap locals:
StackMap stack:
lload 0
lconst_1
lcmp
ifne 4
3: lload 2
lreturn
4: StackMap locals:
StackMap stack:
lload 0
lconst_0
lcmp
ifeq 5
lload 2
lconst_0
lcmp
ifne 6
5: StackMap locals:
StackMap stack:
lconst_0
lreturn
6: StackMap locals:
StackMap stack:
lload 0
lload 2
lmul
lstore 4
start local 4 7: lload 4
lload 2
ldiv
lload 0
lcmp
ifne 9
lload 0
ldc -9223372036854775808
lcmp
ifne 8
lload 2
ldc -1
lcmp
ifeq 9
StackMap locals: long
StackMap stack:
8: lload 2
ldc -9223372036854775808
lcmp
ifne 10
lload 0
ldc -1
lcmp
ifne 10
9: StackMap locals:
StackMap stack:
new java.lang.ArithmeticException
dup
new java.lang.StringBuilder
dup
ldc "Multiplication overflows a long: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " * "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
lload 4
lreturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 val1 J
0 11 2 val2 J
7 11 4 total J
MethodParameters:
Name Flags
val1
val2
public static long safeDivide(long, long);
descriptor: (JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 2 0: lload 0
ldc -9223372036854775808
lcmp
ifne 2
lload 2
ldc -1
lcmp
ifne 2
1: new java.lang.ArithmeticException
dup
new java.lang.StringBuilder
dup
ldc "Multiplication overflows a long: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
lload 0
lload 2
ldiv
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 dividend J
0 3 2 divisor J
MethodParameters:
Name Flags
dividend
divisor
public static long safeDivide(long, long, java.math.RoundingMode);
descriptor: (JJLjava/math/RoundingMode;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 2 start local 4 0: lload 0
ldc -9223372036854775808
lcmp
ifne 2
lload 2
ldc -1
lcmp
ifne 2
1: new java.lang.ArithmeticException
dup
new java.lang.StringBuilder
dup
ldc "Multiplication overflows a long: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.math.BigDecimal
dup
lload 0
invokespecial java.math.BigDecimal.<init>:(J)V
astore 5
start local 5 3: new java.math.BigDecimal
dup
lload 2
invokespecial java.math.BigDecimal.<init>:(J)V
astore 6
start local 6 4: aload 5
aload 6
aload 4
invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.longValue:()J
lreturn
end local 6 end local 5 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 dividend J
0 5 2 divisor J
0 5 4 roundingMode Ljava/math/RoundingMode;
3 5 5 dividendBigDecimal Ljava/math/BigDecimal;
4 5 6 divisorBigDecimal Ljava/math/BigDecimal;
MethodParameters:
Name Flags
dividend
divisor
roundingMode
public static int safeToInt(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: ldc -2147483648
lload 0
lcmp
ifgt 2
lload 0
ldc 2147483647
lcmp
ifgt 2
1: lload 0
l2i
ireturn
2: StackMap locals:
StackMap stack:
new java.lang.ArithmeticException
dup
new java.lang.StringBuilder
dup
ldc "Value cannot fit in an int: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArithmeticException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value J
MethodParameters:
Name Flags
value
public static int safeMultiplyToInt(long, long);
descriptor: (JJ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 2 0: lload 0
lload 2
invokestatic org.joda.time.field.FieldUtils.safeMultiply:(JJ)J
lstore 4
start local 4 1: lload 4
invokestatic org.joda.time.field.FieldUtils.safeToInt:(J)I
ireturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 val1 J
0 2 2 val2 J
1 2 4 val J
MethodParameters:
Name Flags
val1
val2
public static void verifyValueBounds(org.joda.time.DateTimeField, int, int, int);
descriptor: (Lorg/joda/time/DateTimeField;III)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
if_icmplt 1
iload 1
iload 3
if_icmple 5
1: StackMap locals:
StackMap stack:
new org.joda.time.IllegalFieldValueException
dup
2: aload 0
invokevirtual org.joda.time.DateTimeField.getType:()Lorg/joda/time/DateTimeFieldType;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
3: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
4: invokespecial org.joda.time.IllegalFieldValueException.<init>:(Lorg/joda/time/DateTimeFieldType;Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 field Lorg/joda/time/DateTimeField;
0 6 1 value I
0 6 2 lowerBound I
0 6 3 upperBound I
MethodParameters:
Name Flags
field
value
lowerBound
upperBound
public static void verifyValueBounds(org.joda.time.DateTimeFieldType, int, int, int);
descriptor: (Lorg/joda/time/DateTimeFieldType;III)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
if_icmplt 1
iload 1
iload 3
if_icmple 5
1: StackMap locals:
StackMap stack:
new org.joda.time.IllegalFieldValueException
dup
2: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
3: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
4: invokespecial org.joda.time.IllegalFieldValueException.<init>:(Lorg/joda/time/DateTimeFieldType;Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 fieldType Lorg/joda/time/DateTimeFieldType;
0 6 1 value I
0 6 2 lowerBound I
0 6 3 upperBound I
MethodParameters:
Name Flags
fieldType
value
lowerBound
upperBound
public static void verifyValueBounds(java.lang.String, int, int, int);
descriptor: (Ljava/lang/String;III)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
if_icmplt 1
iload 1
iload 3
if_icmple 5
1: StackMap locals:
StackMap stack:
new org.joda.time.IllegalFieldValueException
dup
2: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
3: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
4: invokespecial org.joda.time.IllegalFieldValueException.<init>:(Ljava/lang/String;Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 fieldName Ljava/lang/String;
0 6 1 value I
0 6 2 lowerBound I
0 6 3 upperBound I
MethodParameters:
Name Flags
fieldName
value
lowerBound
upperBound
public static int getWrappedValue(int, int, int, int);
descriptor: (IIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
iload 1
iadd
iload 2
iload 3
invokestatic org.joda.time.field.FieldUtils.getWrappedValue:(III)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 currentValue I
0 1 1 wrapValue I
0 1 2 minValue I
0 1 3 maxValue I
MethodParameters:
Name Flags
currentValue
wrapValue
minValue
maxValue
public static int getWrappedValue(int, int, int);
descriptor: (III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
if_icmplt 2
1: new java.lang.IllegalArgumentException
dup
ldc "MIN > MAX"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iload 1
isub
iconst_1
iadd
istore 3
start local 3 3: iload 0
iload 1
isub
istore 0
4: iload 0
iflt 6
5: iload 0
iload 3
irem
iload 1
iadd
ireturn
6: StackMap locals: int
StackMap stack:
iload 0
ineg
iload 3
irem
istore 4
start local 4 7: iload 4
ifne 9
8: iconst_0
iload 1
iadd
ireturn
9: StackMap locals: int
StackMap stack:
iload 3
iload 4
isub
iload 1
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 value I
0 10 1 minValue I
0 10 2 maxValue I
3 10 3 wrapRange I
7 10 4 remByRange I
MethodParameters:
Name Flags
value
minValue
maxValue
public static boolean equals(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)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
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ifnull 3
aload 1
ifnonnull 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 object1 Ljava/lang/Object;
0 5 1 object2 Ljava/lang/Object;
MethodParameters:
Name Flags
object1
object2
}
SourceFile: "FieldUtils.java"