Modifier and Type | Class and Description |
---|---|
class |
ChangeWriterTransformer
This transformer writes the modified bytecode in the modified classpath.
|
class |
DefaultMethodTransformer
This transformer overrides methods of the superclasses.
|
class |
ExternalFieldAccessTransformer
This transformer changes the external field access inside the original access
with method calls to its invoker methods.
|
class |
IsInstanceTransformer
This transformer converts isinstance calls into an equivalent call to isAssignableTo using our jmplib.reflect classes,
so dynamic changes to class interfaces can be taken into account when using this keyword.
|
class |
OriginalClassLoadTimeTransformer
This transformer modifies original classes to add new fields and methods to
support the functionality of the library .
|
class |
RedirectMethodTransformer
This transformer redirects the methods of the class to the new versions.
|
class |
VersionClassLoadTimeTransformer
This transformer instruments version classes adding annotations to its
constructors.
|
Modifier and Type | Class and Description |
---|---|
class |
ASMUtils
Helper class to encapsulate the most common ASM operations
|
Modifier and Type | Class and Description |
---|---|
class |
ClassCacherVisitor
This visitor analyses the class and build a list of new auxiliary fields
needed to support the library.
|
class |
ConstructorBodyInstrumentor
This visitor instruments the constructor to add the transfer state support
|
class |
ConstructorVisitor
This visitor annotates the constructors of the class.
|
class |
InstanceFieldAccessMethodVisitor
This visitor modifies original classes to add auxiliary methods.
|
class |
NewVersionVisitor
This visitor adds _newVersion field to the class.
|
class |
StaticFieldAccessMethodVisitor
This visitor modifies original classes to add auxiliary methods.
|
class |
TransferStateVisitor
This visitor adds _newVersion field to the class.
|
class |
VersionInterfaceVisitor
This visitor adds _newVersion field to the class.
|
Modifier and Type | Class and Description |
---|---|
class |
DeleteMemberTables
This class stores keys of the methods that has been deleted.
|
class |
VersionTables
This class stores a map composed by a class (using its full name) and the
class that represent the most up-to-date version of this class that is in use
in a concrete moment.
|
Modifier and Type | Class and Description |
---|---|
class |
MemberKey
Class that identifies a member
|
Modifier and Type | Class and Description |
---|---|
class |
ClassCompiler
This class is used for compile java files at runtime.
|
class |
PolyglotAdapter
This class fits the functionality of Polyglot inside the library.
|
Modifier and Type | Class and Description |
---|---|
class |
ClassNotEditableException
This exception is thrown when a not editable class is used with the JMPlib
API.
|
class |
CompilationFailedException
This exception is thrown when the class to compile have errors in the code.
|
class |
StructuralIntercessionException
This exceptions is thrown when errors occurs while the library is performing
operations.
|
Modifier and Type | Class and Description |
---|---|
class |
EvalInvokerData<T>
Class to provide necessary data when obtaining invokers of dynamically
evaluated code
|
class |
InvokerData<T>
Base class to all the data passed to any of the methods that obtain invokers
to dynamically added members
|
class |
MemberInvokerData<T>
Class to provide necessary data when obtaining invokers of dynamically added members
|
Modifier and Type | Class and Description |
---|---|
class |
JavaParserUtils
Helper class to encapsulate the most common Java Parser operations
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractPrimitive
The superclass of all primitives.
|
class |
AbstractReadPrimitive<T>
Simple children of the AbstractPrimtive that just reads information from
source files instead of changing the state of the source.
|
class |
FieldPrimitive
Superclass of all field primitives.
|
class |
MethodPrimitive
Superclass for all method primitives
|
class |
PrimitiveExecutor
Class to run all the primitives it enqueues.
|
class |
PrimitiveFactory
Factory for the creation of the intercession primitives
|
Modifier and Type | Class and Description |
---|---|
class |
AddFieldPrimitive
This primitive class adds a new field and its auxiliar methods to one class
|
class |
AddMethodPrimitive
This class adds new methods to existing class source code.
|
class |
DeleteFieldPrimitive
Deletes a field of one class
|
class |
DeleteMethodPrimitive
Deletes one method from the class
|
class |
ReplaceFieldPrimitive
Replaces one field
|
class |
ReplaceImplementationPrimitive
Replace the implementation of one method
|
class |
ReplaceMethodPrimitive
Replaces one method
|
Modifier and Type | Class and Description |
---|---|
class |
ClassContent
This class acts like a wrapper of needed information of each class.
|
class |
ClassContentSerializer
Serializes
ClassContent to File |
class |
SourceCodeCache
This class is a cache of the source code of the application classes.
|
Modifier and Type | Class and Description |
---|---|
class |
ClassPathUtil
This class manages the classpath of the application adding the generated_bin
folder to it.
|
class |
ClassSpy
This utility class dumps a class structure to System.out
|
class |
EvaluatorUtils
Contains all the auxiliary code used by the Evaluator
|
class |
FileUtils
Helper class to operate with
File |
class |
InheritanceTables
Holds the inheritance information of the modificable classes
|
class |
JavaSourceFromString |
class |
MemberFinder
Helper class to find methods inside functional interfaces and resolve generic
info.
|
class |
Templates
This class have String templates that can be filled to create code fragments
to add into the classes.
|
class |
TransferState |
class |
WrapperClassGenerator
Helper class to generate source code of wrapper classes.
|
Modifier and Type | Class and Description |
---|---|
class |
IntercessorTypeConversion
Class that contain method that converts between types.
|
class |
IntercessorUtils
This class holds all the utility methods of both intercessors, mostly related
to checking parameters.
|
class |
IntercessorValidators
This class concentrates all the method to validate the parameters passed to
many of the JMPLib primitives
|