class org.jvnet.mimepull.MIMEParser extends java.lang.Object implements java.lang.Iterable
{
private static final java.util.logging.Logger LOGGER;
private static final java.lang.String HEADER_ENCODING;
private static final int NO_LWSP;
private org.jvnet.mimepull.MIMEParser$STATE state;
private final java.io.InputStream in;
private final byte[] bndbytes;
private final int bl;
private final org.jvnet.mimepull.MIMEConfig config;
private final int[] bcs;
private final int[] gss;
private boolean parsed;
private boolean done;
private boolean eof;
private final int capacity;
private byte[] buf;
private int len;
private boolean bol;
static final boolean $assertionsDisabled;
void <init>(java.io.InputStream, java.lang.String, org.jvnet.mimepull.MIMEConfig)
{
byte[] v, v;
org.jvnet.mimepull.MIMEConfig v;
org.jvnet.mimepull.MIMEParser$STATE v;
org.jvnet.mimepull.MIMEParser v;
int[] v, v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
java.io.InputStream v;
v := @this: org.jvnet.mimepull.MIMEParser;
v := @parameter: java.io.InputStream;
v := @parameter: java.lang.String;
v := @parameter: org.jvnet.mimepull.MIMEConfig;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.jvnet.mimepull.MIMEParser$STATE: org.jvnet.mimepull.MIMEParser$STATE START_MESSAGE>;
v.<org.jvnet.mimepull.MIMEParser: org.jvnet.mimepull.MIMEParser$STATE state> = v;
v = newarray (int)[128];
v.<org.jvnet.mimepull.MIMEParser: int[] bcs> = v;
v.<org.jvnet.mimepull.MIMEParser: boolean done> = 0;
v.<org.jvnet.mimepull.MIMEParser: java.io.InputStream in> = v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("--\u0001");
v = staticinvoke <org.jvnet.mimepull.MIMEParser: byte[] getBytes(java.lang.String)>(v);
v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes> = v;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = lengthof v;
v.<org.jvnet.mimepull.MIMEParser: int bl> = v;
v.<org.jvnet.mimepull.MIMEParser: org.jvnet.mimepull.MIMEConfig config> = v;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = newarray (int)[v];
v.<org.jvnet.mimepull.MIMEParser: int[] gss> = v;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: void compileBoundaryPattern()>();
v = v.<org.jvnet.mimepull.MIMEConfig: int chunkSize>;
v = v + 2;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + 4;
v = v + 1000;
v.<org.jvnet.mimepull.MIMEParser: int capacity> = v;
v = v.<org.jvnet.mimepull.MIMEParser: int capacity>;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: void createBuf(int)>(v);
return;
}
public java.util.Iterator iterator()
{
org.jvnet.mimepull.MIMEParser v;
org.jvnet.mimepull.MIMEParser$MIMEEventIterator v;
v := @this: org.jvnet.mimepull.MIMEParser;
v = new org.jvnet.mimepull.MIMEParser$MIMEEventIterator;
specialinvoke v.<org.jvnet.mimepull.MIMEParser$MIMEEventIterator: void <init>(org.jvnet.mimepull.MIMEParser)>(v);
return v;
}
private org.jvnet.mimepull.InternetHeaders readHeaders()
{
org.jvnet.mimepull.MIMEParser v;
org.jvnet.mimepull.InternetHeaders v;
org.jvnet.mimepull.MIMEParser$LineInputStream v;
boolean v;
v := @this: org.jvnet.mimepull.MIMEParser;
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v != 0 goto label;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: void fillBuf()>();
label:
v = new org.jvnet.mimepull.InternetHeaders;
v = new org.jvnet.mimepull.MIMEParser$LineInputStream;
specialinvoke v.<org.jvnet.mimepull.MIMEParser$LineInputStream: void <init>(org.jvnet.mimepull.MIMEParser)>(v);
specialinvoke v.<org.jvnet.mimepull.InternetHeaders: void <init>(org.jvnet.mimepull.MIMEParser$LineInputStream)>(v);
return v;
}
private java.nio.ByteBuffer readBody()
{
byte[] v, v, v, v, v, v, v, v, v, v, v, v;
org.jvnet.mimepull.MIMEParser v;
byte v, v, v, v, v, v, v, v, v, v, v;
org.jvnet.mimepull.MIMEParser$STATE v, v, v;
java.lang.AssertionError v;
org.jvnet.mimepull.MIMEConfig v, v;
java.nio.ByteBuffer v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.jvnet.mimepull.MIMEParsingException v, v;
v := @this: org.jvnet.mimepull.MIMEParser;
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v != 0 goto label;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: void fillBuf()>();
label:
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: int match(byte[],int,int)>(v, 0, v);
v = (int) -1;
if v != v goto label;
v = <org.jvnet.mimepull.MIMEParser: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v != 0 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v.<org.jvnet.mimepull.MIMEParser: org.jvnet.mimepull.MIMEConfig config>;
v = v.<org.jvnet.mimepull.MIMEConfig: int chunkSize>;
if v >= v goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v == 0 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: org.jvnet.mimepull.MIMEConfig config>;
v = v.<org.jvnet.mimepull.MIMEConfig: int chunkSize>;
label:
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v == 0 goto label;
v.<org.jvnet.mimepull.MIMEParser: boolean done> = 1;
v = new org.jvnet.mimepull.MIMEParsingException;
specialinvoke v.<org.jvnet.mimepull.MIMEParsingException: void <init>(java.lang.String)>("Reached EOF, but there is no closing MIME boundary.");
throw v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
return v;
label:
v = v;
v = v.<org.jvnet.mimepull.MIMEParser: boolean bol>;
if v == 0 goto label;
if v == 0 goto label;
label:
if v <= 0 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v - 1;
v = v[v];
if v == 10 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v - 1;
v = v[v];
if v != 13 goto label;
label:
v = v - 1;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v - 1;
v = v[v];
if v != 10 goto label;
if v <= 1 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v - 2;
v = v[v];
if v != 13 goto label;
v = v - 1;
goto label;
label:
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = v - 1;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
return v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
if v >= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v[v];
if v != 45 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + 1;
v = v[v];
if v != 45 goto label;
v = <org.jvnet.mimepull.MIMEParser$STATE: org.jvnet.mimepull.MIMEParser$STATE END_PART>;
v.<org.jvnet.mimepull.MIMEParser: org.jvnet.mimepull.MIMEParser$STATE state> = v;
v.<org.jvnet.mimepull.MIMEParser: boolean done> = 1;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, 0);
return v;
label:
v = 0;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
if v >= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v[v];
if v == 32 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v[v];
if v != 9 goto label;
label:
v = v + 1;
v = v + 1;
goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
if v >= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v[v];
if v != 10 goto label;
v = <org.jvnet.mimepull.MIMEParser$STATE: org.jvnet.mimepull.MIMEParser$STATE END_PART>;
v.<org.jvnet.mimepull.MIMEParser: org.jvnet.mimepull.MIMEParser$STATE state> = v;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v - v;
v = v - v;
v = v - 1;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
return v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
if v >= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v[v];
if v != 13 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v + 1;
v = v[v];
if v != 10 goto label;
v = <org.jvnet.mimepull.MIMEParser$STATE: org.jvnet.mimepull.MIMEParser$STATE END_PART>;
v.<org.jvnet.mimepull.MIMEParser: org.jvnet.mimepull.MIMEParser$STATE state> = v;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v - v;
v = v - v;
v = v - 2;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
return v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
if v >= v goto label;
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = v - 1;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
return v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v == 0 goto label;
v.<org.jvnet.mimepull.MIMEParser: boolean done> = 1;
v = new org.jvnet.mimepull.MIMEParsingException;
specialinvoke v.<org.jvnet.mimepull.MIMEParsingException: void <init>(java.lang.String)>("Reached EOF, but there is no closing MIME boundary.");
throw v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
return v;
}
private java.nio.ByteBuffer adjustBuf(int, int)
{
byte[] v, v, v;
java.lang.AssertionError v, v, v;
java.nio.ByteBuffer v;
org.jvnet.mimepull.MIMEParser v;
int v, v, v, v;
boolean v, v, v;
v := @this: org.jvnet.mimepull.MIMEParser;
v := @parameter: int;
v := @parameter: int;
v = <org.jvnet.mimepull.MIMEParser: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <org.jvnet.mimepull.MIMEParser: boolean $assertionsDisabled>;
if v != 0 goto label;
if v >= 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <org.jvnet.mimepull.MIMEParser: boolean $assertionsDisabled>;
if v != 0 goto label;
if v >= 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: void createBuf(int)>(v);
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
v.<org.jvnet.mimepull.MIMEParser: int len> = v;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, 0, v);
return v;
}
private void createBuf(int)
{
byte[] v;
org.jvnet.mimepull.MIMEParser v;
int v, v, v;
v := @this: org.jvnet.mimepull.MIMEParser;
v := @parameter: int;
v = v.<org.jvnet.mimepull.MIMEParser: int capacity>;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = newarray (byte)[v];
v.<org.jvnet.mimepull.MIMEParser: byte[] buf> = v;
return;
}
private void skipPreamble()
{
byte[] v, v, v, v, v, v, v;
java.lang.Integer v;
org.jvnet.mimepull.MIMEParser v;
byte v, v, v, v, v, v;
org.jvnet.mimepull.MIMEConfig v;
boolean v, v, v;
java.util.logging.Logger v, v;
java.util.logging.Level v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.jvnet.mimepull.MIMEParsingException v;
v := @this: org.jvnet.mimepull.MIMEParser;
label:
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v != 0 goto label;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: void fillBuf()>();
label:
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = specialinvoke v.<org.jvnet.mimepull.MIMEParser: int match(byte[],int,int)>(v, 0, v);
v = (int) -1;
if v != v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v == 0 goto label;
v = new org.jvnet.mimepull.MIMEParsingException;
specialinvoke v.<org.jvnet.mimepull.MIMEParsingException: void <init>(java.lang.String)>("Missing start boundary");
throw v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v - v;
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v - 1;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: org.jvnet.mimepull.MIMEConfig config>;
v = v.<org.jvnet.mimepull.MIMEConfig: int chunkSize>;
if v <= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
goto label;
label:
v = 0;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
if v >= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v[v];
if v == 32 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v[v];
if v != 9 goto label;
label:
v = v + 1;
v = v + 1;
goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
if v >= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v[v];
if v == 10 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v[v];
if v != 13 goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v[v];
if v != 10 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v - v;
v = v - v;
v = v - 1;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
if v >= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v + 1;
v = v[v];
if v != 10 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v + v;
v = v + v;
v = v + 2;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = v.<org.jvnet.mimepull.MIMEParser: int bl>;
v = v - v;
v = v - v;
v = v - 2;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
goto label;
label:
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = v - 1;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: java.nio.ByteBuffer adjustBuf(int,int)>(v, v);
goto label;
label:
v = <org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "Skipped the preamble. buffer len={0}", v);
label:
return;
}
private static byte[] getBytes(java.lang.String)
{
byte[] v;
char v;
int v, v, v, v;
char[] v;
java.lang.String v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = lengthof v;
v = newarray (byte)[v];
v = 0;
label:
if v >= v goto label;
v = v;
v = v;
v = v + 1;
v = v[v];
v[v] = v;
goto label;
label:
return v;
}
private void compileBoundaryPattern()
{
byte[] v, v, v, v, v, v, v;
org.jvnet.mimepull.MIMEParser v;
byte v, v, v, v;
int[] v, v, v, v;
int v, v, v, v, v, v, v, v, v, v;
v := @this: org.jvnet.mimepull.MIMEParser;
v = 0;
label:
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = lengthof v;
if v >= v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: int[] bcs>;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = v[v];
v = v & 127;
v = v + 1;
v[v] = v;
v = v + 1;
goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = lengthof v;
label:
if v <= 0 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = lengthof v;
v = v - 1;
label:
if v < v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = v[v];
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = v - v;
v = v[v];
if v != v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: int[] gss>;
v = v - 1;
v[v] = v;
v = v - 1;
goto label;
label:
if v <= 0 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: int[] gss>;
v = v - 1;
v[v] = v;
goto label;
label:
v = v - 1;
goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int[] gss>;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = lengthof v;
v = v - 1;
v[v] = 1;
return;
}
private int match(byte[], int, int)
{
byte[] v, v, v, v;
org.jvnet.mimepull.MIMEParser v;
byte v, v, v;
int[] v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.jvnet.mimepull.MIMEParser;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = lengthof v;
v = v - v;
label:
if v > v goto label;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = lengthof v;
v = v - 1;
label:
if v < 0 goto label;
v = v + v;
v = v[v];
v = v.<org.jvnet.mimepull.MIMEParser: byte[] bndbytes>;
v = v[v];
if v == v goto label;
v = v + 1;
v = v.<org.jvnet.mimepull.MIMEParser: int[] bcs>;
v = v & 127;
v = v[v];
v = v - v;
v = v.<org.jvnet.mimepull.MIMEParser: int[] gss>;
v = v[v];
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = v + v;
goto label;
label:
v = v - 1;
goto label;
label:
return v;
label:
v = (int) -1;
return v;
}
private void fillBuf()
{
byte[] v, v, v;
java.lang.Integer v, v;
org.jvnet.mimepull.MIMEParser v;
boolean v, v, v, v, v;
java.util.logging.Logger v, v, v, v, v, v;
java.lang.AssertionError v;
java.util.logging.Level v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
org.jvnet.mimepull.MIMEParsingException v, v;
java.io.IOException v, v;
java.io.InputStream v, v;
v := @this: org.jvnet.mimepull.MIMEParser;
v = <org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINER>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINER>;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "Before fillBuf() buffer len={0}", v);
label:
v = <org.jvnet.mimepull.MIMEParser: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = lengthof v;
if v >= v goto label;
label:
v = v.<org.jvnet.mimepull.MIMEParser: java.io.InputStream in>;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = lengthof v;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v - v;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.jvnet.mimepull.MIMEParsingException;
specialinvoke v.<org.jvnet.mimepull.MIMEParsingException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = (int) -1;
if v != v goto label;
v.<org.jvnet.mimepull.MIMEParser: boolean eof> = 1;
label:
v = <org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER>;
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>("Closing the input stream.");
label:
v = v.<org.jvnet.mimepull.MIMEParser: java.io.InputStream in>;
virtualinvoke v.<java.io.InputStream: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.jvnet.mimepull.MIMEParsingException;
specialinvoke v.<org.jvnet.mimepull.MIMEParsingException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = v + v;
v.<org.jvnet.mimepull.MIMEParser: int len> = v;
goto label;
label:
v = <org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINER>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINER>;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "After fillBuf() buffer len={0}", v);
label:
return;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
private void doubleBuf()
{
byte[] v, v;
org.jvnet.mimepull.MIMEParser v;
int v, v, v;
boolean v;
v := @this: org.jvnet.mimepull.MIMEParser;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
v = 2 * v;
v = newarray (byte)[v];
v = v.<org.jvnet.mimepull.MIMEParser: byte[] buf>;
v = v.<org.jvnet.mimepull.MIMEParser: int len>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v.<org.jvnet.mimepull.MIMEParser: byte[] buf> = v;
v = v.<org.jvnet.mimepull.MIMEParser: boolean eof>;
if v != 0 goto label;
specialinvoke v.<org.jvnet.mimepull.MIMEParser: void fillBuf()>();
label:
return;
}
static void <clinit>()
{
java.lang.Class v, v;
java.lang.String v;
java.util.logging.Logger v;
boolean v, v;
v = class "Lorg/jvnet/mimepull/MIMEParser;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.jvnet.mimepull.MIMEParser: boolean $assertionsDisabled> = v;
v = class "Lorg/jvnet/mimepull/MIMEParser;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
<org.jvnet.mimepull.MIMEParser: java.util.logging.Logger LOGGER> = v;
return;
}
}