Interface EditorContext
- All Known Implementing Classes:
BloatContext, CachingBloatContext, PersistentBloatContext
public interface EditorContext
An EditorContext supplies a means of loading and editing classes.
Note that a number of these methods are identical to methods in
Editor. It is expected that an EditorContext will have
a different caching (of ClassEditors, etc.) policy than
Editor does. Hence, the methods in EditorContext should
be used to edit classes, etc.
-
Method Summary
Modifier and TypeMethodDescriptionvoidcommit()Commits all changes made to classes, methods, and fields.voidCommits the changes made to a class.voidCommits the changes made to a field.voidcommit(MethodInfo info) Commits the changes made to a method.Returns a ClassEditor used to edit a class described by a given Type.Returns a ClassEditor used to edit a class described by a given ClassInfo.Returns a ClassEditor used to edit a class of a given name.Returns a FieldEditor for editing a field.Returns a FieldEditor for editing a FieldInfo.editMethod(MemberRef method) Returns a MethodEditor for editing a method.editMethod(MethodInfo info) Returns a MethodEditor for editing a method.Returns the ClassHierarchy of all classes and interfaces known to BLOAT.Loads a class into BLOATReturns aClassEditorfor editing a new class with the given name.newClassInfo(int modifiers, int classIndex, int superClassIndex, int[] interfaceIndexes, List constants) Creates a newClassInfovoidSignals that we are done editing a class.voidSignals that we are done editing a field.voidrelease(MethodInfo info) Signals that we are done editing a method.
-
Method Details
-
loadClass
Loads a class into BLOAT- Throws:
ClassNotFoundException
-
newClassInfo
ClassInfo newClassInfo(int modifiers, int classIndex, int superClassIndex, int[] interfaceIndexes, List constants) Creates a newClassInfo- Parameters:
modifiers- The modifiers describing the newly-created classclassIndex- The index of the name of the newly-created class in its constant poolsuperClassIndex- The index of the name of the newly-created class's superclass in its constant poolinterfaceIndexes- The indexes of the names of the interfaces that the newly-created class implementsconstants- The constant pool for the newly created class (a list ofConstants).
-
getHierarchy
ClassHierarchy getHierarchy()Returns the ClassHierarchy of all classes and interfaces known to BLOAT. -
newClass
Returns aClassEditorfor editing a new class with the given name. It will override any class with the given name that is already being edited. -
editClass
Returns a ClassEditor used to edit a class of a given name. -
editClass
Returns a ClassEditor used to edit a class described by a given Type. -
editClass
Returns a ClassEditor used to edit a class described by a given ClassInfo. -
editField
Returns a FieldEditor for editing a FieldInfo. -
editField
Returns a FieldEditor for editing a field.- Throws:
NoSuchFieldException
-
editMethod
Returns a MethodEditor for editing a method. -
editMethod
Returns a MethodEditor for editing a method.- Throws:
NoSuchMethodException
-
release
Signals that we are done editing a method. The object used to model it may be reclaimed. -
release
Signals that we are done editing a field. The object used to model it may be reclaimed. -
release
Signals that we are done editing a class. The object used to model it may be reclaimed. -
commit
Commits the changes made to a class. -
commit
Commits the changes made to a method. -
commit
Commits the changes made to a field. -
commit
void commit()Commits all changes made to classes, methods, and fields.
-