Package serp.bytecode

Class State

java.lang.Object
serp.bytecode.State
Direct Known Subclasses:
ArrayState, ObjectState, PrimitiveState

class State extends Object
The State type is extended by various concrete types to change the behavior of a BCClass. All methods in this base implementation throw an UnsupportedOperationException
  • Field Details

    • INVALID

      public static final State INVALID
      A singleton instance of this type that can be used to make a class invalid.
  • Constructor Details

    • State

      State()
  • Method Details

    • 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 the ConstantPool index of the ClassEntry for this class, or 0 if none.
    • setIndex

      public void setIndex(int index)
      Set the ConstantPool index of the ClassEntry for this class.
    • getSuperclassIndex

      public int getSuperclassIndex()
      Return the ConstantPool index of the ClassEntry for the superclass of this class, or 0 if none.
    • setSuperclassIndex

      public void setSuperclassIndex(int index)
      Set the ConstantPool index of the ClassEntry for the superclass of this class. Throws UnsupportedOperationException by default.
    • getInterfacesHolder

      public List getInterfacesHolder()
      Return the ConstantPool indexes of the ClassEntrys 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 List getFieldsHolder()
      Return the BCFields 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 List getMethodsHolder()
      Return the BCMethods 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 Collection getAttributesHolder()
      Return the Attributes 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 String getName()
      Return the name of the class. The name should be in a form suitable for a Class.forName(java.lang.String) call.
    • getSuperclassName

      public String getSuperclassName()
      Return the name of the superclass. The name should be in a form suitable for a Class.forName(java.lang.String) call, or null if none.
    • getComponentName

      public 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 a Class.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.