public class net.sf.cglib.asm.$Label extends java.lang.Object
{
static final int FLAG_DEBUG_ONLY;
static final int FLAG_JUMP_TARGET;
static final int FLAG_RESOLVED;
static final int FLAG_REACHABLE;
static final int FLAG_SUBROUTINE_CALLER;
static final int FLAG_SUBROUTINE_START;
static final int FLAG_SUBROUTINE_END;
static final int LINE_NUMBERS_CAPACITY_INCREMENT;
static final int FORWARD_REFERENCES_CAPACITY_INCREMENT;
static final int FORWARD_REFERENCE_TYPE_MASK;
static final int FORWARD_REFERENCE_TYPE_SHORT;
static final int FORWARD_REFERENCE_TYPE_WIDE;
static final int FORWARD_REFERENCE_HANDLE_MASK;
static final net.sf.cglib.asm.$Label EMPTY_LIST;
public java.lang.Object info;
short flags;
private short lineNumber;
private int[] otherLineNumbers;
int bytecodeOffset;
private int[] forwardReferences;
short inputStackSize;
short outputStackSize;
short outputStackMax;
short subroutineId;
net.sf.cglib.asm.$Frame frame;
net.sf.cglib.asm.$Label nextBasicBlock;
net.sf.cglib.asm.$Edge outgoingEdges;
net.sf.cglib.asm.$Label nextListElement;
public void <init>()
{
net.sf.cglib.asm.$Label v;
v := @this: net.sf.cglib.asm.$Label;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public int getOffset()
{
net.sf.cglib.asm.$Label v;
java.lang.IllegalStateException v;
short v, v;
int v;
v := @this: net.sf.cglib.asm.$Label;
v = v.<net.sf.cglib.asm.$Label: short flags>;
v = v & 4;
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.<net.sf.cglib.asm.$Label: int bytecodeOffset>;
return v;
}
final net.sf.cglib.asm.$Label getCanonicalInstance()
{
net.sf.cglib.asm.$Label v, v;
net.sf.cglib.asm.$Frame v, v;
v := @this: net.sf.cglib.asm.$Label;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Frame frame>;
if v != null goto label;
v = v;
goto label;
label:
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Frame frame>;
v = v.<net.sf.cglib.asm.$Frame: net.sf.cglib.asm.$Label owner>;
label:
return v;
}
final void addLineNumber(int)
{
net.sf.cglib.asm.$Label v;
short v;
int[] v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v;
v := @this: net.sf.cglib.asm.$Label;
v := @parameter: int;
v = v.<net.sf.cglib.asm.$Label: short lineNumber>;
if v != 0 goto label;
v.<net.sf.cglib.asm.$Label: short lineNumber> = v;
goto label;
label:
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
if v != null goto label;
v = newarray (int)[4];
v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers> = v;
label:
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
v = v[0];
v = v + 1;
v[0] = v;
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
v = lengthof v;
if v < v goto label;
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
v = lengthof v;
v = v + 4;
v = newarray (int)[v];
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers> = v;
label:
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
v[v] = v;
label:
return;
}
final void accept(net.sf.cglib.asm.$MethodVisitor, boolean)
{
net.sf.cglib.asm.$Label v;
net.sf.cglib.asm.$MethodVisitor v;
short v, v;
int[] v, v, v;
int v, v, v, v, v;
boolean v;
v := @this: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.asm.$MethodVisitor;
v := @parameter: boolean;
virtualinvoke v.<net.sf.cglib.asm.$MethodVisitor: void visitLabel(net.sf.cglib.asm.$Label)>(v);
if v == 0 goto label;
v = v.<net.sf.cglib.asm.$Label: short lineNumber>;
if v == 0 goto label;
v = v.<net.sf.cglib.asm.$Label: short lineNumber>;
v = (int) 65535;
v = v & v;
virtualinvoke v.<net.sf.cglib.asm.$MethodVisitor: void visitLineNumber(int,net.sf.cglib.asm.$Label)>(v, v);
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
if v == null goto label;
v = 1;
label:
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
v = v[0];
if v > v goto label;
v = v.<net.sf.cglib.asm.$Label: int[] otherLineNumbers>;
v = v[v];
virtualinvoke v.<net.sf.cglib.asm.$MethodVisitor: void visitLineNumber(int,net.sf.cglib.asm.$Label)>(v, v);
v = v + 1;
goto label;
label:
return;
}
final void put(net.sf.cglib.asm.$ByteVector, int, boolean)
{
net.sf.cglib.asm.$Label v;
short v, v;
net.sf.cglib.asm.$ByteVector v;
int v, v, v, v, v, v, v, v, v;
boolean v;
v := @this: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.asm.$ByteVector;
v := @parameter: int;
v := @parameter: boolean;
v = v.<net.sf.cglib.asm.$Label: short flags>;
v = v & 4;
if v != 0 goto label;
if v == 0 goto label;
v = v.<net.sf.cglib.asm.$ByteVector: int length>;
specialinvoke v.<net.sf.cglib.asm.$Label: void addForwardReference(int,int,int)>(v, 536870912, v);
v = (int) -1;
virtualinvoke v.<net.sf.cglib.asm.$ByteVector: net.sf.cglib.asm.$ByteVector putInt(int)>(v);
goto label;
label:
v = v.<net.sf.cglib.asm.$ByteVector: int length>;
specialinvoke v.<net.sf.cglib.asm.$Label: void addForwardReference(int,int,int)>(v, 268435456, v);
v = (int) -1;
virtualinvoke v.<net.sf.cglib.asm.$ByteVector: net.sf.cglib.asm.$ByteVector putShort(int)>(v);
goto label;
label:
if v == 0 goto label;
v = v.<net.sf.cglib.asm.$Label: int bytecodeOffset>;
v = v - v;
virtualinvoke v.<net.sf.cglib.asm.$ByteVector: net.sf.cglib.asm.$ByteVector putInt(int)>(v);
goto label;
label:
v = v.<net.sf.cglib.asm.$Label: int bytecodeOffset>;
v = v - v;
virtualinvoke v.<net.sf.cglib.asm.$ByteVector: net.sf.cglib.asm.$ByteVector putShort(int)>(v);
label:
return;
}
private void addForwardReference(int, int, int)
{
net.sf.cglib.asm.$Label v;
int[] v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: net.sf.cglib.asm.$Label;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
if v != null goto label;
v = newarray (int)[6];
v.<net.sf.cglib.asm.$Label: int[] forwardReferences> = v;
label:
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = v[0];
v = v + 2;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = lengthof v;
if v < v goto label;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = lengthof v;
v = v + 6;
v = newarray (int)[v];
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v.<net.sf.cglib.asm.$Label: int[] forwardReferences> = v;
label:
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = v + 1;
v[v] = v;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = v + 1;
v = v | v;
v[v] = v;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v[0] = v;
return;
}
final boolean resolve(byte[], int)
{
net.sf.cglib.asm.$Label v;
byte[] v;
short v, v, v;
byte v;
int[] v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v;
v := @this: net.sf.cglib.asm.$Label;
v := @parameter: byte[];
v := @parameter: int;
v = v.<net.sf.cglib.asm.$Label: short flags>;
v = v | 4;
v.<net.sf.cglib.asm.$Label: short flags> = v;
v.<net.sf.cglib.asm.$Label: int bytecodeOffset> = v;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
if v != null goto label;
return 0;
label:
v = 0;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = v[0];
label:
if v <= 0 goto label;
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = v - 1;
v = v[v];
v = v.<net.sf.cglib.asm.$Label: int[] forwardReferences>;
v = v[v];
v = v - v;
v = v & 268435455;
v = v & -268435456;
if v != 268435456 goto label;
v = (int) -32768;
if v < v goto label;
if v <= 32767 goto label;
label:
v = v[v];
v = v & 255;
if v >= 198 goto label;
v = v + 49;
v[v] = v;
goto label;
label:
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 + 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;
label:
v = v - 2;
goto label;
label:
return v;
}
final void markSubroutine(short)
{
net.sf.cglib.asm.$Label v, v, v, v, v;
short v, v;
v := @this: net.sf.cglib.asm.$Label;
v := @parameter: short;
v = v;
v = <net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label EMPTY_LIST>;
v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement> = v;
label:
v = <net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label EMPTY_LIST>;
if v == v goto label;
v = v;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement>;
v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement> = null;
v = v.<net.sf.cglib.asm.$Label: short subroutineId>;
if v != 0 goto label;
v.<net.sf.cglib.asm.$Label: short subroutineId> = v;
v = specialinvoke v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label pushSuccessors(net.sf.cglib.asm.$Label)>(v);
goto label;
label:
return;
}
final void addSubroutineRetSuccessors(net.sf.cglib.asm.$Label)
{
net.sf.cglib.asm.$Label v, v, v, v, v, v, v, v, v, v, v;
net.sf.cglib.asm.$Edge v, v, v;
short v, v, v, v, v;
v := @this: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.asm.$Label;
v = <net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label EMPTY_LIST>;
v = v;
v = <net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label EMPTY_LIST>;
v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement> = v;
label:
v = <net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label EMPTY_LIST>;
if v == v goto label;
v = v;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement>;
v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement> = v;
v = v;
v = v.<net.sf.cglib.asm.$Label: short flags>;
v = v & 64;
if v == 0 goto label;
v = v.<net.sf.cglib.asm.$Label: short subroutineId>;
v = v.<net.sf.cglib.asm.$Label: short subroutineId>;
if v == v goto label;
v = new net.sf.cglib.asm.$Edge;
v = v.<net.sf.cglib.asm.$Label: short outputStackSize>;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Edge outgoingEdges>;
v = v.<net.sf.cglib.asm.$Edge: net.sf.cglib.asm.$Label successor>;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Edge outgoingEdges>;
specialinvoke v.<net.sf.cglib.asm.$Edge: void <init>(int,net.sf.cglib.asm.$Label,net.sf.cglib.asm.$Edge)>(v, v, v);
v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Edge outgoingEdges> = v;
label:
v = specialinvoke v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label pushSuccessors(net.sf.cglib.asm.$Label)>(v);
goto label;
label:
v = <net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label EMPTY_LIST>;
if v == v goto label;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement>;
v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement> = null;
v = v;
goto label;
label:
return;
}
private net.sf.cglib.asm.$Label pushSuccessors(net.sf.cglib.asm.$Label)
{
net.sf.cglib.asm.$Label v, v, v, v, v, v;
net.sf.cglib.asm.$Edge v, v, v;
short v, v;
boolean v;
v := @this: net.sf.cglib.asm.$Label;
v := @parameter: net.sf.cglib.asm.$Label;
v = v;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Edge outgoingEdges>;
label:
if v == null goto label;
v = v.<net.sf.cglib.asm.$Label: short flags>;
v = v & 16;
if v == 0 goto label;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Edge outgoingEdges>;
v = v.<net.sf.cglib.asm.$Edge: net.sf.cglib.asm.$Edge nextEdge>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v != 0 goto label;
v = v.<net.sf.cglib.asm.$Edge: net.sf.cglib.asm.$Label successor>;
v = v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement>;
if v != null goto label;
v = v.<net.sf.cglib.asm.$Edge: net.sf.cglib.asm.$Label successor>;
v.<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label nextListElement> = v;
v = v.<net.sf.cglib.asm.$Edge: net.sf.cglib.asm.$Label successor>;
label:
v = v.<net.sf.cglib.asm.$Edge: net.sf.cglib.asm.$Edge nextEdge>;
goto label;
label:
return v;
}
public java.lang.String toString()
{
int v;
net.sf.cglib.asm.$Label v;
java.lang.String v;
v := @this: net.sf.cglib.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;
}
static void <clinit>()
{
net.sf.cglib.asm.$Label v;
v = new net.sf.cglib.asm.$Label;
specialinvoke v.<net.sf.cglib.asm.$Label: void <init>()>();
<net.sf.cglib.asm.$Label: net.sf.cglib.asm.$Label EMPTY_LIST> = v;
return;
}
}