public abstract class FieldInfo extends InfoObject implements GenericSignatureHolder
Modifier and Type | Field and Description |
---|---|
protected int |
attributes |
protected ClassInfo |
ci |
protected java.lang.Object |
cv |
protected int |
fieldIndex |
protected java.lang.String |
genericSignature |
protected int |
modifiers |
protected java.lang.String |
name |
protected java.lang.String |
signature |
protected int |
storageOffset |
protected int |
storageSize |
protected java.lang.String |
type |
annotations, attr, typeAnnotations
Modifier | Constructor and Description |
---|---|
protected |
FieldInfo(java.lang.String name,
java.lang.String signature,
int modifiers) |
Modifier and Type | Method and Description |
---|---|
void |
addAttribute(int a) |
boolean |
breakShared() |
static FieldInfo |
create(java.lang.String name,
java.lang.String signature,
int modifiers) |
int |
getAttributes() |
java.lang.Class<? extends ChoiceGenerator<?>> |
getChoiceGeneratorType() |
ClassInfo |
getClassInfo()
Returns the class that this field is associated with.
|
java.lang.Object |
getConstantValue() |
int |
getFieldIndex() |
java.lang.String |
getFullName() |
java.lang.String |
getGenericSignature() |
FieldInfo |
getInstanceFor(ClassInfo ci)
Creates a field for a given class, by cloning this FieldInfo
and reseting the class that the field belongs to
|
int |
getModifiers() |
java.lang.String |
getName()
Returns the name of the field.
|
java.lang.String |
getSignature() |
int |
getStorageOffset() |
int |
getStorageSize() |
java.lang.String |
getType()
Returns the type of the field as a fully qualified type name according to JLS 6.7
("int", "x.Y[]")
|
ClassInfo |
getTypeClassInfo() |
byte |
getTypeCode() |
abstract java.lang.Object |
getValueObject(Fields data) |
abstract void |
initialize(ElementInfo ei,
ThreadInfo ti)
pushClinit the corresponding data in the provided Fields instance
|
boolean |
is1SlotField() |
boolean |
is2SlotField() |
boolean |
isArrayField() |
boolean |
isBooleanField() |
boolean |
isByteField() |
boolean |
isCharField() |
boolean |
isDoubleField() |
boolean |
isFinal()
is this field declared `final'?
|
boolean |
isFloatField() |
boolean |
isFloatingPointField() |
boolean |
isIntField() |
boolean |
isLongField() |
boolean |
isNumericField() |
boolean |
isPackagePrivate() |
boolean |
isPrivate() |
boolean |
isProtected() |
boolean |
isPublic() |
boolean |
isReference() |
boolean |
isShortField() |
boolean |
isStatic()
is this a static field? Counter productive to the current class struct,
but at some point we want to get rid of the Dynamic/Static branch (it's
really just a field attribute)
|
boolean |
isTransient() |
boolean |
isVolatile() |
protected void |
linkToClass(ClassInfo ci,
int idx,
int off) |
boolean |
neverBreak() |
void |
setConstantValue(java.lang.Object constValue) |
void |
setGenericSignature(java.lang.String sig) |
java.lang.String |
toString()
Returns a string representation of the field.
|
abstract java.lang.String |
valueToString(Fields f) |
addAnnotation, addAnnotations, addAttr, addTypeAnnotation, addTypeAnnotations, attrIterator, attrIterator, getAnnotation, getAnnotations, getAttr, getAttr, getDeclaredAnnotations, getNextAttr, getTargetTypeAnnotations, getTypeAnnotation, getTypeAnnotations, hasAnnotation, hasAnnotations, hasAttr, hasAttr, hasAttrValue, hasTypeAnnotation, hasTypeAnnotations, removeAttr, replaceAttr, setAnnotations, setAttr, setTypeAnnotations
protected int attributes
protected final java.lang.String name
protected java.lang.String type
protected final java.lang.String signature
protected int storageSize
protected ClassInfo ci
protected int fieldIndex
protected int storageOffset
protected java.lang.Object cv
protected java.lang.String genericSignature
protected int modifiers
protected FieldInfo(java.lang.String name, java.lang.String signature, int modifiers)
public static FieldInfo create(java.lang.String name, java.lang.String signature, int modifiers)
protected void linkToClass(ClassInfo ci, int idx, int off)
public void setConstantValue(java.lang.Object constValue)
public abstract java.lang.String valueToString(Fields f)
public boolean is1SlotField()
public boolean is2SlotField()
public boolean isBooleanField()
public boolean isByteField()
public boolean isCharField()
public boolean isShortField()
public boolean isIntField()
public boolean isLongField()
public boolean isFloatField()
public boolean isDoubleField()
public boolean isNumericField()
public boolean isFloatingPointField()
public boolean isReference()
public boolean isArrayField()
public ClassInfo getClassInfo()
public java.lang.Object getConstantValue()
public abstract java.lang.Object getValueObject(Fields data)
public int getModifiers()
public int getFieldIndex()
public boolean isStatic()
public boolean isFinal()
public boolean isVolatile()
public boolean isTransient()
public boolean isPublic()
public boolean isPrivate()
public boolean isProtected()
public boolean isPackagePrivate()
public java.lang.String getName()
public int getStorageSize()
public java.lang.String getType()
public byte getTypeCode()
public java.lang.String getSignature()
public java.lang.String getGenericSignature()
getGenericSignature
in interface GenericSignatureHolder
public void setGenericSignature(java.lang.String sig)
setGenericSignature
in interface GenericSignatureHolder
public ClassInfo getTypeClassInfo()
public java.lang.Class<? extends ChoiceGenerator<?>> getChoiceGeneratorType()
public abstract void initialize(ElementInfo ei, ThreadInfo ti)
public java.lang.String toString()
toString
in class java.lang.Object
public void addAttribute(int a)
public int getAttributes()
public boolean breakShared()
public boolean neverBreak()
public int getStorageOffset()
public java.lang.String getFullName()