public class org.springframework.asm.Label extends java.lang.Object
{
static final int DEBUG;
static final int RESOLVED;
static final int RESIZED;
static final int PUSHED;
static final int TARGET;
static final int STORE;
static final int REACHABLE;
static final int JSR;
static final int RET;
static final int SUBROUTINE;
static final int VISITED;
static final int VISITED2;
public java.lang.Object info;
int status;
int line;
int position;
private int referenceCount;
private int[] srcAndRefPositions;
int inputStackTop;
int outputStackMax;
org.springframework.asm.Frame frame;
org.springframework.asm.Label successor;
org.springframework.asm.Edge successors;
org.springframework.asm.Label next;
public void <init>()
{
org.springframework.asm.Label v;
v := @this: org.springframework.asm.Label;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public int getOffset()
{
java.lang.IllegalStateException v;
int v, v, v;
org.springframework.asm.Label v;
v := @this: org.springframework.asm.Label;
v = v.<org.springframework.asm.Label: int status>;
v = v & 2;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Label offset position has not been resolved yet");
throw v;
label:
v = v.<org.springframework.asm.Label: int position>;
return v;
}
void put(org.springframework.asm.MethodWriter, org.springframework.asm.ByteVector, int, boolean)
{
org.springframework.asm.Label v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v;
org.springframework.asm.MethodWriter v;
org.springframework.asm.ByteVector v;
v := @this: org.springframework.asm.Label;
v := @parameter: org.springframework.asm.MethodWriter;
v := @parameter: org.springframework.asm.ByteVector;
v := @parameter: int;
v := @parameter: boolean;
v = v.<org.springframework.asm.Label: int status>;
v = v & 2;
if v != 0 goto label;
if v == 0 goto label;
v = (int) -1;
v = v - v;
v = v.<org.springframework.asm.ByteVector: int length>;
specialinvoke v.<org.springframework.asm.Label: void addReference(int,int)>(v, v);
v = (int) -1;
virtualinvoke v.<org.springframework.asm.ByteVector: org.springframework.asm.ByteVector putInt(int)>(v);
goto label;
label:
v = v.<org.springframework.asm.ByteVector: int length>;
specialinvoke v.<org.springframework.asm.Label: void addReference(int,int)>(v, v);
v = (int) -1;
virtualinvoke v.<org.springframework.asm.ByteVector: org.springframework.asm.ByteVector putShort(int)>(v);
goto label;
label:
if v == 0 goto label;
v = v.<org.springframework.asm.Label: int position>;
v = v - v;
virtualinvoke v.<org.springframework.asm.ByteVector: org.springframework.asm.ByteVector putInt(int)>(v);
goto label;
label:
v = v.<org.springframework.asm.Label: int position>;
v = v - v;
virtualinvoke v.<org.springframework.asm.ByteVector: org.springframework.asm.ByteVector putShort(int)>(v);
label:
return;
}
private void addReference(int, int)
{
org.springframework.asm.Label v;
int[] v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.springframework.asm.Label;
v := @parameter: int;
v := @parameter: int;
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
if v != null goto label;
v = newarray (int)[6];
v.<org.springframework.asm.Label: int[] srcAndRefPositions> = v;
label:
v = v.<org.springframework.asm.Label: int referenceCount>;
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = lengthof v;
if v < v goto label;
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = lengthof v;
v = v + 6;
v = newarray (int)[v];
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v.<org.springframework.asm.Label: int[] srcAndRefPositions> = v;
label:
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v.<org.springframework.asm.Label: int referenceCount>;
v = v + 1;
v.<org.springframework.asm.Label: int referenceCount> = v;
v[v] = v;
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v.<org.springframework.asm.Label: int referenceCount>;
v = v + 1;
v.<org.springframework.asm.Label: int referenceCount> = v;
v[v] = v;
return;
}
boolean resolve(org.springframework.asm.MethodWriter, int, byte[])
{
byte[] v;
byte v;
int[] v, v;
boolean v;
org.springframework.asm.MethodWriter v;
org.springframework.asm.Label v;
short 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 := @this: org.springframework.asm.Label;
v := @parameter: org.springframework.asm.MethodWriter;
v := @parameter: int;
v := @parameter: byte[];
v = 0;
v = v.<org.springframework.asm.Label: int status>;
v = v | 2;
v.<org.springframework.asm.Label: int status> = v;
v.<org.springframework.asm.Label: int position> = v;
v = 0;
label:
v = v.<org.springframework.asm.Label: int referenceCount>;
if v >= v goto label;
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v + 1;
v = v[v];
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v + 1;
v = v[v];
if v < 0 goto label;
v = v - v;
v = (int) -32768;
if v < v goto label;
if v <= 32767 goto label;
label:
v = v - 1;
v = v[v];
v = v & 255;
if v > 168 goto label;
v = v - 1;
v = v + 49;
v[v] = v;
goto label;
label:
v = v - 1;
v = v + 20;
v[v] = v;
label:
v = 1;
label:
v = v + 1;
v = v >>> 8;
v[v] = v;
v[v] = v;
goto label;
label:
v = v + v;
v = v + 1;
v = v + 1;
v = v >>> 24;
v[v] = v;
v = v + 1;
v = v >>> 16;
v[v] = v;
v = v + 1;
v = v >>> 8;
v[v] = v;
v[v] = v;
goto label;
label:
return v;
}
org.springframework.asm.Label getFirst()
{
org.springframework.asm.Frame v, v;
org.springframework.asm.Label v, v;
v := @this: org.springframework.asm.Label;
v = v.<org.springframework.asm.Label: org.springframework.asm.Frame frame>;
if v != null goto label;
v = v;
goto label;
label:
v = v.<org.springframework.asm.Label: org.springframework.asm.Frame frame>;
v = v.<org.springframework.asm.Frame: org.springframework.asm.Label owner>;
label:
return v;
}
boolean inSubroutine(long)
{
org.springframework.asm.Label v;
long v, v;
int[] v;
int v, v, v, v;
boolean v;
v := @this: org.springframework.asm.Label;
v := @parameter: long;
v = v.<org.springframework.asm.Label: int status>;
v = v & 1024;
if v == 0 goto label;
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v >>> 32;
v = v[v];
v = v & v;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
boolean inSameSubroutine(org.springframework.asm.Label)
{
org.springframework.asm.Label v, v;
int[] v, v, v;
int v, v, v, v, v, v, v, v, v;
v := @this: org.springframework.asm.Label;
v := @parameter: org.springframework.asm.Label;
v = v.<org.springframework.asm.Label: int status>;
v = v & 1024;
if v == 0 goto label;
v = v.<org.springframework.asm.Label: int status>;
v = v & 1024;
if v != 0 goto label;
label:
return 0;
label:
v = 0;
label:
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = lengthof v;
if v >= v goto label;
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v[v];
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v[v];
v = v & v;
if v == 0 goto label;
return 1;
label:
v = v + 1;
goto label;
label:
return 0;
}
void addToSubroutine(long, int)
{
org.springframework.asm.Label v;
long v, v;
int[] v, v;
int v, v, v, v, v, v, v, v, v;
v := @this: org.springframework.asm.Label;
v := @parameter: long;
v := @parameter: int;
v = v.<org.springframework.asm.Label: int status>;
v = v & 1024;
if v != 0 goto label;
v = v.<org.springframework.asm.Label: int status>;
v = v | 1024;
v.<org.springframework.asm.Label: int status> = v;
v = v / 32;
v = v + 1;
v = newarray (int)[v];
v.<org.springframework.asm.Label: int[] srcAndRefPositions> = v;
label:
v = v.<org.springframework.asm.Label: int[] srcAndRefPositions>;
v = v >>> 32;
v = v[v];
v = v | v;
v[v] = v;
return;
}
void visitSubroutine(org.springframework.asm.Label, long, int)
{
org.springframework.asm.Label v, v, v, v, v, v, v, v;
long v;
int v, v, v, v, v, v, v, v, v, v;
boolean v, v;
org.springframework.asm.Edge v, v, v, v, v, v;
v := @this: org.springframework.asm.Label;
v := @parameter: org.springframework.asm.Label;
v := @parameter: long;
v := @parameter: int;
v = v;
label:
if v == null goto label;
v = v;
v = v.<org.springframework.asm.Label: org.springframework.asm.Label next>;
v.<org.springframework.asm.Label: org.springframework.asm.Label next> = null;
if v == null goto label;
v = v.<org.springframework.asm.Label: int status>;
v = v & 2048;
if v != 0 goto label;
v = v.<org.springframework.asm.Label: int status>;
v = v | 2048;
v.<org.springframework.asm.Label: int status> = v;
v = v.<org.springframework.asm.Label: int status>;
v = v & 256;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.asm.Label: boolean inSameSubroutine(org.springframework.asm.Label)>(v);
if v != 0 goto label;
v = new org.springframework.asm.Edge;
specialinvoke v.<org.springframework.asm.Edge: void <init>()>();
v = v.<org.springframework.asm.Label: int inputStackTop>;
v.<org.springframework.asm.Edge: int info> = v;
v = v.<org.springframework.asm.Label: org.springframework.asm.Edge successors>;
v = v.<org.springframework.asm.Edge: org.springframework.asm.Label successor>;
v.<org.springframework.asm.Edge: org.springframework.asm.Label successor> = v;
v = v.<org.springframework.asm.Label: org.springframework.asm.Edge successors>;
v.<org.springframework.asm.Edge: org.springframework.asm.Edge next> = v;
v.<org.springframework.asm.Label: org.springframework.asm.Edge successors> = v;
goto label;
label:
v = virtualinvoke v.<org.springframework.asm.Label: boolean inSubroutine(long)>(v);
if v != 0 goto label;
virtualinvoke v.<org.springframework.asm.Label: void addToSubroutine(long,int)>(v, v);
label:
v = v.<org.springframework.asm.Label: org.springframework.asm.Edge successors>;
label:
if v == null goto label;
v = v.<org.springframework.asm.Label: int status>;
v = v & 128;
if v == 0 goto label;
v = v.<org.springframework.asm.Label: org.springframework.asm.Edge successors>;
v = v.<org.springframework.asm.Edge: org.springframework.asm.Edge next>;
if v == v goto label;
label:
v = v.<org.springframework.asm.Edge: org.springframework.asm.Label successor>;
v = v.<org.springframework.asm.Label: org.springframework.asm.Label next>;
if v != null goto label;
v = v.<org.springframework.asm.Edge: org.springframework.asm.Label successor>;
v.<org.springframework.asm.Label: org.springframework.asm.Label next> = v;
v = v.<org.springframework.asm.Edge: org.springframework.asm.Label successor>;
label:
v = v.<org.springframework.asm.Edge: org.springframework.asm.Edge next>;
goto label;
label:
return;
}
public java.lang.String toString()
{
int v;
org.springframework.asm.Label v;
java.lang.String v;
v := @this: org.springframework.asm.Label;
v = staticinvoke <java.lang.System: int identityHashCode(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("L\u0001");
return v;
}
}