class io.vertx.ext.mail.impl.MultilineParser$1 implements io.vertx.core.Handler<io.vertx.core.buffer.Buffer>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.ext.mail.impl.MultilineParser$1
super_class: java.lang.Object
{
final io.vertx.ext.mail.impl.MultilineParser this$0;
descriptor: Lio/vertx/ext/mail/impl/MultilineParser;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final io.vertx.core.Handler val$output;
descriptor: Lio/vertx/core/Handler;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(io.vertx.ext.mail.impl.MultilineParser, io.vertx.core.Handler);
descriptor: (Lio/vertx/ext/mail/impl/MultilineParser;Lio/vertx/core/Handler;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
aload 0
aload 2
putfield io.vertx.ext.mail.impl.MultilineParser$1.val$output:Lio/vertx/core/Handler;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/mail/impl/MultilineParser$1;
MethodParameters:
Name Flags
this$0 final
val$output final
public void handle(io.vertx.core.buffer.Buffer);
descriptor: (Lio/vertx/core/buffer/Buffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.initialized:Z
ifne 10
1: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
iconst_1
putfield io.vertx.ext.mail.impl.MultilineParser.initialized:Z
2: aload 1
invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
astore 2
start local 2 3: aload 2
ldc "\r"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
4: getstatic io.vertx.ext.mail.impl.MultilineParser.log:Lio/vertx/core/impl/logging/Logger;
ldc "setting crlf line mode"
invokeinterface io.vertx.core.impl.logging.Logger.debug:(Ljava/lang/Object;)V
5: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.rp:Lio/vertx/core/parsetools/RecordParser;
ldc "\r\n"
invokeinterface io.vertx.core.parsetools.RecordParser.delimitedMode:(Ljava/lang/String;)V
6: aload 0
aload 2
iconst_0
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
invokevirtual io.vertx.ext.mail.impl.MultilineParser$1.appendOrHandle:(Lio/vertx/core/buffer/Buffer;)V
7: goto 11
8: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.ext.mail.impl.MultilineParser$1.appendOrHandle:(Lio/vertx/core/buffer/Buffer;)V
end local 2 9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.ext.mail.impl.MultilineParser$1.appendOrHandle:(Lio/vertx/core/buffer/Buffer;)V
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/mail/impl/MultilineParser$1;
0 12 1 buffer Lio/vertx/core/buffer/Buffer;
3 9 2 line Ljava/lang/String;
MethodParameters:
Name Flags
buffer final
private void appendOrHandle(io.vertx.core.buffer.Buffer);
descriptor: (Lio/vertx/core/buffer/Buffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
ifnonnull 2
1: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
invokestatic io.vertx.core.buffer.Buffer.buffer:()Lio/vertx/core/buffer/Buffer;
putfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
aload 1
invokeinterface io.vertx.core.buffer.Buffer.appendBuffer:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/buffer/Buffer;
pop
3: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
aload 1
invokevirtual io.vertx.ext.mail.impl.MultilineParser.isFinalLine:(Lio/vertx/core/buffer/Buffer;)Z
ifeq 18
4: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
dup
getfield io.vertx.ext.mail.impl.MultilineParser.actual:I
iconst_1
iadd
putfield io.vertx.ext.mail.impl.MultilineParser.actual:I
5: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.actual:I
aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.expected:I
if_icmpge 8
6: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
ldc "\r\n"
invokeinterface io.vertx.core.buffer.Buffer.appendString:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
pop
7: goto 19
StackMap locals:
StackMap stack:
8: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.actual:I
aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.expected:I
if_icmpne 19
9: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.val$output:Lio/vertx/core/Handler;
aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
10: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 2
12: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
aconst_null
putfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
13: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
iconst_0
putfield io.vertx.ext.mail.impl.MultilineParser.actual:I
14: aload 2
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
aconst_null
putfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
16: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
iconst_0
putfield io.vertx.ext.mail.impl.MultilineParser.actual:I
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
getfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
ldc "\n"
invokeinterface io.vertx.core.buffer.Buffer.appendString:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
pop
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/vertx/ext/mail/impl/MultilineParser$1;
0 20 1 buffer Lio/vertx/core/buffer/Buffer;
Exception table:
from to target type
9 11 11 any
MethodParameters:
Name Flags
buffer final
public void handle(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.vertx.core.buffer.Buffer
invokevirtual io.vertx.ext.mail.impl.MultilineParser$1.handle:(Lio/vertx/core/buffer/Buffer;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/vertx/core/buffer/Buffer;>;
SourceFile: "MultilineParser.java"
EnclosingMethod: io.vertx.ext.mail.impl.MultilineParser.<init>:(Lio/vertx/core/Handler;)V
NestHost: io.vertx.ext.mail.impl.MultilineParser
InnerClasses:
io.vertx.ext.mail.impl.MultilineParser$1