Package serp.bytecode
Class BCField
- java.lang.Object
-
- serp.bytecode.Attributes
-
- serp.bytecode.Annotated
-
- serp.bytecode.BCMember
-
- serp.bytecode.BCField
-
- All Implemented Interfaces:
BCEntity
,VisitAcceptor
public class BCField extends BCMember implements VisitAcceptor
A field of a class.- Author:
- Abe White
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
acceptVisit(BCVisitor visit)
Accept a visit from aBCVisitor
, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.ConstantValue
getConstantValue(boolean add)
Return the constant value information for the field.java.lang.Class
getType()
Return theClass
object for the type of this field.BCClass
getTypeBC()
Return the bytecode for the type of this field.java.lang.String
getTypeName()
Return the name of the type of this field.boolean
isEnum()
Manipulate the field access flags.boolean
isTransient()
Manipulate the field access flags.boolean
isVolatile()
Manipulate the field access flags.boolean
removeConstantValue()
Remove the constant value attribute for the field.void
setEnum(boolean on)
Manipulate the field access flags.void
setTransient(boolean on)
Manipulate the field access flags.void
setType(java.lang.Class type)
Set the type of this field.void
setType(java.lang.String type)
Set the name of the type of this field.void
setType(BCClass type)
Set the type of this field.void
setVolatile(boolean on)
Manipulate the field access flags.-
Methods inherited from class serp.bytecode.BCMember
getAccessFlags, getClassLoader, getDeclarer, getDescriptor, getDescriptorIndex, getName, getNameIndex, getPool, getProject, isDeprecated, isFinal, isPackage, isPrivate, isProtected, isPublic, isStatic, isSynthetic, isValid, makePackage, makePrivate, makeProtected, makePublic, setAccessFlags, setDeprecated, setDescriptor, setDescriptorIndex, setFinal, setName, setNameIndex, setStatic, setSynthetic
-
Methods inherited from class serp.bytecode.Annotated
getDeclaredAnnotations, getDeclaredRuntimeAnnotations, removeDeclaredAnnotations, removeDeclaredRuntimeAnnotations
-
Methods inherited from class serp.bytecode.Attributes
addAttribute, addAttribute, clearAttributes, getAttribute, getAttributes, getAttributes, removeAttribute, removeAttribute, setAttributes
-
-
-
-
Method Detail
-
isVolatile
public boolean isVolatile()
Manipulate the field access flags.
-
setVolatile
public void setVolatile(boolean on)
Manipulate the field access flags.
-
isTransient
public boolean isTransient()
Manipulate the field access flags.
-
setTransient
public void setTransient(boolean on)
Manipulate the field access flags.
-
isEnum
public boolean isEnum()
Manipulate the field access flags. Defaults to true for fields added to enum classes.
-
setEnum
public void setEnum(boolean on)
Manipulate the field access flags. Defaults to true for fields added to enum classes.
-
getTypeName
public java.lang.String getTypeName()
Return the name of the type of this field. The name will be given in a form suitable for aClass.forName(java.lang.String)
call.- See Also:
BCMember.getDescriptor()
-
getType
public java.lang.Class getType()
Return theClass
object for the type of this field.
-
getTypeBC
public BCClass getTypeBC()
Return the bytecode for the type of this field.
-
setType
public void setType(java.lang.String type)
Set the name of the type of this field.- See Also:
BCMember.setDescriptor(java.lang.String)
-
setType
public void setType(java.lang.Class type)
Set the type of this field.- See Also:
BCMember.setDescriptor(java.lang.String)
-
setType
public void setType(BCClass type)
Set the type of this field.- See Also:
BCMember.setDescriptor(java.lang.String)
-
getConstantValue
public ConstantValue getConstantValue(boolean add)
Return the constant value information for the field. Acts internally through theAttributes
interface.- Parameters:
add
- if true, a new constant value attribute will be added if not already present- Returns:
- the constant value information, or null if none and the
add
param is set to false
-
removeConstantValue
public boolean removeConstantValue()
Remove the constant value attribute for the field. Acts internally through theAttributes
interface.- Returns:
- true if there was a value to remove
-
acceptVisit
public void acceptVisit(BCVisitor visit)
Description copied from interface:VisitAcceptor
Accept a visit from aBCVisitor
, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.- Specified by:
acceptVisit
in interfaceVisitAcceptor
-
-