final class org.graalvm.polyglot.io.ByteArraySequence extends java.lang.Object implements org.graalvm.polyglot.io.ByteSequence
{
private final byte[] buffer;
private final int start;
private final int length;
private int hash;
static final boolean $assertionsDisabled;
void <init>(byte[], int, int)
{
byte[] v;
java.lang.AssertionError v, v, v;
int v, v, v, v;
org.graalvm.polyglot.io.ByteArraySequence v;
boolean v, v, v;
v := @this: org.graalvm.polyglot.io.ByteArraySequence;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.graalvm.polyglot.io.ByteArraySequence: boolean $assertionsDisabled>;
if v != 0 goto label;
v = lengthof v;
v = v + v;
if v >= v goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <org.graalvm.polyglot.io.ByteArraySequence: 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.graalvm.polyglot.io.ByteArraySequence: 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.graalvm.polyglot.io.ByteArraySequence: byte[] buffer> = v;
v.<org.graalvm.polyglot.io.ByteArraySequence: int start> = v;
v.<org.graalvm.polyglot.io.ByteArraySequence: int length> = v;
return;
}
public int length()
{
int v;
org.graalvm.polyglot.io.ByteArraySequence v;
v := @this: org.graalvm.polyglot.io.ByteArraySequence;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
return v;
}
public byte byteAt(int)
{
byte[] v;
java.lang.IndexOutOfBoundsException v;
byte v;
int v, v, v, v, v, v;
java.lang.String v;
org.graalvm.polyglot.io.ByteArraySequence v;
v := @this: org.graalvm.polyglot.io.ByteArraySequence;
v := @parameter: int;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v + v;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
v = v + v;
if v < v goto label;
v = new java.lang.IndexOutOfBoundsException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v[v];
return v;
}
public byte[] toByteArray()
{
byte[] v, v;
int v, v, v, v;
org.graalvm.polyglot.io.ByteArraySequence v;
v := @this: org.graalvm.polyglot.io.ByteArraySequence;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
v = v + v;
v = staticinvoke <java.util.Arrays: byte[] copyOfRange(byte[],int,int)>(v, v, v);
return v;
}
public boolean equals(java.lang.Object)
{
byte[] v, v, v, v, v;
byte v, v, v, v;
boolean v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v;
org.graalvm.polyglot.io.ByteArraySequence v;
v := @this: org.graalvm.polyglot.io.ByteArraySequence;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof org.graalvm.polyglot.io.ByteArraySequence;
if v == 0 goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
if v != v goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
if v != v goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
if v == v goto label;
return 0;
label:
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int hash>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int hash>;
if v == 0 goto label;
if v == 0 goto label;
if v == v goto label;
return 0;
label:
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = 0;
label:
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
if v >= v goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v + v;
v = v[v];
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v + v;
v = v[v];
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
label:
v = v instanceof org.graalvm.polyglot.io.ByteSequence;
if v == 0 goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
v = interfaceinvoke v.<org.graalvm.polyglot.io.ByteSequence: int length()>();
if v == v goto label;
return 0;
label:
v = 0;
label:
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
if v >= v goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v + v;
v = v[v];
v = interfaceinvoke v.<org.graalvm.polyglot.io.ByteSequence: byte byteAt(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
label:
return 0;
}
public int hashCode()
{
byte[] v, v, v, v, v;
byte v, v, v, v, v;
short v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.graalvm.polyglot.io.ByteArraySequence v;
v := @this: org.graalvm.polyglot.io.ByteArraySequence;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int hash>;
if v != 0 goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
if v <= 0 goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int length>;
v = v + v;
v = 1;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
label:
v = v + 3;
if v >= v goto label;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v + 0;
v = v[v];
v = v & 255;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v + 1;
v = v[v];
v = (int) 65280;
v = v & v;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v + 2;
v = v[v];
v = v & 16711680;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v + 3;
v = v[v];
v = v & -16777216;
v = 31 * v;
v = v | v;
v = v | v;
v = v | v;
v = v + v;
v = v + 4;
goto label;
label:
if v >= v goto label;
v = 31 * v;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
v = v[v];
v = v + v;
v = v + 1;
goto label;
label:
v.<org.graalvm.polyglot.io.ByteArraySequence: int hash> = v;
label:
return v;
}
public org.graalvm.polyglot.io.ByteSequence subSequence(int, int)
{
byte[] v;
java.lang.IndexOutOfBoundsException v, v, v;
int v, v, v, v, v, v, v;
java.lang.String v, v, v;
org.graalvm.polyglot.io.ByteArraySequence v, v;
v := @this: org.graalvm.polyglot.io.ByteArraySequence;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v >= 0 goto label;
v = new java.lang.IndexOutOfBoundsException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.graalvm.polyglot.io.ByteArraySequence: int start>;
v = v + v;
if v >= 0 goto label;
v = new java.lang.IndexOutOfBoundsException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.graalvm.polyglot.io.ByteArraySequence: int length()>();
if v <= v goto label;
v = new java.lang.IndexOutOfBoundsException;
v = v + v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.graalvm.polyglot.io.ByteArraySequence;
v = v.<org.graalvm.polyglot.io.ByteArraySequence: byte[] buffer>;
specialinvoke v.<org.graalvm.polyglot.io.ByteArraySequence: void <init>(byte[],int,int)>(v, v, v);
return v;
}
static void <clinit>()
{
java.lang.Class v;
boolean v, v;
v = class "Lorg/graalvm/polyglot/io/ByteArraySequence;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.graalvm.polyglot.io.ByteArraySequence: boolean $assertionsDisabled> = v;
return;
}
}