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/logging/Logger;
ldc "setting crlf line mode"
invokevirtual io.vertx.core.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=2, locals=2, 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 3
1: aload 0
getfield io.vertx.ext.mail.impl.MultilineParser$1.this$0:Lio/vertx/ext/mail/impl/MultilineParser;
aload 1
putfield io.vertx.ext.mail.impl.MultilineParser.result:Lio/vertx/core/buffer/Buffer;
2: goto 5
3: 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
4: 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
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.ext.mail.impl.MultilineParser$1.isFinalLine:(Lio/vertx/core/buffer/Buffer;)Z
ifeq 8
6: 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
7: 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;
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/mail/impl/MultilineParser$1;
0 9 1 buffer Lio/vertx/core/buffer/Buffer;
MethodParameters:
Name Flags
buffer final
private boolean isFinalLine(io.vertx.core.buffer.Buffer);
descriptor: (Lio/vertx/core/buffer/Buffer;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
astore 2
start local 2 1: getstatic io.vertx.ext.mail.impl.MultilineParser.STATUS_LINE_CONTINUE:Ljava/util/regex/Pattern;
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 2
iconst_0
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/mail/impl/MultilineParser$1;
0 4 1 buffer Lio/vertx/core/buffer/Buffer;
1 4 2 line Ljava/lang/String;
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