Package serp.bytecode
Class State
- java.lang.Object
-
- serp.bytecode.State
-
- Direct Known Subclasses:
ArrayState,ObjectState,PrimitiveState
class State extends java.lang.ObjectThe State type is extended by various concrete types to change the behavior of aBCClass. All methods in this base implementation throw anUnsupportedOperationException
-
-
Constructor Summary
Constructors Constructor Description State()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetAccessFlags()Return the access flags of the bytecode class.java.util.CollectiongetAttributesHolder()Return theAttributes of this class, or empty list if none.java.lang.StringgetComponentName()Return the name of the component type of this array, or null if not an array.java.util.ListgetFieldsHolder()Return theBCFields of this class, or empty list if none.intgetIndex()Return theConstantPoolindex of theClassEntryfor this class, or 0 if none.java.util.ListgetInterfacesHolder()Return theConstantPoolindexes of theClassEntrys for the indexes of this class, or empty list if none.intgetMagic()Return the magic number of the bytecode class.intgetMajorVersion()Return the major number of the bytecode class.java.util.ListgetMethodsHolder()Return theBCMethods of this class, or empty list if none.intgetMinorVersion()Return the minor number of the bytecode class.java.lang.StringgetName()Return the name of the class.ConstantPoolgetPool()Return the constant pool of the class.intgetSuperclassIndex()Return theConstantPoolindex of theClassEntryfor the superclass of this class, or 0 if none.java.lang.StringgetSuperclassName()Return the name of the superclass.booleanisArray()Return true if this class is an array.booleanisPrimitive()Return true if this class is a primitive.voidsetAccessFlags(int access)Set the access flags of the bytecode class.voidsetIndex(int index)Set theConstantPoolindex of theClassEntryfor this class.voidsetMagic(int magic)Set the magic number of the bytecode class.voidsetMajorVersion(int major)Set the major version of the bytecode class.voidsetMinorVersion(int minor)Set the minor version of the bytecode class.voidsetSuperclassIndex(int index)Set theConstantPoolindex of theClassEntryfor the superclass of this class.
-
-
-
Field Detail
-
INVALID
public static final State INVALID
A singleton instance of this type that can be used to make a class invalid.
-
-
Method Detail
-
getMagic
public int getMagic()
Return the magic number of the bytecode class.
-
setMagic
public void setMagic(int magic)
Set the magic number of the bytecode class.
-
getMajorVersion
public int getMajorVersion()
Return the major number of the bytecode class.
-
setMajorVersion
public void setMajorVersion(int major)
Set the major version of the bytecode class.
-
getMinorVersion
public int getMinorVersion()
Return the minor number of the bytecode class.
-
setMinorVersion
public void setMinorVersion(int minor)
Set the minor version of the bytecode class.
-
getAccessFlags
public int getAccessFlags()
Return the access flags of the bytecode class.
-
setAccessFlags
public void setAccessFlags(int access)
Set the access flags of the bytecode class.
-
getIndex
public int getIndex()
Return theConstantPoolindex of theClassEntryfor this class, or 0 if none.
-
setIndex
public void setIndex(int index)
Set theConstantPoolindex of theClassEntryfor this class.
-
getSuperclassIndex
public int getSuperclassIndex()
Return theConstantPoolindex of theClassEntryfor the superclass of this class, or 0 if none.
-
setSuperclassIndex
public void setSuperclassIndex(int index)
Set theConstantPoolindex of theClassEntryfor the superclass of this class. ThrowsUnsupportedOperationExceptionby default.
-
getInterfacesHolder
public java.util.List getInterfacesHolder()
Return theConstantPoolindexes of theClassEntrys for the indexes of this class, or empty list if none. If the state does not support changing the interfaces, the returned list should be immutable.
-
getFieldsHolder
public java.util.List getFieldsHolder()
Return theBCFields of this class, or empty list if none. If the state does not support changing the fields, the returned list should be immutable.
-
getMethodsHolder
public java.util.List getMethodsHolder()
Return theBCMethods of this class, or empty list if none. If the state does not support changing the methods, the returned list should be immutable.
-
getAttributesHolder
public java.util.Collection getAttributesHolder()
Return theAttributes of this class, or empty list if none. If the state does not support changing the attributes, the returned list should be immutable.
-
getPool
public ConstantPool getPool()
Return the constant pool of the class.
-
getName
public java.lang.String getName()
Return the name of the class. The name should be in a form suitable for aClass.forName(java.lang.String)call.
-
getSuperclassName
public java.lang.String getSuperclassName()
Return the name of the superclass. The name should be in a form suitable for aClass.forName(java.lang.String)call, or null if none.
-
getComponentName
public java.lang.String getComponentName()
Return the name of the component type of this array, or null if not an array. The name should be in a form suitable for aClass.forName(java.lang.String)call.
-
isPrimitive
public boolean isPrimitive()
Return true if this class is a primitive.
-
isArray
public boolean isArray()
Return true if this class is an array.
-
-