public class org.jruby.util.TimeOutputFormatter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.util.TimeOutputFormatter
super_class: java.lang.Object
{
final java.lang.String format;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final int width;
descriptor: I
flags: (0x0010) ACC_FINAL
public static final org.jruby.util.TimeOutputFormatter DEFAULT_FORMATTER;
descriptor: Lorg/jruby/util/TimeOutputFormatter;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new org.jruby.util.TimeOutputFormatter
dup
ldc ""
iconst_0
invokespecial org.jruby.util.TimeOutputFormatter.<init>:(Ljava/lang/String;I)V
putstatic org.jruby.util.TimeOutputFormatter.DEFAULT_FORMATTER:Lorg/jruby/util/TimeOutputFormatter;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
2: aload 0
iload 2
putfield org.jruby.util.TimeOutputFormatter.width:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/util/TimeOutputFormatter;
0 4 1 format Ljava/lang/String;
0 4 2 width I
MethodParameters:
Name Flags
format
width
public static org.jruby.util.TimeOutputFormatter getFormatter(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/util/TimeOutputFormatter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iload 1
iconst_1
if_icmple 2
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 37
if_icmpeq 3
2: StackMap locals: int
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: iconst_1
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 17
8: StackMap locals: java.lang.String int int int int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 9: iload 6
lookupswitch { // 15
35: 10
45: 10
48: 10
49: 12
50: 12
51: 12
52: 12
53: 12
54: 12
55: 12
56: 12
57: 12
58: 10
94: 10
95: 10
default: 15
}
10: StackMap locals: int
StackMap stack:
iconst_1
istore 5
11: goto 16
12: StackMap locals:
StackMap stack:
iload 6
invokestatic java.lang.Character.getNumericValue:(C)I
istore 2
13: iconst_1
istore 4
14: goto 16
15: StackMap locals:
StackMap stack:
iconst_1
istore 4
end local 6 16: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
iload 1
if_icmpge 18
iload 4
ifeq 8
18: StackMap locals:
StackMap stack:
iload 2
ifne 19
iload 5
ifne 19
aconst_null
areturn
19: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmple 22
20: aload 0
iconst_1
iload 3
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 21: goto 23
end local 6 22: StackMap locals:
StackMap stack:
ldc ""
astore 6
start local 6 23: StackMap locals: java.lang.String
StackMap stack:
iload 2
ifne 25
iload 3
iconst_2
if_icmple 25
24: new org.jruby.util.TimeOutputFormatter
dup
aload 6
iconst_0
invokespecial org.jruby.util.TimeOutputFormatter.<init>:(Ljava/lang/String;I)V
areturn
25: StackMap locals:
StackMap stack:
iconst_0
istore 4
26: goto 35
27: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 28: iload 7
tableswitch { // 48 - 58
48: 29
49: 29
50: 29
51: 29
52: 29
53: 29
54: 29
55: 29
56: 29
57: 29
58: 31
default: 33
}
29: StackMap locals: int
StackMap stack:
bipush 10
iload 2
imul
iload 7
invokestatic java.lang.Character.getNumericValue:(C)I
iadd
istore 2
30: goto 34
31: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
32: goto 34
33: StackMap locals:
StackMap stack:
iconst_1
istore 4
end local 7 34: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
35: iload 3
iload 1
if_icmpge 36
iload 4
ifeq 27
36: StackMap locals:
StackMap stack:
iload 2
ifeq 38
37: new org.jruby.util.TimeOutputFormatter
dup
aload 6
iload 2
invokespecial org.jruby.util.TimeOutputFormatter.<init>:(Ljava/lang/String;I)V
areturn
38: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 pattern Ljava/lang/String;
1 39 1 length I
4 39 2 width I
5 39 3 i I
6 39 4 done Z
7 39 5 formatterFound Z
9 16 6 c C
21 22 6 format Ljava/lang/String;
23 39 6 format Ljava/lang/String;
28 34 7 c C
MethodParameters:
Name Flags
pattern
public java.lang.String getFormat();
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
aload 0
getfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.util.TimeOutputFormatter.width:I
ifle 1
aload 0
getfield org.jruby.util.TimeOutputFormatter.width:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: ldc ""
StackMap locals: org.jruby.util.TimeOutputFormatter
StackMap stack: java.lang.StringBuilder java.lang.Comparable
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/util/TimeOutputFormatter;
public int getNumberOfColons();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 58
if_icmpne 5
4: iinc 1 1
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 2 7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/util/TimeOutputFormatter;
1 8 1 colons I
2 7 2 i I
public int getWidth(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
ldc "-"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.TimeOutputFormatter.width:I
ifeq 3
aload 0
getfield org.jruby.util.TimeOutputFormatter.width:I
goto 4
StackMap locals:
StackMap stack:
3: iload 1
StackMap locals:
StackMap stack: int
4: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/util/TimeOutputFormatter;
0 5 1 defaultWidth I
MethodParameters:
Name Flags
defaultWidth
public char getPadder(char);
descriptor: (C)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 10
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
iload 3
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 3
45: 8
48: 6
95: 4
default: 9
}
4: StackMap locals:
StackMap stack:
bipush 32
istore 2
5: goto 9
6: StackMap locals:
StackMap stack:
bipush 48
istore 2
7: goto 9
8: StackMap locals:
StackMap stack:
iconst_0
istore 2
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 0
getfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 3 11: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/util/TimeOutputFormatter;
0 12 1 defaultPadder C
1 12 2 padder C
2 11 3 i I
MethodParameters:
Name Flags
defaultPadder
public java.lang.String format(java.lang.String, long, org.jruby.util.RubyDateFormat$FieldType);
descriptor: (Ljava/lang/String;JLorg/jruby/util/RubyDateFormat$FieldType;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 4
getfield org.jruby.util.RubyDateFormat$FieldType.defaultWidth:I
invokevirtual org.jruby.util.TimeOutputFormatter.getWidth:(I)I
istore 5
start local 5 1: aload 0
aload 4
getfield org.jruby.util.RubyDateFormat$FieldType.defaultPadder:C
invokevirtual org.jruby.util.TimeOutputFormatter.getPadder:(C)C
istore 6
start local 6 2: aload 1
ifnonnull 5
3: lload 2
iload 5
iload 6
invokestatic org.jruby.util.TimeOutputFormatter.formatNumber:(JIC)Ljava/lang/String;
astore 1
4: goto 6
5: StackMap locals: int int
StackMap stack:
aload 1
iload 5
iload 6
invokestatic org.jruby.util.TimeOutputFormatter.padding:(Ljava/lang/String;IC)Ljava/lang/String;
astore 1
6: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 7: goto 17
8: StackMap locals: int
StackMap stack:
aload 0
getfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
iload 7
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 2
35: 11
94: 9
default: 16
}
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 1
10: goto 16
11: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 12: iload 8
invokestatic java.lang.Character.isLowerCase:(C)Z
ifeq 15
13: aload 1
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 1
14: goto 16
15: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 1
end local 8 16: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
aload 0
getfield org.jruby.util.TimeOutputFormatter.format:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 8
end local 7 18: aload 1
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/jruby/util/TimeOutputFormatter;
0 19 1 sequence Ljava/lang/String;
0 19 2 value J
0 19 4 type Lorg/jruby/util/RubyDateFormat$FieldType;
1 19 5 width I
2 19 6 padder C
7 18 7 i I
12 16 8 last C
MethodParameters:
Name Flags
sequence
value
type
static java.lang.String formatNumber(long, int, char);
descriptor: (JIC)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 2 start local 3 0: lload 0
lconst_0
lcmp
ifge 1
iload 3
bipush 48
if_icmpeq 2
1: StackMap locals:
StackMap stack:
lload 0
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
iload 2
iload 3
invokestatic org.jruby.util.TimeOutputFormatter.padding:(Ljava/lang/String;IC)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
lneg
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
iload 2
iconst_1
isub
iload 3
invokestatic org.jruby.util.TimeOutputFormatter.padding:(Ljava/lang/String;IC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value J
0 3 2 width I
0 3 3 padder C
MethodParameters:
Name Flags
value
width
padder
static java.lang.String formatSignedNumber(long, int, char);
descriptor: (JIC)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 2 start local 3 0: iload 3
bipush 48
if_icmpne 4
1: lload 0
lconst_0
lcmp
iflt 3
2: new java.lang.StringBuilder
dup
ldc "+"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
iload 2
iconst_1
isub
iload 3
invokestatic org.jruby.util.TimeOutputFormatter.padding:(Ljava/lang/String;IC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
lneg
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
iload 2
iconst_1
isub
iload 3
invokestatic org.jruby.util.TimeOutputFormatter.padding:(Ljava/lang/String;IC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
lload 0
lconst_0
lcmp
iflt 6
5: new java.lang.StringBuilder
dup
ldc "+"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 2
iload 3
invokestatic org.jruby.util.TimeOutputFormatter.padding:(Ljava/lang/String;IC)Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
lload 0
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
iload 2
iload 3
invokestatic org.jruby.util.TimeOutputFormatter.padding:(Ljava/lang/String;IC)Ljava/lang/String;
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 value J
0 7 2 width I
0 7 3 padder C
MethodParameters:
Name Flags
value
width
padder
static java.lang.String padding(java.lang.String, int, char);
descriptor: (Ljava/lang/String;IC)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.String.length:()I
iload 1
if_icmplt 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
iload 1
aload 0
invokevirtual java.lang.String.length:()I
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 3: aload 0
invokevirtual java.lang.String.length:()I
istore 4
start local 4 4: goto 7
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 3
iload 2
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 1
if_icmplt 5
end local 4 8: aload 3
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 sequence Ljava/lang/String;
0 10 1 width I
0 10 2 padder C
3 10 3 buf Ljava/lang/StringBuilder;
4 8 4 i I
MethodParameters:
Name Flags
sequence
width
padder
}
SourceFile: "TimeOutputFormatter.java"
InnerClasses:
final FieldType = org.jruby.util.RubyDateFormat$FieldType of org.jruby.util.RubyDateFormat
RuntimeVisibleAnnotations:
java.lang.Deprecated()