public class org.apache.commons.io.HexDump extends java.lang.Object
{
public static final java.lang.String EOL;
private static final char[] _hexcodes;
private static final int[] _shifts;
public void <init>()
{
org.apache.commons.io.HexDump v;
v := @this: org.apache.commons.io.HexDump;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static void dump(byte[], long, java.io.OutputStream, int) throws java.io.IOException, java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException
{
byte[] v, v;
long v, v;
byte v, v, v, v;
java.nio.charset.Charset v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
java.io.OutputStream v;
java.lang.ArrayIndexOutOfBoundsException v;
java.lang.IllegalArgumentException v;
java.lang.StringBuilder v, v;
v := @parameter: byte[];
v := @parameter: long;
v := @parameter: java.io.OutputStream;
v := @parameter: int;
if v < 0 goto label;
v = lengthof v;
if v < v goto label;
label:
v = new java.lang.ArrayIndexOutOfBoundsException;
v = lengthof v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(v, 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[])>("illegal index: \u into array of length \u0001");
specialinvoke v.<java.lang.ArrayIndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("cannot write to nullstream");
throw v;
label:
v = v + v;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(74);
v = v;
label:
v = lengthof v;
if v >= v goto label;
v = lengthof v;
v = v - v;
if v <= 16 goto label;
v = 16;
label:
v = staticinvoke <org.apache.commons.io.HexDump: java.lang.StringBuilder dump(java.lang.StringBuilder,long)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = 0;
label:
if v >= 16 goto label;
if v >= v goto label;
v = v + v;
v = v[v];
staticinvoke <org.apache.commons.io.HexDump: java.lang.StringBuilder dump(java.lang.StringBuilder,byte)>(v, v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  ");
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
v = 0;
label:
if v >= v goto label;
v = v + v;
v = v[v];
if v < 32 goto label;
v = v + v;
v = v[v];
if v >= 127 goto label;
v = v + v;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
label:
v = v + 1;
goto label;
label:
v = <org.apache.commons.io.HexDump: java.lang.String EOL>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset defaultCharset()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
virtualinvoke v.<java.io.OutputStream: void flush()>();
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = v + v;
v = v + 16;
goto label;
label:
return;
}
private static java.lang.StringBuilder dump(java.lang.StringBuilder, long)
{
char v;
long v, v;
int[] v;
int v, v, v;
char[] v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: long;
v = 0;
label:
if v >= 8 goto label;
v = <org.apache.commons.io.HexDump: char[] _hexcodes>;
v = <org.apache.commons.io.HexDump: int[] _shifts>;
v = v[v];
v = v >> v;
v = v & 15;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v + 1;
goto label;
label:
return v;
}
private static java.lang.StringBuilder dump(java.lang.StringBuilder, byte)
{
char v;
byte v;
int[] v;
int v, v, v, v, v;
char[] v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: byte;
v = 0;
label:
if v >= 2 goto label;
v = <org.apache.commons.io.HexDump: char[] _hexcodes>;
v = <org.apache.commons.io.HexDump: int[] _shifts>;
v = v + 6;
v = v[v];
v = v >> v;
v = v & 15;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v + 1;
goto label;
label:
return v;
}
static void <clinit>()
{
char[] v;
java.lang.String v;
int[] v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("line.separator");
<org.apache.commons.io.HexDump: java.lang.String EOL> = v;
v = newarray (char)[16];
v[0] = 48;
v[1] = 49;
v[2] = 50;
v[3] = 51;
v[4] = 52;
v[5] = 53;
v[6] = 54;
v[7] = 55;
v[8] = 56;
v[9] = 57;
v[10] = 65;
v[11] = 66;
v[12] = 67;
v[13] = 68;
v[14] = 69;
v[15] = 70;
<org.apache.commons.io.HexDump: char[] _hexcodes> = v;
v = newarray (int)[8];
v[0] = 28;
v[1] = 24;
v[2] = 20;
v[3] = 16;
v[4] = 12;
v[5] = 8;
v[6] = 4;
v[7] = 0;
<org.apache.commons.io.HexDump: int[] _shifts> = v;
return;
}
}