final class java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator implements java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator
super_class: java.lang.Object
{
private final java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser printerParser;
descriptor: Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int padWidth;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final char padChar;
descriptor: C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser, int, char);
descriptor: (Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;IC)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.printerParser:Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
2: aload 0
iload 2
putfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padWidth:I
3: aload 0
iload 3
putfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padChar:C
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;
0 5 1 printerParser Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
0 5 2 padWidth I
0 5 3 padChar C
MethodParameters:
Name Flags
printerParser
padWidth
padChar
public boolean format(java.time.format.DateTimePrintContext, java.lang.StringBuilder);
descriptor: (Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.StringBuilder.length:()I
istore 3
start local 3 1: aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.printerParser:Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
aload 1
aload 2
invokeinterface java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser.format:(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.length:()I
iload 3
isub
istore 4
start local 4 4: iload 4
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padWidth:I
if_icmple 8
5: new java.time.DateTimeException
dup
6: new java.lang.StringBuilder
dup
ldc "Cannot print as output of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " characters exceeds pad width of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padWidth:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: int
StackMap stack:
iconst_0
istore 5
start local 5 9: goto 12
10: StackMap locals: int
StackMap stack:
aload 2
iload 3
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padChar:C
invokevirtual java.lang.StringBuilder.insert:(IC)Ljava/lang/StringBuilder;
pop
11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padWidth:I
iload 4
isub
if_icmplt 10
end local 5 13: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;
0 14 1 context Ljava/time/format/DateTimePrintContext;
0 14 2 buf Ljava/lang/StringBuilder;
1 14 3 preLen I
4 14 4 len I
9 13 5 i I
MethodParameters:
Name Flags
context
buf
public int parse(java.time.format.DateTimeParseContext, java.lang.CharSequence, int);
descriptor: (Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.time.format.DateTimeParseContext.isStrict:()Z
istore 4
start local 4 1: iload 3
aload 2
invokeinterface java.lang.CharSequence.length:()I
if_icmple 3
2: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
3: StackMap locals: int
StackMap stack:
iload 3
aload 2
invokeinterface java.lang.CharSequence.length:()I
if_icmpne 5
4: iload 3
iconst_m1
ixor
ireturn
5: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padWidth:I
iadd
istore 5
start local 5 6: iload 5
aload 2
invokeinterface java.lang.CharSequence.length:()I
if_icmple 10
7: iload 4
ifeq 9
8: iload 3
iconst_m1
ixor
ireturn
9: StackMap locals: int
StackMap stack:
aload 2
invokeinterface java.lang.CharSequence.length:()I
istore 5
10: StackMap locals:
StackMap stack:
iload 3
istore 6
start local 6 11: goto 13
12: StackMap locals: int
StackMap stack:
iinc 6 1
13: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmpge 14
aload 1
aload 2
iload 6
invokeinterface java.lang.CharSequence.charAt:(I)C
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padChar:C
invokevirtual java.time.format.DateTimeParseContext.charEquals:(CC)Z
ifne 12
14: StackMap locals:
StackMap stack:
aload 2
iconst_0
iload 5
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
astore 2
15: aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.printerParser:Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
aload 1
aload 2
iload 6
invokeinterface java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser.parse:(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
istore 7
start local 7 16: iload 7
iload 5
if_icmpeq 18
iload 4
ifeq 18
17: iload 3
iload 6
iadd
iconst_m1
ixor
ireturn
18: StackMap locals: int
StackMap stack:
iload 7
ireturn
end local 7 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 19 0 this Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;
0 19 1 context Ljava/time/format/DateTimeParseContext;
0 19 2 text Ljava/lang/CharSequence;
0 19 3 position I
1 19 4 strict Z
6 19 5 endPos I
11 19 6 pos I
16 19 7 resultPos I
MethodParameters:
Name Flags
context
text
position
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Pad("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.printerParser:Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;
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 java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padWidth:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padChar:C
bipush 32
if_icmpne 1
ldc ")"
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: new java.lang.StringBuilder
dup
ldc ",'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator.padChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "')"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator
StackMap stack: java.lang.StringBuilder java.lang.String
2: 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 3 0 this Ljava/time/format/DateTimeFormatterBuilder$PadPrinterParserDecorator;
}
SourceFile: "DateTimeFormatterBuilder.java"
NestHost: java.time.format.DateTimeFormatterBuilder
InnerClasses:
abstract DateTimePrinterParser = java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser of java.time.format.DateTimeFormatterBuilder
final PadPrinterParserDecorator = java.time.format.DateTimeFormatterBuilder$PadPrinterParserDecorator of java.time.format.DateTimeFormatterBuilder