final class org.objectweb.asm.FieldWriter extends org.objectweb.asm.FieldVisitor
{
private final org.objectweb.asm.SymbolTable symbolTable;
private final int accessFlags;
private final int nameIndex;
private final int descriptorIndex;
private int signatureIndex;
private int constantValueIndex;
private org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation;
private org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation;
private org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation;
private org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation;
private org.objectweb.asm.Attribute firstAttribute;
void <init>(org.objectweb.asm.SymbolTable, int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object)
{
org.objectweb.asm.FieldWriter v;
org.objectweb.asm.Symbol v;
org.objectweb.asm.SymbolTable v;
int v, v, v, v, v;
java.lang.Object v;
java.lang.String v, v, v;
v := @this: org.objectweb.asm.FieldWriter;
v := @parameter: org.objectweb.asm.SymbolTable;
v := @parameter: int;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
specialinvoke v.<org.objectweb.asm.FieldVisitor: void <init>(int)>(589824);
v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable> = v;
v.<org.objectweb.asm.FieldWriter: int accessFlags> = v;
v = virtualinvoke v.<org.objectweb.asm.SymbolTable: int addConstantUtf8(java.lang.String)>(v);
v.<org.objectweb.asm.FieldWriter: int nameIndex> = v;
v = virtualinvoke v.<org.objectweb.asm.SymbolTable: int addConstantUtf8(java.lang.String)>(v);
v.<org.objectweb.asm.FieldWriter: int descriptorIndex> = v;
if v == null goto label;
v = virtualinvoke v.<org.objectweb.asm.SymbolTable: int addConstantUtf8(java.lang.String)>(v);
v.<org.objectweb.asm.FieldWriter: int signatureIndex> = v;
label:
if v == null goto label;
v = virtualinvoke v.<org.objectweb.asm.SymbolTable: org.objectweb.asm.Symbol addConstant(java.lang.Object)>(v);
v = v.<org.objectweb.asm.Symbol: int index>;
v.<org.objectweb.asm.FieldWriter: int constantValueIndex> = v;
label:
return;
}
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String, boolean)
{
org.objectweb.asm.FieldWriter v;
org.objectweb.asm.SymbolTable v, v;
org.objectweb.asm.AnnotationWriter v, v, v, v;
java.lang.String v;
boolean v;
v := @this: org.objectweb.asm.FieldWriter;
v := @parameter: java.lang.String;
v := @parameter: boolean;
if v == 0 goto label;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation>;
v = staticinvoke <org.objectweb.asm.AnnotationWriter: org.objectweb.asm.AnnotationWriter create(org.objectweb.asm.SymbolTable,java.lang.String,org.objectweb.asm.AnnotationWriter)>(v, v, v);
v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation> = v;
return v;
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation>;
v = staticinvoke <org.objectweb.asm.AnnotationWriter: org.objectweb.asm.AnnotationWriter create(org.objectweb.asm.SymbolTable,java.lang.String,org.objectweb.asm.AnnotationWriter)>(v, v, v);
v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation> = v;
return v;
}
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int, org.objectweb.asm.TypePath, java.lang.String, boolean)
{
org.objectweb.asm.FieldWriter v;
org.objectweb.asm.SymbolTable v, v;
org.objectweb.asm.TypePath v;
int v;
org.objectweb.asm.AnnotationWriter v, v, v, v;
java.lang.String v;
boolean v;
v := @this: org.objectweb.asm.FieldWriter;
v := @parameter: int;
v := @parameter: org.objectweb.asm.TypePath;
v := @parameter: java.lang.String;
v := @parameter: boolean;
if v == 0 goto label;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation>;
v = staticinvoke <org.objectweb.asm.AnnotationWriter: org.objectweb.asm.AnnotationWriter create(org.objectweb.asm.SymbolTable,int,org.objectweb.asm.TypePath,java.lang.String,org.objectweb.asm.AnnotationWriter)>(v, v, v, v, v);
v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation> = v;
return v;
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation>;
v = staticinvoke <org.objectweb.asm.AnnotationWriter: org.objectweb.asm.AnnotationWriter create(org.objectweb.asm.SymbolTable,int,org.objectweb.asm.TypePath,java.lang.String,org.objectweb.asm.AnnotationWriter)>(v, v, v, v, v);
v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation> = v;
return v;
}
public void visitAttribute(org.objectweb.asm.Attribute)
{
org.objectweb.asm.Attribute v, v;
org.objectweb.asm.FieldWriter v;
v := @this: org.objectweb.asm.FieldWriter;
v := @parameter: org.objectweb.asm.Attribute;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute>;
v.<org.objectweb.asm.Attribute: org.objectweb.asm.Attribute nextAttribute> = v;
v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute> = v;
return;
}
public void visitEnd()
{
org.objectweb.asm.FieldWriter v;
v := @this: org.objectweb.asm.FieldWriter;
return;
}
int computeFieldInfoSize()
{
org.objectweb.asm.FieldWriter v;
org.objectweb.asm.SymbolTable v, v, v;
int v, v, v, v, v, v, v, v, v;
org.objectweb.asm.Attribute v, v;
org.objectweb.asm.AnnotationWriter v, v, v, v;
v := @this: org.objectweb.asm.FieldWriter;
v = 8;
v = v.<org.objectweb.asm.FieldWriter: int constantValueIndex>;
if v == 0 goto label;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
virtualinvoke v.<org.objectweb.asm.SymbolTable: int addConstantUtf8(java.lang.String)>("ConstantValue");
v = 16;
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = v.<org.objectweb.asm.FieldWriter: int accessFlags>;
v = v.<org.objectweb.asm.FieldWriter: int signatureIndex>;
v = staticinvoke <org.objectweb.asm.Attribute: int computeAttributesSize(org.objectweb.asm.SymbolTable,int,int)>(v, v, v);
v = v + v;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation>;
v = staticinvoke <org.objectweb.asm.AnnotationWriter: int computeAnnotationsSize(org.objectweb.asm.AnnotationWriter,org.objectweb.asm.AnnotationWriter,org.objectweb.asm.AnnotationWriter,org.objectweb.asm.AnnotationWriter)>(v, v, v, v);
v = v + v;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute>;
if v == null goto label;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = virtualinvoke v.<org.objectweb.asm.Attribute: int computeAttributesSize(org.objectweb.asm.SymbolTable)>(v);
v = v + v;
label:
return v;
}
void putFieldInfo(org.objectweb.asm.ByteVector)
{
org.objectweb.asm.FieldWriter v;
org.objectweb.asm.SymbolTable v, v, v, v, v;
boolean v, v;
short v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.objectweb.asm.Attribute v, v, v, v;
org.objectweb.asm.ByteVector v, v, v, v, v;
org.objectweb.asm.AnnotationWriter v, v, v, v, v, v, v, v;
v := @this: org.objectweb.asm.FieldWriter;
v := @parameter: org.objectweb.asm.ByteVector;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = virtualinvoke v.<org.objectweb.asm.SymbolTable: int getMajorVersion()>();
if v >= 49 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = 4096;
goto label;
label:
v = 0;
label:
v = v.<org.objectweb.asm.FieldWriter: int accessFlags>;
v = (short) -1;
v = v ^ v;
v = v & v;
v = virtualinvoke v.<org.objectweb.asm.ByteVector: org.objectweb.asm.ByteVector putShort(int)>(v);
v = v.<org.objectweb.asm.FieldWriter: int nameIndex>;
v = virtualinvoke v.<org.objectweb.asm.ByteVector: org.objectweb.asm.ByteVector putShort(int)>(v);
v = v.<org.objectweb.asm.FieldWriter: int descriptorIndex>;
virtualinvoke v.<org.objectweb.asm.ByteVector: org.objectweb.asm.ByteVector putShort(int)>(v);
v = 0;
v = v.<org.objectweb.asm.FieldWriter: int constantValueIndex>;
if v == 0 goto label;
v = 1;
label:
v = v.<org.objectweb.asm.FieldWriter: int accessFlags>;
v = v & 4096;
if v == 0 goto label;
if v == 0 goto label;
v = v + 1;
label:
v = v.<org.objectweb.asm.FieldWriter: int signatureIndex>;
if v == 0 goto label;
v = v + 1;
label:
v = v.<org.objectweb.asm.FieldWriter: int accessFlags>;
v = v & 131072;
if v == 0 goto label;
v = v + 1;
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation>;
if v == null goto label;
v = v + 1;
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation>;
if v == null goto label;
v = v + 1;
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation>;
if v == null goto label;
v = v + 1;
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation>;
if v == null goto label;
v = v + 1;
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute>;
if v == null goto label;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute>;
v = virtualinvoke v.<org.objectweb.asm.Attribute: int getAttributeCount()>();
v = v + v;
label:
virtualinvoke v.<org.objectweb.asm.ByteVector: org.objectweb.asm.ByteVector putShort(int)>(v);
v = v.<org.objectweb.asm.FieldWriter: int constantValueIndex>;
if v == 0 goto label;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = virtualinvoke v.<org.objectweb.asm.SymbolTable: int addConstantUtf8(java.lang.String)>("ConstantValue");
v = virtualinvoke v.<org.objectweb.asm.ByteVector: org.objectweb.asm.ByteVector putShort(int)>(v);
v = virtualinvoke v.<org.objectweb.asm.ByteVector: org.objectweb.asm.ByteVector putInt(int)>(2);
v = v.<org.objectweb.asm.FieldWriter: int constantValueIndex>;
virtualinvoke v.<org.objectweb.asm.ByteVector: org.objectweb.asm.ByteVector putShort(int)>(v);
label:
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = v.<org.objectweb.asm.FieldWriter: int accessFlags>;
v = v.<org.objectweb.asm.FieldWriter: int signatureIndex>;
staticinvoke <org.objectweb.asm.Attribute: void putAttributes(org.objectweb.asm.SymbolTable,int,int,org.objectweb.asm.ByteVector)>(v, v, v, v);
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation>;
staticinvoke <org.objectweb.asm.AnnotationWriter: void putAnnotations(org.objectweb.asm.SymbolTable,org.objectweb.asm.AnnotationWriter,org.objectweb.asm.AnnotationWriter,org.objectweb.asm.AnnotationWriter,org.objectweb.asm.AnnotationWriter,org.objectweb.asm.ByteVector)>(v, v, v, v, v, v);
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute>;
if v == null goto label;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute>;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.SymbolTable symbolTable>;
virtualinvoke v.<org.objectweb.asm.Attribute: void putAttributes(org.objectweb.asm.SymbolTable,org.objectweb.asm.ByteVector)>(v, v);
label:
return;
}
final void collectAttributePrototypes(org.objectweb.asm.Attribute$Set)
{
org.objectweb.asm.Attribute v;
org.objectweb.asm.FieldWriter v;
org.objectweb.asm.Attribute$Set v;
v := @this: org.objectweb.asm.FieldWriter;
v := @parameter: org.objectweb.asm.Attribute$Set;
v = v.<org.objectweb.asm.FieldWriter: org.objectweb.asm.Attribute firstAttribute>;
virtualinvoke v.<org.objectweb.asm.Attribute$Set: void addAttributes(org.objectweb.asm.Attribute)>(v);
return;
}
}