- access(int) - Method in class net.lenni0451.classtransform.utils.Codifier
-
Set the access modifier of the method.
- add(Supplier<? extends IAnnotationCoprocessor>) - Method in class net.lenni0451.classtransform.transformer.coprocessor.AnnotationCoprocessorList
-
Add a new coprocessor to the list.
- add(List<AnnotationHandler>, AnnotationHandler) - Method in enum net.lenni0451.classtransform.transformer.HandlerPosition
-
- addBytecodeTransformer(IBytecodeTransformer) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a bytecode transformer to the transformer list.
Bytecode transformer are the ClassTransform implementation of ClassFileTransformer .
- addClassFileTransformer(ClassLoader, ClassFileTransformer) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a ClassFileTransformer to the transformer list.
The classLoader is directly passed to the transformer.
- addClassMapping(String, String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Add a class mapping to the remapper.
Class names need to be with '/' instead of '.'.
- addClassMapping(String, String, boolean) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Add a class mapping to the remapper.
Class names need to be with '/' instead of '.'.
- addCoprocessor(Supplier<? extends IAnnotationCoprocessor>) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a new annotation handler coprocessor.
A new coprocessor instance will be created for each annotation handler.
- addCustomAnnotationHandler(AnnotationHandler, HandlerPosition) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a custom annotation handler into the handler chain.
- addFieldMapping(String, String, String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Add a field mapping to the remapper without a descriptor.
- addFieldMapping(String, String, String, boolean) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Add a field mapping to the remapper without a descriptor.
- addFieldMapping(String, String, String, String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Add a field mapping to the remapper.
- addFieldMapping(String, String, String, String, boolean) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Add a field mapping to the remapper.
- addInjectionTarget(String, IInjectionTarget) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a new injection target for use with the
CTarget annotation.
- addMethodMapping(String, String, String, String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Add a method mapping to the remapper.
- addMethodMapping(String, String, String, String, boolean) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Add a method mapping to the remapper.
- addParameters(MethodNode, Type...) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Add parameters to a method.
The actual code is not changed, only the descriptor and annotations.
- addPostTransformConsumer(IPostTransformer) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a post transformer to handle the raw bytecode after all transformer have been applied.
Useful for dumping transformed classes to disk.
- addProtectedPackage(String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
Add a protected package to prevent the classes from being transformed.
- addProtectionException(String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
Add an exception to the protected packages.
- addRawTransformer(String, IRawTransformer) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a raw class transformer to the transformer list.
Raw class transformer are similar to bytecode transformer but only for the specified class.
A ClassNode is passed to the transformer instead of the bytecode array.
- addRuntimeResource(String, byte[]) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
Add a new resource to the classpath during runtime.
- addTransformer(String) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a transformer class to the transformer list.
Use the direct class name for a single transformer (e.g.
- addTransformer(ClassNode) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a
ClassNode directly to the transformer list.
The class must still be annotated with
CTransformer.
- addTransformer(ClassNode, boolean) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a
ClassNode directly to the transformer list.
The class must still be annotated with
CTransformer.
- addTransformer(ClassNode, boolean, boolean) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add a
ClassNode directly to the transformer list.
The class must still be annotated with
CTransformer.
- addTransformerPreprocessor(IAnnotationHandlerPreprocessor) - Method in class net.lenni0451.classtransform.TransformerManager
-
Add an annotation handler preprocessor to the preprocessor list.
You can modify class transform annotations before they get parsed.
- addURL(URL) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
Add an url to the classpath.
- addVariable(String, String, int, Type, boolean) - Method in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute
-
- alreadyExists(MethodNode, ClassNode, ClassNode) - Static method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- alreadyExists(FieldNode, ClassNode, ClassNode) - Static method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- AMapper - Class in net.lenni0451.classtransform.mappings
-
The abstract remapper class responsible for remapping class transform annotations.
- AMapper(MapperConfig) - Constructor for class net.lenni0451.classtransform.mappings.AMapper
-
- AnnotationCoprocessorList - Class in net.lenni0451.classtransform.transformer.coprocessor
-
A list of
IAnnotationCoprocessor used to track the state of the transformation as every coprocessor can only be used once.
- AnnotationCoprocessorList() - Constructor for class net.lenni0451.classtransform.transformer.coprocessor.AnnotationCoprocessorList
-
- AnnotationHandler - Class in net.lenni0451.classtransform.transformer
-
The abstract base for all annotation handlers.
- AnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.AnnotationHandler
-
- AnnotationParser<T extends java.lang.annotation.Annotation> - Class in net.lenni0451.classtransform.utils.annotations
-
Create a new instance of an annotation from its raw ASM bytecode values.
- AnnotationParser(Class<T>, ClassTree, IClassProvider) - Constructor for class net.lenni0451.classtransform.utils.annotations.AnnotationParser
-
- AnnotationRemap - Annotation Type in net.lenni0451.classtransform.mappings.annotation
-
An internal annotation used to mark fields of ClassTransform annotations to be remapped.
You also need to specify this if you create your own transformer annotations.
- AnnotationUtils - Class in net.lenni0451.classtransform.utils.annotations
-
- AnnotationUtils() - Constructor for class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
- apply(T) - Method in interface net.lenni0451.classtransform.utils.Sneaky.ThrowingFunction
-
- argumentTypes(Object) - Static method in class net.lenni0451.classtransform.utils.Types
-
Get argument types from an object.
Supported types:
- String (Type.getArgumentTypes(String))
- Method (Type.getArgumentTypes(Method))
- MethodNode (Type.getArgumentTypes(String))
- MethodInsnNode (Type.getArgumentTypes(String))
- ASMComparator - Class in net.lenni0451.classtransform.utils
-
A utility class to compare ASM types with each other.
This is required because some ASM types do not override the equals method.
- ASMComparator() - Constructor for class net.lenni0451.classtransform.utils.ASMComparator
-
- ASMUtils - Class in net.lenni0451.classtransform.utils
-
General utils for using ASM.
- ASMUtils() - Constructor for class net.lenni0451.classtransform.utils.ASMUtils
-
- AttributeAccessor - Class in net.lenni0451.classtransform.utils.attributes
-
- AttributeAccessor() - Constructor for class net.lenni0451.classtransform.utils.attributes.AttributeAccessor
-
- canTransform() - Method in class net.lenni0451.classtransform.utils.tree.ClassTree
-
- CASM - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
Inject into a method using direct ASM.
You get direct access to the class/method node of the target.
The transformer methods have to be static and return
void.
By default, the transformer will be executed at the top of the handler chain.
You can change this by setting the
CASM.shift() value to
CASM.Shift.BOTTOM.
The code inside the method is isolated from the rest of the class and loaded.
Fields inside the transformer class are not accessible from the isolated method.
Methods accessed from the isolated method are getting copied into the isolated class.
Lambdas are not supported and will throw an exception during the isolation process.
Injecting into a class:
- CASM.Shift - Enum in net.lenni0451.classtransform.annotations.injection
-
- CASMAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
The annotation handler for the
CASM annotation.
- CASMAnnotationHandler(CASM.Shift) - Constructor for class net.lenni0451.classtransform.transformer.impl.CASMAnnotationHandler
-
- castReturnValue() - Method in class net.lenni0451.classtransform.InjectionCallback
-
- cause(Throwable) - Method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- CInject - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
Inject into a method at various targets.
The original code flow can be cancelled and own values can be returned.
The transformer method has to return
void and can have the following arguments:
The arguments of the target method
A
InjectionCallback for cancelling the original method and returning values
If the target method is static the transformer method has to be static as well.
The arguments have to be in the same order as the target method but are not required.
- CInjectAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
The annotation handler for the
CInject annotation.
- CInjectAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CInjectAnnotationHandler
-
- CInline - Annotation Type in net.lenni0451.classtransform.annotations
-
Inline an injection method into the target method.
This makes injecting into already loaded classes possible.
- CInlineAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
The annotation handler for the
CInline annotation.
- CInlineAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CInlineAnnotationHandler
-
- ClassDefiner<T> - Class in net.lenni0451.classtransform.utils.annotations
-
Define anonymous classes at runtime.
This class uses Unsafe for older java versions and method handles for newer versions.
- classLoader - Variable in class net.lenni0451.classtransform.utils.tree.BasicClassProvider
-
- ClassMetadata() - Constructor for class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper.ClassMetadata
-
- classParsed(String, String, String) - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
-
- classParsed(String, String, String) - Method in class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
-
- ClassTree - Class in net.lenni0451.classtransform.utils.tree
-
A class tree which dynamically loads tree parts on demand.
- ClassTree() - Constructor for class net.lenni0451.classtransform.utils.tree.ClassTree
-
- ClassTree(TransformerManager) - Constructor for class net.lenni0451.classtransform.utils.tree.ClassTree
-
- ClassTree.TreePart - Class in net.lenni0451.classtransform.utils.tree
-
- clearTransformerManager() - Method in class net.lenni0451.classtransform.TransformerDebugger
-
Clear all transformers and transformed classes.
Transformer preprocessors will not be cleared.
- CLocalVariable - Annotation Type in net.lenni0451.classtransform.annotations
-
The priority for identifying the local variable is:
1.
- CLocalVariableCoprocessor - Class in net.lenni0451.classtransform.transformer.coprocessor.impl
-
- CLocalVariableCoprocessor() - Constructor for class net.lenni0451.classtransform.transformer.coprocessor.impl.CLocalVariableCoprocessor
-
- clone(AnnotationNode) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Clone an annotation node and all its values.
- cloneClass(ClassNode) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Clone a class node with all its methods and fields.
- cloneInsnList(InsnList) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Clone an insn list with all its instructions.
- cloneLabels(InsnList) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Clone all labels from an insn list.
- cloneMethod(MethodNode) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Clone a method node with all its instructions.
- CModifyConstant - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
- CModifyConstantAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
- CModifyConstantAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CModifyConstantAnnotationHandler
-
- CModifyExpressionValue - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
Modify the value of an expression (method call/field access/new object creation).
When modifying the value (return value) of a method call, the target method must return a value and not be void.
Field values can be modified with field gets (GETFIELD/GETSTATIC) and field sets (PUTFIELD/PUTSTATIC).
New object creations can be modified with the NEW target.
The transformer method must have the modified value type as the only parameter and return type.
If the transformer target method is static, the transformer method must be static as well.
Modify the return value of a method call:
- CModifyExpressionValueAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
- CModifyExpressionValueAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CModifyExpressionValueAnnotationHandler
-
- Codifier - Class in net.lenni0451.classtransform.utils
-
Util class to generate method header strings.
This is used to print example method headers when a transformer requires a specific method signature.
- combiToRegex(String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Convert a field or method search pattern to a regex pattern.
Use * for a wildcard search.
e.g.
- compareType(Type, Type) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Compare a single type with a target type
This supports the usage of object instead of the actual type but does not check for other inheritance.
Object can not be used as a replacement for primitives.
- compareTypes(Type[], Type[]) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Compare an array of types with a target array of types.
This supports the usage of object instead of the actual type but does not check for other inheritance.
Object can not be used as a replacement for primitives.
- compareTypes(Type[], Type[], boolean, Type...) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Compare an array of types with a target array of types.
This supports the usage of object instead of the actual type but does not check for other inheritance.
Object can not be used as a replacement for primitives.
- ConstantTarget - Class in net.lenni0451.classtransform.targets.impl
-
A target for constants in the bytecode.
Valid constants:
- null
- int
- long
- float
- double
-
String
-
Class
The constant is defined in
CTarget.target().
e.g.
- ConstantTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.ConstantTarget
-
- CoprocessorUtils - Class in net.lenni0451.classtransform.utils
-
Utils for annotation coprocessors.
- CoprocessorUtils() - Constructor for class net.lenni0451.classtransform.utils.CoprocessorUtils
-
- CoprocessorUtils.AnnotatedParameter - Class in net.lenni0451.classtransform.utils
-
A parameter annotated with an annotation and its variable index and type.
- copy(MapRemapper) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Copy all mappings from another remapper to this one.
- copyClass(IClassProvider, String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
Copy a class to the runtime resources.
- copyResource(ClassLoader, String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
Copy a resource from a class loader to the runtime resources.
- count(String, String, int) - Static method in exception net.lenni0451.classtransform.exceptions.SliceException
-
- COverride - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
Override a method in a class.
The transformer method must have the same parameters and return type as the overridden method.
The access of the transformer method has to be higher or equal to the overridden method (private < package private < protected < public).
If the overridden method is static, the transformer method has to be static as well.
Overriding a method:
- COverrideAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
The annotation handler for the
COverride annotation.
- COverrideAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.COverrideAnnotationHandler
-
- create() - Static method in class net.lenni0451.classtransform.mappings.MapperConfig
-
- createEmptyClass(String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Create an empty class with a default constructor.
- CRecordComponent - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
Add a field as a record component and add the corresponding getter methods.
This also adds a new constructor to the record class with all added record components.
The Object.toString()/Object.equals(Object)/Object.hashCode() methods get reimplemented with the new components.
- CRecordComponentAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
- CRecordComponentAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CRecordComponentAnnotationHandler
-
- CRedirect - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
Redirect a specified method call or field access.
The following target types are supported:
INVOKE
FIELD
GETFIELD
PUTFIELD
NEW
- CRedirectAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
The annotation handler for the
CRedirect annotation.
- CRedirectAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CRedirectAnnotationHandler
-
- CRedirectField - Class in net.lenni0451.classtransform.transformer.impl.redirect
-
The redirect target transformer for fields.
- CRedirectField() - Constructor for class net.lenni0451.classtransform.transformer.impl.redirect.CRedirectField
-
- CRedirectInvoke - Class in net.lenni0451.classtransform.transformer.impl.redirect
-
The redirect target transformer for method invokes.
- CRedirectInvoke() - Constructor for class net.lenni0451.classtransform.transformer.impl.redirect.CRedirectInvoke
-
- CRedirectNew - Class in net.lenni0451.classtransform.transformer.impl.redirect
-
The redirect target transformer for Opcodes.NEW instructions.
- CRedirectNew() - Constructor for class net.lenni0451.classtransform.transformer.impl.redirect.CRedirectNew
-
- CReplaceCallback - Annotation Type in net.lenni0451.classtransform.annotations
-
- CReplaceCallbackAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
- CReplaceCallbackAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CReplaceCallbackAnnotationHandler
-
- CShadow - Annotation Type in net.lenni0451.classtransform.annotations
-
Create a shadow copy of a method/field/constructor to directly access the original member after injection.
When shadowing a method you can simply make the method native to skip the need of a method body.
- CShadowAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
The annotation handler for the
CShadow annotation.
- CShadowAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CShadowAnnotationHandler
-
- CShared - Annotation Type in net.lenni0451.classtransform.annotations
-
Share a variable between multiple methods injecting into the same target method.
- CSharedCoprocessor - Class in net.lenni0451.classtransform.transformer.coprocessor.impl
-
- CSharedCoprocessor() - Constructor for class net.lenni0451.classtransform.transformer.coprocessor.impl.CSharedCoprocessor
-
- CSlice - Annotation Type in net.lenni0451.classtransform.annotations
-
Specify a slice of bytecode to make choosing the injection target easier.
- CStub - Annotation Type in net.lenni0451.classtransform.annotations
-
Create a stub copy of a method/field/constructor to access the original member without requiring access to the original class.
This allows calling methods of objects that are not available at compile time.
- CStub.Access - Enum in net.lenni0451.classtransform.annotations
-
The type of access to the member.
- CStubAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
- CStubAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CStubAnnotationHandler
-
- CTarget - Annotation Type in net.lenni0451.classtransform.annotations
-
Specify the target of the transformer method.
The targets are specified in the
TransformerManager.
- CTarget.Shift - Enum in net.lenni0451.classtransform.annotations
-
The shift for injecting BEFORE/AFTER the target.
- CTargetImpl - Class in net.lenni0451.classtransform.utils
-
- CTargetImpl() - Constructor for class net.lenni0451.classtransform.utils.CTargetImpl
-
- CTransformer - Annotation Type in net.lenni0451.classtransform.annotations
-
Mark a class as a transformer class.
If your transformer does not have this annotation, an IllegalStateException will be thrown when registering it.
- CUpgrade - Annotation Type in net.lenni0451.classtransform.annotations
-
Upgrade the version of a class to use never java features.
This does not upgrade any code, it only changes the version of the class.
Downgrading is not possible.
- CUpgradeAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
The annotation handler for the
CUpgrade annotation.
- CUpgradeAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CUpgradeAnnotationHandler
-
- cutParameters(MethodNode, int) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Cut the given amount of parameters from the end of a method.
The actual code is not changed, only the descriptor and annotations.
- CWrapCatch - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
Wrap an entire method or a single method call in a try-catch block.
The transformer method must have the caught exception as the only parameter.
- CWrapCatchAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
The annotation handler for the
CWrapCatch annotation.
- CWrapCatchAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CWrapCatchAnnotationHandler
-
- CWrapCondition - Annotation Type in net.lenni0451.classtransform.annotations.injection
-
This annotation is used to wrap a method call or a field with a condition (if statement).
The return type of the transformer method must always be a boolean.
- CWrapConditionAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
-
- CWrapConditionAnnotationHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.CWrapConditionAnnotationHandler
-
- CWrapConditionField - Class in net.lenni0451.classtransform.transformer.impl.wrapcondition
-
- CWrapConditionField() - Constructor for class net.lenni0451.classtransform.transformer.impl.wrapcondition.CWrapConditionField
-
- CWrapConditionMethod - Class in net.lenni0451.classtransform.transformer.impl.wrapcondition
-
- CWrapConditionMethod() - Constructor for class net.lenni0451.classtransform.transformer.impl.wrapcondition.CWrapConditionMethod
-
- FailStrategy - Enum in net.lenni0451.classtransform.utils
-
The strategy used to handle transformer failures.
- FIELD_DECLARATION_PATTERN - Static variable in class net.lenni0451.classtransform.utils.ASMUtils
-
- FIELD_DECLARATION_REGEX - Static variable in class net.lenni0451.classtransform.utils.ASMUtils
-
- FieldMerger - Class in net.lenni0451.classtransform.transformer.impl.general.membercopy
-
- FieldMerger() - Constructor for class net.lenni0451.classtransform.transformer.impl.general.membercopy.FieldMerger
-
- FieldMetadata() - Constructor for class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper.FieldMetadata
-
- FieldNotFoundException - Exception in net.lenni0451.classtransform.exceptions
-
An exception which is thrown when a field could not be found during the transformation.
- FieldNotFoundException(ClassNode, ClassNode, String) - Constructor for exception net.lenni0451.classtransform.exceptions.FieldNotFoundException
-
- fieldParsed(String, String, String, String) - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
-
- fieldParsed(String, String, String, String) - Method in class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
-
- FieldTarget - Class in net.lenni0451.classtransform.targets.impl
-
A target for field access instructions.
e.g.
- FieldTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.FieldTarget
-
- FieldTarget(int, int) - Constructor for class net.lenni0451.classtransform.targets.impl.FieldTarget
-
- fillAllSuperMembers(MapRemapper, ClassTree, IClassProvider) - Static method in class net.lenni0451.classtransform.utils.mappings.SuperMappingFiller
-
Fill all super mappings for all classes found in the given remapper.
If a class could not be found the mappings for it will be skipped.
Missing mappings are added to the given remapper.
The remapper must map from named to obfuscated.
- fillSuperMappings - Variable in class net.lenni0451.classtransform.mappings.MapperConfig
-
- fillSuperMappings(boolean) - Method in class net.lenni0451.classtransform.mappings.MapperConfig
-
Fill all super mappings of the remapper.
This is required if the mappings are missing mappings for super methods.
- fillSuperMappings(boolean, FailStrategy) - Method in class net.lenni0451.classtransform.mappings.MapperConfig
-
Fill all super mappings of the remapper.
This is required if the mappings are missing mappings for super methods.
- fillSuperMembers(String, MapRemapper, ClassTree, IClassProvider) - Static method in class net.lenni0451.classtransform.utils.mappings.SuperMappingFiller
-
Fill all super mappings for the given class by name.
The class name must be separated by slashes.
Missing mappings are added to the given remapper.
- fillSuperMembers(ClassNode, Set<ClassNode>, MapRemapper) - Static method in class net.lenni0451.classtransform.utils.mappings.SuperMappingFiller
-
Fill all super mappings for the given class.
All input classes must be in the target format of the remapper.
Missing mappings are added to the given remapper.
- fillTransformerSuperMembers(ClassNode, MapRemapper, ClassTree, IClassProvider) - Static method in class net.lenni0451.classtransform.utils.mappings.SuperMappingFiller
-
Fill all super mappings for the given transformer targets.
Missing mappings are added to the given remapper.
- FillType - Enum in net.lenni0451.classtransform.mappings.annotation
-
The type of action to perform when remapping an annotation.
- findAnnotation(ClassNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible or invisible annotation in a ClassNode.
- findAnnotation(ClassNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible or invisible annotation in a ClassNode.
- findAnnotation(FieldNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible or invisible annotation in a FieldNode.
- findAnnotation(FieldNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible or invisible annotation in a FieldNode.
- findAnnotation(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible or invisible annotation in a MethodNode.
- findAnnotation(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible or invisible annotation in a MethodNode.
- findAnnotation(List<AnnotationNode>, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find an annotation in a list of annotations.
- findAnnotation(List<AnnotationNode>, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find an annotation in a list of annotations.
- findClass(String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
- findInvisibleAnnotation(ClassNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find an invisible annotation in a ClassNode.
- findInvisibleAnnotation(ClassNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find an invisible annotation in a ClassNode.
- findInvisibleAnnotation(FieldNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find an invisible annotation in a FieldNode.
- findInvisibleAnnotation(FieldNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find an invisible annotation in a FieldNode.
- findInvisibleAnnotation(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find an invisible annotation in a MethodNode.
- findInvisibleAnnotation(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find an invisible annotation in a MethodNode.
- findInvisibleParameterAnnotations(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find invisible parameter annotations in a MethodNode.
- findInvisibleParameterAnnotations(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find invisible parameter annotations in a MethodNode.
- findParameterAnnotations(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find visible or invisible parameter annotations in a MethodNode.
- findParameterAnnotations(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find visible or invisible parameter annotations in a MethodNode.
- findParameterAnnotations(List<AnnotationNode>[], Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find parameter annotations in a list of annotations.
- findParameterAnnotations(List<AnnotationNode>[], String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find parameter annotations in a list of annotations.
- findResource(String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
- findResources(String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
- findVisibleAnnotation(ClassNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible annotation in a ClassNode.
- findVisibleAnnotation(ClassNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible annotation in a ClassNode.
- findVisibleAnnotation(FieldNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible annotation in a FieldNode.
- findVisibleAnnotation(FieldNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible annotation in a FieldNode.
- findVisibleAnnotation(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible annotation in a MethodNode.
- findVisibleAnnotation(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find a visible annotation in a MethodNode.
- findVisibleParameterAnnotations(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find visible parameter annotations in a MethodNode.
- findVisibleParameterAnnotations(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Find visible parameter annotations in a MethodNode.
- forEach(ClassNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all annotations in a ClassNode.
- forEach(FieldNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all annotations in a FieldNode.
- forEach(MethodNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all annotations in a MethodNode.
- forEachInvisible(ClassNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all invisible annotations in a ClassNode.
- forEachInvisible(FieldNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all invisible annotations in a FieldNode.
- forEachInvisible(MethodNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all invisible annotations in a MethodNode.
- forEachVisible(ClassNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all visible annotations in a ClassNode.
- forEachVisible(FieldNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all visible annotations in a FieldNode.
- forEachVisible(MethodNode, Consumer<AnnotationNode>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Iterate through all visible annotations in a MethodNode.
- format(String, String, Object[]) - Method in class net.lenni0451.classtransform.utils.log.impl.SysoutLogger
-
- fromBytes(byte[]) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get a class node from the raw bytecode of a class.
- fromBytes(byte[], int) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get a class node from the raw bytecode of a class.
- generateClassName(String) - Static method in class net.lenni0451.classtransform.utils.annotations.ClassDefiner
-
Generate a name for the defined class.
When using method handles to define a class the package name has to be the same as the caller class.
- get() - Static method in class net.lenni0451.classtransform.utils.Codifier
-
- get() - Method in interface net.lenni0451.classtransform.utils.IOSupplier
-
- get() - Method in interface net.lenni0451.classtransform.utils.Sneaky.ThrowingSupplier
-
- getAllClasses() - Method in class net.lenni0451.classtransform.utils.tree.BasicClassProvider
-
- getAllClasses() - Method in interface net.lenni0451.classtransform.utils.tree.IClassProvider
-
Get a map of all classes with a supplier for their bytecode.
Class names need to be with '.' instead of '/'.
The map must be mutable!
- getAnnotatedParameters(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.CoprocessorUtils
-
Get all annotated parameters of a method.
- getAnnotation(Class<T>, ClassNode, TransformerManager) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
-
Get a parsed annotation from a class node.
- getAnnotation(Class<T>, FieldNode, TransformerManager) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
-
Get a parsed annotation from a field node.
- getAnnotation(Class<T>, MethodNode, TransformerManager) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
-
Get a parsed annotation from a method node.
- getAnnotation(Class<T>, List<AnnotationNode>, TransformerManager) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
-
Get a parsed annotation from a list of annotation nodes.
- getAnnotation() - Method in class net.lenni0451.classtransform.utils.CoprocessorUtils.AnnotatedParameter
-
- getAnnotationIndex() - Method in class net.lenni0451.classtransform.utils.CoprocessorUtils.AnnotatedParameter
-
- getArgs() - Method in class net.lenni0451.classtransform.utils.log.Logger.MessageArgs
-
- getCast(Type) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the byte code to cast an object to a given type.
Converts primitive wrapper to their primitive types (e.g.
- getClass(String) - Method in class net.lenni0451.classtransform.utils.tree.BasicClassProvider
-
- getClass(String) - Method in interface net.lenni0451.classtransform.utils.tree.IClassProvider
-
Get the bytecode of a class.
Class name is with '.' instead of '/'.
- getClassProvider() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getClassTree() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getClazz() - Method in class net.lenni0451.classtransform.utils.annotations.ClassDefiner
-
- getCommonSuperClass(String, String) - Method in class net.lenni0451.classtransform.utils.tree.TreeClassWriter
-
- getContent(Attribute) - Static method in class net.lenni0451.classtransform.utils.attributes.AttributeAccessor
-
- getCoprocessors() - Method in class net.lenni0451.classtransform.TransformerManager
-
Create and get a new array of all coprocessors.
- getDebugger() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getDesc() - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
- getException() - Method in class net.lenni0451.classtransform.utils.log.Logger.MessageArgs
-
- getFailStrategy() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getField(ClassNode, String, String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get a field node from a class node using the name.
The descriptor is passed as a parameter but is not used for the search.
- getfield(String, int) - Static method in class net.lenni0451.classtransform.utils.CTargetImpl
-
- getFieldsFromCombi(ClassNode, String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get a list of method nodes from a class node using the combined name and descriptor.
Use * for a wildcard search.
e.g.
- getFirstConstructorInstruction(String, MethodNode) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the first instruction of a constructor skipping the super init call.
- getFreeVarIndex(MethodNode) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the last empty local variable index.
You can simply count the index up from there.
- getGroup() - Method in class net.lenni0451.classtransform.debugger.timings.TimedTransformer
-
- getHotswapClass(String) - Method in class net.lenni0451.classtransform.utils.HotswapClassLoader
-
Get the bytecode of a fake class.
This fake class only contains a constructor.
- getIndex() - Method in class net.lenni0451.classtransform.utils.CoprocessorUtils.AnnotatedParameter
-
- getInjectionTarget(String) - Method in class net.lenni0451.classtransform.TransformerManager
-
Get an injection target by its name.
The name is case-insensitive.
- getInjectionTargets() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getInstrumentation() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getLoadOpcode(Type) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the needed load opcode for the given type.
- getLoadStoreOpcodes(String, String, int) - Method in interface net.lenni0451.classtransform.transformer.impl.redirect.IRedirectTarget
-
Get the load and store opcodes for the given method invocation.
- getMapper() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getMappings() - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
- getMentionedClasses() - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Get a list of all classes that are mentioned in the mappings.
This includes classes which are not directly mapped but are part of a field or method mapping.
- getMessage() - Method in exception net.lenni0451.classtransform.exceptions.FieldNotFoundException
-
- getMessage() - Method in exception net.lenni0451.classtransform.exceptions.InvalidTargetException
-
- getMessage() - Method in exception net.lenni0451.classtransform.exceptions.MethodNotFoundException
-
- getMessage() - Method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- getMetadata() - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
-
Get the parsed metadata.
All class/field/method names and descriptors are in the 'to' namespace.
- getMethod(ClassNode, String, String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get a method node from a class node using the name and descriptor.
- getMethodsFromCombi(ClassNode, String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get a list of method nodes from a class node using the combined name and descriptor.
Use * for a wildcard search.
e.g.
- getModifiers() - Method in class net.lenni0451.classtransform.utils.tree.ClassTree.TreePart
-
- getName() - Method in class net.lenni0451.classtransform.debugger.timings.TimedTransformer
-
- getName() - Method in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute.SharedVariable
-
- getName() - Method in class net.lenni0451.classtransform.utils.CoprocessorUtils.AnnotatedParameter
-
- getName() - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
- getName() - Method in class net.lenni0451.classtransform.utils.tree.ClassTree.TreePart
-
- getNode() - Method in class net.lenni0451.classtransform.utils.tree.ClassTree.TreePart
-
The bytecode of the class may not valid since it is missing stack map frames.
- getNumber(AbstractInsnNode) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get a number from an insn node if it represents one.
This also works for constants (e.g.
- getOwner() - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
- getParameterIndices(MethodNode) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the variable indices for the parameters of a method.
- getParameterIndices(Type[], boolean) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the variable indices for an array of types.
- getParsedSuperClasses(IClassProvider, boolean) - Method in class net.lenni0451.classtransform.utils.tree.ClassTree.TreePart
-
Get the class tree parts of all super classes of this class.
This includes the super class and all interfaces.
- getPrimitiveToObject(Type) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the byte code to wrap a primitive to its wrapper type (e.g.
- getRegisteredTransformer() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getRemapper() - Method in class net.lenni0451.classtransform.mappings.AMapper
-
Get the remapper used by this mapper.
- getResource(String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
- getReturnOpcode(Type) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the needed return opcode for the given type.
- getReturnValue() - Method in class net.lenni0451.classtransform.InjectionCallback
-
- getShift(CTarget) - Method in interface net.lenni0451.classtransform.targets.IInjectionTarget
-
Get the shift for this target.
By default, it is defined in the
CTarget annotation.
- getShift(CTarget) - Method in class net.lenni0451.classtransform.targets.impl.HeadTarget
-
- getShift(CTarget) - Method in class net.lenni0451.classtransform.targets.impl.ReturnTarget
-
- getShift(CTarget) - Method in class net.lenni0451.classtransform.targets.impl.TailTarget
-
- getShift(CTarget) - Method in class net.lenni0451.classtransform.targets.impl.ThrowTarget
-
- getSlice(Map<String, IInjectionTarget>, MethodNode, CSlice) - Method in interface net.lenni0451.classtransform.targets.IInjectionTarget
-
Get all instructions in the given slice.
- getStartingMappings(String...) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Get a list of all mapping keys starting with one of the given prefixes.
- getStoreOpcode(Type) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the needed store opcode for the given type.
- getSuperClasses() - Method in class net.lenni0451.classtransform.utils.tree.ClassTree.TreePart
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in interface net.lenni0451.classtransform.targets.IInjectionTarget
-
Get all matching target instructions.
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.ConstantTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.FieldTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.HeadTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.InvokeTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.NewTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.OpcodeTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.ReturnTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.TailTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.targets.impl.ThrowTarget
-
- getTargets(Map<String, IInjectionTarget>, MethodNode, CTarget, CSlice) - Method in class net.lenni0451.classtransform.transformer.impl.CModifyConstantAnnotationHandler
-
- getTimings() - Method in class net.lenni0451.classtransform.debugger.TransformerTimings
-
- getTimings() - Method in class net.lenni0451.classtransform.TransformerDebugger
-
- getTransformedClasses() - Method in class net.lenni0451.classtransform.TransformerManager
-
- getTransformer() - Method in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute.SharedVariable
-
- getTransformerManager() - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
- getTreePart(IClassProvider, String) - Method in class net.lenni0451.classtransform.utils.tree.ClassTree
-
Get a tree part from a class by name.
- getType() - Method in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute.SharedVariable
-
- getType() - Method in class net.lenni0451.classtransform.utils.CoprocessorUtils.AnnotatedParameter
-
- getValues() - Method in interface net.lenni0451.classtransform.utils.annotations.IParsedAnnotation
-
- getVariableIndex(String, String, boolean) - Method in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute
-
- getVariableIndex() - Method in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute.SharedVariable
-
- HandlerPosition - Enum in net.lenni0451.classtransform.transformer
-
The position to add an annotation handler to in the handler chain.
- hasAnnotation(ClassNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a ClassNode has a visible or invisible annotation.
- hasAnnotation(ClassNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a ClassNode has a visible or invisible annotation.
- hasAnnotation(FieldNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a FieldNode has a visible or invisible annotation.
- hasAnnotation(FieldNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a FieldNode has a visible or invisible annotation.
- hasAnnotation(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has a visible or invisible annotation.
- hasAnnotation(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has a visible or invisible annotation.
- hasAnnotation(List<AnnotationNode>, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a list of annotations has an annotation.
- hasAnnotation(List<AnnotationNode>, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a list of annotations has an annotation.
- hasException() - Method in class net.lenni0451.classtransform.utils.log.Logger.MessageArgs
-
- hasField(ClassNode, String, String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Check if a class node has a field with the given name and descriptor.
- hashCode() - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
- hashCode() - Method in class net.lenni0451.classtransform.utils.tree.ClassTree.TreePart
-
- hasInvisibleAnnotation(ClassNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a ClassNode has an invisible annotation.
- hasInvisibleAnnotation(ClassNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a ClassNode has an invisible annotation.
- hasInvisibleAnnotation(FieldNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a FieldNode has an invisible annotation.
- hasInvisibleAnnotation(FieldNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a FieldNode has an invisible annotation.
- hasInvisibleAnnotation(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has an invisible annotation.
- hasInvisibleAnnotation(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has an invisible annotation.
- hasInvisibleParameterAnnotations(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has invisible parameter annotations.
- hasInvisibleParameterAnnotations(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has invisible parameter annotations.
- hasMethod(ClassNode, String, String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Check if a class node has a method with the given name and descriptor.
- hasParameterAnnotations(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has visible or invisible parameter annotations.
- hasParameterAnnotations(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has visible or invisible parameter annotations.
- hasParameterAnnotations(List<AnnotationNode>[], Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if an array of parameter annotations has an annotation.
- hasParameterAnnotations(List<AnnotationNode>[], String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if an array of parameter annotations has an annotation.
- hasVisibleAnnotation(ClassNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a ClassNode has a visible annotation.
- hasVisibleAnnotation(ClassNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a ClassNode has a visible annotation.
- hasVisibleAnnotation(FieldNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a FieldNode has a visible annotation.
- hasVisibleAnnotation(FieldNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a FieldNode has a visible annotation.
- hasVisibleAnnotation(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has a visible annotation.
- hasVisibleAnnotation(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has a visible annotation.
- hasVisibleParameterAnnotations(MethodNode, Class<?>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has visible parameter annotations.
- hasVisibleParameterAnnotations(MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
-
Check if a MethodNode has visible parameter annotations.
- HeadTarget - Class in net.lenni0451.classtransform.targets.impl
-
A target for the head (before first instruction) of a method.
- HeadTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.HeadTarget
-
- help(Codifier) - Method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- help(String) - Method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- hookInstrumentation(Instrumentation) - Method in class net.lenni0451.classtransform.TransformerManager
-
Hook an Instrumentation instance to allow for transformation using it.
This allows to transform classes already loaded by the JVM.
You have to be careful with re-transforming classes since you can't modify the class structure (e.g.
- hookInstrumentation(Instrumentation, boolean) - Method in class net.lenni0451.classtransform.TransformerManager
-
Hook an Instrumentation instance to allow for transformation using it.
This allows to transform classes already loaded by the JVM.
You have to be careful with re-transforming classes since you can't modify the class structure (e.g.
- HotswapClassLoader - Class in net.lenni0451.classtransform.utils
-
Internal class loader required for transformer hotswapping.
Fake classes with the same name as the transformer classes are loaded from this class loader.
This causes the JVM to pass the changed transformer bytecode into the instrumentation ClassFileTransformer which the reapplies the transformer to the unmodified class bytecode.
- HotswapClassLoader() - Constructor for class net.lenni0451.classtransform.utils.HotswapClassLoader
-
- IAnnotationCoprocessor - Interface in net.lenni0451.classtransform.transformer
-
Coprocessor for annotation handlers.
- IAnnotationHandlerPreprocessor - Interface in net.lenni0451.classtransform.transformer
-
A preprocessor for annotation handlers.
This is used to modify the transformer class before it is parsed.
- IBytecodeTransformer - Interface in net.lenni0451.classtransform.transformer
-
A bytecode transformer like ClassFileTransformer.
- IClassProvider - Interface in net.lenni0451.classtransform.utils.tree
-
A provider for class bytecode.
- IDynamicRemapper - Interface in net.lenni0451.classtransform.mappings.dynamic
-
- IInjectionTarget - Interface in net.lenni0451.classtransform.targets
-
The interface which is used to define a target for an injection.
- ILogger - Interface in net.lenni0451.classtransform.utils.log
-
- IN_Boolean - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Byte - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Character - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Double - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Float - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Integer - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Long - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Object - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Short - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_String - Static variable in class net.lenni0451.classtransform.utils.Types
-
- IN_Void - Static variable in class net.lenni0451.classtransform.utils.Types
-
- info(String, Object...) - Method in interface net.lenni0451.classtransform.utils.log.ILogger
-
- info(String, Object...) - Method in class net.lenni0451.classtransform.utils.log.impl.SysoutLogger
-
- info(String, Object...) - Static method in class net.lenni0451.classtransform.utils.log.Logger
-
- init() - Method in class net.lenni0451.classtransform.mappings.AMapper
-
- init() - Method in class net.lenni0451.classtransform.mappings.impl.ProguardMapper
-
- init() - Method in class net.lenni0451.classtransform.mappings.impl.RawMapper
-
- init() - Method in class net.lenni0451.classtransform.mappings.impl.SrgMapper
-
- init() - Method in class net.lenni0451.classtransform.mappings.impl.TinyV1Mapper
-
- init() - Method in class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
-
- init() - Method in class net.lenni0451.classtransform.mappings.impl.VoidMapper
-
- InitializerMerger - Class in net.lenni0451.classtransform.transformer.impl.general.membercopy
-
- InitializerMerger() - Constructor for class net.lenni0451.classtransform.transformer.impl.general.membercopy.InitializerMerger
-
- inject(ClassNode, MethodNode, ClassNode, MethodNode, AbstractInsnNode, List<MethodInsnNode>) - Method in class net.lenni0451.classtransform.transformer.impl.redirect.CRedirectField
-
- inject(ClassNode, MethodNode, ClassNode, MethodNode, AbstractInsnNode, List<MethodInsnNode>) - Method in class net.lenni0451.classtransform.transformer.impl.redirect.CRedirectInvoke
-
- inject(ClassNode, MethodNode, ClassNode, MethodNode, AbstractInsnNode, List<MethodInsnNode>) - Method in class net.lenni0451.classtransform.transformer.impl.redirect.CRedirectNew
-
- inject(ClassNode, MethodNode, ClassNode, MethodNode, AbstractInsnNode, List<MethodInsnNode>) - Method in interface net.lenni0451.classtransform.transformer.impl.redirect.IRedirectTarget
-
Redirect the given target nodes.
- inject(ClassNode, ClassNode, MethodNode, MethodNode, FieldInsnNode) - Method in class net.lenni0451.classtransform.transformer.impl.wrapcondition.CWrapConditionField
-
- inject(ClassNode, ClassNode, MethodNode, MethodNode, MethodInsnNode) - Method in class net.lenni0451.classtransform.transformer.impl.wrapcondition.CWrapConditionMethod
-
- inject(ClassNode, ClassNode, MethodNode, MethodNode, T) - Method in interface net.lenni0451.classtransform.transformer.impl.wrapcondition.IWrapConditionTarget
-
Wrap the given target node.
- InjectionCallback - Class in net.lenni0451.classtransform
-
The callback used to cancel
CInject transformer.
- InjectionCallback(boolean) - Constructor for class net.lenni0451.classtransform.InjectionCallback
-
- InjectionCallback(boolean, Object) - Constructor for class net.lenni0451.classtransform.InjectionCallback
-
- InjectionCallbackReplacer - Class in net.lenni0451.classtransform.utils
-
- InjectionCallbackReplacer() - Constructor for class net.lenni0451.classtransform.utils.InjectionCallbackReplacer
-
- InjectionClassLoader - Class in net.lenni0451.classtransform.utils.loader
-
Inject into classes by using a custom class loader.
- InjectionClassLoader(TransformerManager, URL...) - Constructor for class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
- InjectionClassLoader(TransformerManager, ClassLoader, URL...) - Constructor for class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
- InjectionInfo - Annotation Type in net.lenni0451.classtransform.annotations
-
This annotation is used to mark methods which have been added by ClassTransform.
This provides some extra information if the transformed class is dumped.
- InnerClassGeneralHandler - Class in net.lenni0451.classtransform.transformer.impl.general
-
Remap and make transformer inner classes accessible from the transformed classes.
- InnerClassGeneralHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.general.InnerClassGeneralHandler
-
- InterfaceMerger - Class in net.lenni0451.classtransform.transformer.impl.general.membercopy
-
- InterfaceMerger() - Constructor for class net.lenni0451.classtransform.transformer.impl.general.membercopy.InterfaceMerger
-
- internalName(Object) - Static method in class net.lenni0451.classtransform.utils.Types
-
- intPush(int) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Create a new insn node representing the given int.
This uses the most efficient opcode for the given int.
- invalidMemberDeclaration(MethodNode, ClassNode, String) - Static method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- InvalidTargetException - Exception in net.lenni0451.classtransform.exceptions
-
An exception which is thrown when the target of an injection could not be found.
- InvalidTargetException(MethodNode, ClassNode, String, Collection<String>) - Constructor for exception net.lenni0451.classtransform.exceptions.InvalidTargetException
-
- invoke(String, int) - Static method in class net.lenni0451.classtransform.utils.CTargetImpl
-
- InvokeTarget - Class in net.lenni0451.classtransform.targets.impl
-
A target for method invocation instructions.
e.g.
- InvokeTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.InvokeTarget
-
- IOSupplier<T> - Interface in net.lenni0451.classtransform.utils
-
- IParsedAnnotation - Interface in net.lenni0451.classtransform.utils.annotations
-
An interface providing extra methods to a parsed annotation by the
AnnotationParser.
- IPostTransformer - Interface in net.lenni0451.classtransform.transformer
-
A handler for all transformed classes after they are transformed.
- IRawTransformer - Interface in net.lenni0451.classtransform.transformer
-
A transformer which has access to the parsed class node of the transformed class.
- IRedirectTarget - Interface in net.lenni0451.classtransform.transformer.impl.redirect
-
The interface for a redirect target transformer.
- is(FieldInsnNode) - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
Check if a FieldInsnNode references the same field as this declaration.
- is(MethodInsnNode) - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
Check if a MethodInsnNode references the same method as this declaration.
- is(String, String, String) - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
Check if an owner, name and descriptor match this declaration.
- isAccessLower(int, int) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Check if the given access is lower than another.
private < package private < protected < public
- isCancellable() - Method in class net.lenni0451.classtransform.InjectionCallback
-
- isCancelled() - Method in class net.lenni0451.classtransform.InjectionCallback
-
- isDumpClasses() - Method in class net.lenni0451.classtransform.TransformerDebugger
-
- isDumpClassOnFailure() - Method in class net.lenni0451.classtransform.TransformerDebugger
-
- isEmpty() - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper.ClassMetadata
-
- isEmpty() - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper.FieldMetadata
-
- isEmpty() - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper.MethodMetadata
-
- isEmpty() - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
- isFieldMapping() - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
- isGlobal() - Method in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute.SharedVariable
-
- isMethodMapping() - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
- isPrimitive(Type) - Static method in class net.lenni0451.classtransform.utils.Types
-
Check if a type is a primitive type.
Primitive Types:
- void (Type.VOID_TYPE)
- boolean (Type.BOOLEAN_TYPE)
- byte (Type.BYTE_TYPE)
- short (Type.SHORT_TYPE)
- char (Type.CHAR_TYPE)
- int (Type.INT_TYPE)
- long (Type.LONG_TYPE)
- float (Type.FLOAT_TYPE)
- double (Type.DOUBLE_TYPE)
- isProtected(String) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
Check if the given class is protected and should not be transformed/loaded by this class loader.
- IWrapConditionTarget<T extends org.objectweb.asm.tree.AbstractInsnNode> - Interface in net.lenni0451.classtransform.transformer.impl.wrapcondition
-
- param(Type) - Method in class net.lenni0451.classtransform.utils.Codifier
-
Add a parameter to the method.
If null is passed as the parameter the current parameter list will be cleared.
- ParameterMetadata() - Constructor for class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper.ParameterMetadata
-
- params(Type...) - Method in class net.lenni0451.classtransform.utils.Codifier
-
Add multiple parameters to the method.
- parse(Class<T>, TransformerManager, Map<String, Object>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationParser
-
Create a new instance for the given annotation class.
- parse(Class<T>, ClassTree, IClassProvider, Map<String, Object>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationParser
-
Create a new instance for the given annotation class.
- parse(Map<String, Object>) - Method in class net.lenni0451.classtransform.utils.annotations.AnnotationParser
-
Parse the given key value pairs to a new instance of the annotation.
- parseComment(String, String, String[]) - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
-
- parseComment(String, String, String[]) - Method in class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
-
- parseParameter(String, String[]) - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
-
- parseParameter(String, String[]) - Method in class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
-
- parseSuperClass(IClassProvider) - Method in class net.lenni0451.classtransform.utils.tree.ClassTree.TreePart
-
Get the class node of the super class of this class.
- postInit(MapRemapper) - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
-
- postInit(MapRemapper) - Method in class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
-
- postprocess(TransformerManager, ClassNode, MethodNode, List<MethodInsnNode>, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.coprocessor.AnnotationCoprocessorList
-
Postprocess the transformer and target method after the annotation handler injected calls to the target method.
The transformerMethodCalls list only contains direct calls to the transformer method.
- postprocess(TransformerManager, ClassNode, MethodNode, List<MethodInsnNode>, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.coprocessor.impl.CLocalVariableCoprocessor
-
- postprocess(TransformerManager, ClassNode, MethodNode, List<MethodInsnNode>, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.coprocessor.impl.CSharedCoprocessor
-
- postprocess(TransformerManager, ClassNode, MethodNode, List<MethodInsnNode>, ClassNode, MethodNode) - Method in interface net.lenni0451.classtransform.transformer.IAnnotationCoprocessor
-
Postprocess the transformer and target method after the annotation handler injected calls to the target method.
The transformerMethodCalls list only contains direct calls to the transformer method.
Example usage: Add the parameter array back and modify the calls to the transformer method to use the parameter array.
- prepareForCopy(ClassNode, FieldNode) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
-
- prepareForCopy(ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
-
- preprocess(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.coprocessor.AnnotationCoprocessorList
-
Preprocess the transformer method before the annotation handler injects calls to the target method.
This happens before the transformer method is verified by the annotation handler.
- preprocess(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.coprocessor.impl.CLocalVariableCoprocessor
-
- preprocess(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.coprocessor.impl.CSharedCoprocessor
-
- preprocess(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode) - Method in interface net.lenni0451.classtransform.transformer.IAnnotationCoprocessor
-
Preprocess the target method before the annotation handler injects calls to the target method.
This happens before the transformer method is verified by the annotation handler.
Example usage: Merge all parameters into one array and add it to the end of the method.
- process(ClassNode) - Method in interface net.lenni0451.classtransform.transformer.IAnnotationHandlerPreprocessor
-
Process a transformer before it is read.
You can modify the class transform annotations before parsing.
- ProguardMapper - Class in net.lenni0451.classtransform.mappings.impl
-
A remapper that uses a proguard mapping file for remapping.
- ProguardMapper(MapperConfig, InputStream) - Constructor for class net.lenni0451.classtransform.mappings.impl.ProguardMapper
-
- ProguardMapper(MapperConfig, File) - Constructor for class net.lenni0451.classtransform.mappings.impl.ProguardMapper
-
- putfield(String, int) - Static method in class net.lenni0451.classtransform.utils.CTargetImpl
-
- RawMapper - Class in net.lenni0451.classtransform.mappings.impl
-
A remapper that uses the given
MapRemapper for remapping.
- RawMapper(MapperConfig, MapRemapper) - Constructor for class net.lenni0451.classtransform.mappings.impl.RawMapper
-
- readLines(File) - Method in class net.lenni0451.classtransform.mappings.AMapper
-
- readLines(InputStream) - Method in class net.lenni0451.classtransform.mappings.AMapper
-
- remap(String, String, ClassNode) - Static method in class net.lenni0451.classtransform.utils.mappings.Remapper
-
Remap a class node from the given name to the new name.
The original class will not be modified.
- remap(ClassNode, MapRemapper) - Static method in class net.lenni0451.classtransform.utils.mappings.Remapper
-
Remap a class node using a custom remapper.
The original class will not be modified.
- remapAndAdd(ClassNode, ClassNode, MethodNode) - Static method in class net.lenni0451.classtransform.utils.mappings.Remapper
-
Remap a method node and add it to the target class.
The original class/method will not be modified.
- remapAndAdd(ClassNode, ClassNode, FieldNode) - Static method in class net.lenni0451.classtransform.utils.mappings.Remapper
-
Remap a field node and add it to the target class.
The original class/field will not be modified.
- remapAndAdd(String, String, ClassNode, MethodNode) - Static method in class net.lenni0451.classtransform.utils.mappings.Remapper
-
Remap a method node and add it to the target class.
The original class/method will not be modified.
- remapAndAdd(String, String, ClassNode, FieldNode) - Static method in class net.lenni0451.classtransform.utils.mappings.Remapper
-
Remap a field node and add it to the target class.
The original class/field will not be modified.
- remapper - Variable in class net.lenni0451.classtransform.mappings.AMapper
-
- Remapper - Class in net.lenni0451.classtransform.utils.mappings
-
Util methods to remap classes, methods and fields.
- Remapper() - Constructor for class net.lenni0451.classtransform.utils.mappings.Remapper
-
- remapTransformer - Variable in class net.lenni0451.classtransform.mappings.MapperConfig
-
- remapTransformer(boolean) - Method in class net.lenni0451.classtransform.mappings.MapperConfig
-
Remap the transformer class to match the transformed class.
This can be used if the transformer is made using a remapped class which is still obfuscated during runtime.
- RemapType - Enum in net.lenni0451.classtransform.mappings.annotation
-
The type of the annotation field to remap.
- removeParameters(MethodNode, int...) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Remove the given parameter indices from a method.
The actual code is not changed, only the descriptor and annotations.
- RemovingAnnotationHandler<T extends java.lang.annotation.Annotation> - Class in net.lenni0451.classtransform.transformer.types
-
An abstract annotation handler which handles all annotations of the given type.
The handled transformer methods are removed from the transformer class afterward.
- RemovingAnnotationHandler(Class<T>) - Constructor for class net.lenni0451.classtransform.transformer.types.RemovingAnnotationHandler
-
- RemovingTargetAnnotationHandler<T extends java.lang.annotation.Annotation> - Class in net.lenni0451.classtransform.transformer.types
-
An abstract annotation handler which handles all annotations of the given type.
The handled transformer methods are removed from the transformer class afterward.
The target methods of the transformer are automatically parsed.
- RemovingTargetAnnotationHandler(Class<T>, Function<T, String[]>) - Constructor for class net.lenni0451.classtransform.transformer.types.RemovingTargetAnnotationHandler
-
- renameAndCopy(MethodNode, MethodNode, ClassNode, ClassNode, String) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
-
Rename a method and add it to the target class node.
- replace(ClassNode) - Method in interface net.lenni0451.classtransform.transformer.IAnnotationHandlerPreprocessor
-
Process a transformer before it is read.
You can modify the class transform annotations before parsing.
- replace(String, byte[]) - Method in interface net.lenni0451.classtransform.transformer.IPostTransformer
-
Handle the name and bytecode of all transformed classes.
If the class should be replaced return the new bytecode, otherwise return null.
- replaceCallback(ClassNode) - Static method in class net.lenni0451.classtransform.utils.InjectionCallbackReplacer
-
Replace all
InjectionCallback instances with an
Object[].
This can be used if the
InjectionCallback class is not available in the target environment.
The object array will contain the following values:
{cancellable, cancelled, returnValue, returnValueSet}
All important checks from the
InjectionCallback class are also included in the replacement.
- resolve(Object[]) - Static method in class net.lenni0451.classtransform.utils.log.Logger
-
- ReturnTarget - Class in net.lenni0451.classtransform.targets.impl
-
A target for
Opcodes.RETURN instructions.
When using
CInject the original return value is accessible using the
InjectionCallback.
- ReturnTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.ReturnTarget
-
- returnType(Type) - Method in class net.lenni0451.classtransform.utils.Codifier
-
Set the return type of the method.
- returnType(Object) - Static method in class net.lenni0451.classtransform.utils.Types
-
Get a return type from an object.
Supported types:
- String (Type.getReturnType(String))
- Method (Type.getReturnType(Method))
- MethodNode (Type.getReturnType(String))
- MethodInsnNode (Type.getReturnType(String))
- Type (return type)
- reverse() - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
-
Reverse the mappings of this remapper.
- setAccess(int, int) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Set the wanted access to a given access mask.
Other access flags will be removed.
- setCancelled(boolean) - Method in class net.lenni0451.classtransform.InjectionCallback
-
Set the original method to be cancelled.
- setDumpClasses(boolean) - Method in class net.lenni0451.classtransform.TransformerDebugger
-
Enable or disable dumping of transformed classes.
This is enabled by default if the system property classtransform.dumpClasses is set.
- setDumpClassOnFailure(boolean) - Method in class net.lenni0451.classtransform.TransformerDebugger
-
Enable or disable dumping of input classes on failure.
This is enabled by default if the system property classtransform.dumpClassesOnFailure is set.
- setFailStrategy(FailStrategy) - Method in class net.lenni0451.classtransform.TransformerManager
-
Set the fail strategy used when a transformer fails.
- setModifier(int, int, boolean) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Set a modifier to a given access mask.
- setPriority(EnumLoaderPriority) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
-
Set the priority of the load class method.
- setReturnValue(Object) - Method in class net.lenni0451.classtransform.InjectionCallback
-
Set the return value of the original method.
This will also set the cancelled state to true.
- SharedVariableAttribute - Class in net.lenni0451.classtransform.utils.attributes
-
- SharedVariableAttribute() - Constructor for class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute
-
- SharedVariableAttribute(Attribute) - Constructor for class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute
-
- SharedVariableAttribute.SharedVariable - Class in net.lenni0451.classtransform.utils.attributes
-
- shouldExecute(CASM) - Method in class net.lenni0451.classtransform.transformer.impl.CASMAnnotationHandler
-
- shouldExecute(T) - Method in class net.lenni0451.classtransform.transformer.types.RemovingAnnotationHandler
-
Check if the transformer should be executed.
If the transformer is not executed the method will not be removed.
- slash(String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Replace all dots with slashes in the given class/package name.
- SliceException - Exception in net.lenni0451.classtransform.exceptions
-
- Sneaky - Class in net.lenni0451.classtransform.utils
-
- Sneaky() - Constructor for class net.lenni0451.classtransform.utils.Sneaky
-
- Sneaky.ThrowingFunction<T,R> - Interface in net.lenni0451.classtransform.utils
-
- Sneaky.ThrowingSupplier<T> - Interface in net.lenni0451.classtransform.utils
-
- sneakyFunction(Sneaky.ThrowingFunction<T, R>) - Static method in class net.lenni0451.classtransform.utils.Sneaky
-
- sneakySupply(Sneaky.ThrowingSupplier<T>) - Static method in class net.lenni0451.classtransform.utils.Sneaky
-
- sneakyThrow(Throwable) - Static method in class net.lenni0451.classtransform.utils.Sneaky
-
- splitMemberDeclaration(String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Split a member declaration into owner, name and descriptor.
All parts are required.
Examples:
- java/lang/String.length()I
- java/lang/System.out:Ljava/io/PrintStream;
- Ljava/lang/String;length()I
- Ljava/lang/System;out:Ljava/io/PrintStream;
- SrgMapper - Class in net.lenni0451.classtransform.mappings.impl
-
A remapper that uses srg mappings for remapping.
- SrgMapper(MapperConfig, InputStream) - Constructor for class net.lenni0451.classtransform.mappings.impl.SrgMapper
-
- SrgMapper(MapperConfig, File) - Constructor for class net.lenni0451.classtransform.mappings.impl.SrgMapper
-
- start(TimedGroup, String) - Method in class net.lenni0451.classtransform.debugger.TransformerTimings
-
Start the timing for a transformer.
- SuperMappingFiller - Class in net.lenni0451.classtransform.utils.mappings
-
Util to complete mappings which are missing some information about overridden methods.
- SuperMappingFiller() - Constructor for class net.lenni0451.classtransform.utils.mappings.SuperMappingFiller
-
- superMappingsFailStrategy - Variable in class net.lenni0451.classtransform.mappings.MapperConfig
-
- swap(Type, Type) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the bytecode to swap two stack elements.
This also works for long and double types.
- SyntheticMethodGeneralHandler - Class in net.lenni0451.classtransform.transformer.impl.general
-
Rename synthetic methods in transformers to avoid conflicts with the injected class.
- SyntheticMethodGeneralHandler() - Constructor for class net.lenni0451.classtransform.transformer.impl.general.SyntheticMethodGeneralHandler
-
- SysoutLogger - Class in net.lenni0451.classtransform.utils.log.impl
-
- SysoutLogger() - Constructor for class net.lenni0451.classtransform.utils.log.impl.SysoutLogger
-
- T_Object - Static variable in class net.lenni0451.classtransform.utils.Types
-
- TailTarget - Class in net.lenni0451.classtransform.targets.impl
-
A target for the tail (before last
Opcodes.RETURN) of a method.
When using
CInject the original return value is accessible using the
InjectionCallback.
- TailTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.TailTarget
-
- targetClass(String) - Method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- targetField(FieldNode) - Method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- targetMethod(MethodNode) - Method in exception net.lenni0451.classtransform.exceptions.TransformerException
-
- TargetRemapper - Class in net.lenni0451.classtransform.mappings.dynamic
-
- TargetRemapper() - Constructor for class net.lenni0451.classtransform.mappings.dynamic.TargetRemapper
-
- ThrowingRemapper - Class in net.lenni0451.classtransform.mappings.dynamic
-
- ThrowingRemapper() - Constructor for class net.lenni0451.classtransform.mappings.dynamic.ThrowingRemapper
-
- ThrowTarget - Class in net.lenni0451.classtransform.targets.impl
-
A target for
Opcodes.ATHROW instructions.
When using
CInject the original exception is accessible using the
InjectionCallback.
- ThrowTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.ThrowTarget
-
- TimedGroup - Enum in net.lenni0451.classtransform.debugger.timings
-
The timing groups a transformer can belong to.
- TimedTransformer - Class in net.lenni0451.classtransform.debugger.timings
-
The group and name of a timed transformer.
- TimedTransformer(TimedGroup, String) - Constructor for class net.lenni0451.classtransform.debugger.timings.TimedTransformer
-
- TinyV1Mapper - Class in net.lenni0451.classtransform.mappings.impl
-
A remapper that uses tiny v1 mappings for remapping.
The from and to namespaces are also required.
- TinyV1Mapper(MapperConfig, InputStream, String, String) - Constructor for class net.lenni0451.classtransform.mappings.impl.TinyV1Mapper
-
- TinyV1Mapper(MapperConfig, File, String, String) - Constructor for class net.lenni0451.classtransform.mappings.impl.TinyV1Mapper
-
- TinyV2Mapper - Class in net.lenni0451.classtransform.mappings.impl
-
A remapper that uses tiny v2 mappings for remapping.
The from and to namespaces are also required.
- TinyV2Mapper(MapperConfig, InputStream, String, String) - Constructor for class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
-
- TinyV2Mapper(MapperConfig, File, String, String) - Constructor for class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
-
- toBytes(ClassNode, TransformerManager) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the bytecode from a class node.
- toBytes(ClassNode, ClassTree, IClassProvider) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the bytecode from a class node.
- toBytes(ClassNode, TransformerManager, int) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the bytecode from a class node.
- toBytes(ClassNode, ClassTree, IClassProvider, int) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the bytecode from a class node.
- toStacklessBytes(ClassNode) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
-
Get the bytecode from a class node without calculating stack map frames.
- toString() - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
-
Handle all annotations in the transformer class.
- transform(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.coprocessor.impl.CLocalVariableCoprocessor
-
- transform(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.coprocessor.impl.CSharedCoprocessor
-
- transform(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode) - Method in interface net.lenni0451.classtransform.transformer.IAnnotationCoprocessor
-
- transform(String, byte[], boolean) - Method in interface net.lenni0451.classtransform.transformer.IBytecodeTransformer
-
Transform the raw bytecode of all loaded classes.
Return null if the class should not be transformed.
- transform(CASM, TransformerManager, ClassNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.CASMAnnotationHandler
-
- transform(CInject, TransformerManager, ClassNode, ClassNode, MethodNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.CInjectAnnotationHandler
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.impl.CInlineAnnotationHandler
-
- transform(CModifyConstant, TransformerManager, ClassNode, ClassNode, MethodNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.CModifyConstantAnnotationHandler
-
- transform(CModifyExpressionValue, TransformerManager, ClassNode, ClassNode, MethodNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.CModifyExpressionValueAnnotationHandler
-
- transform(COverride, TransformerManager, ClassNode, ClassNode, MethodNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.COverrideAnnotationHandler
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.impl.CRecordComponentAnnotationHandler
-
- transform(CRedirect, TransformerManager, ClassNode, ClassNode, MethodNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.CRedirectAnnotationHandler
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.impl.CReplaceCallbackAnnotationHandler
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.impl.CShadowAnnotationHandler
-
- transform(CStub, TransformerManager, ClassNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.CStubAnnotationHandler
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.impl.CUpgradeAnnotationHandler
-
- transform(CWrapCatch, TransformerManager, ClassNode, ClassNode, MethodNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.CWrapCatchAnnotationHandler
-
- transform(CWrapCondition, TransformerManager, ClassNode, ClassNode, MethodNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.impl.CWrapConditionAnnotationHandler
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.impl.general.InnerClassGeneralHandler
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.impl.general.MemberCopyGeneralHandler
-
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.impl.general.SyntheticMethodGeneralHandler
-
- transform(String, byte[]) - Method in interface net.lenni0451.classtransform.transformer.IPostTransformer
-
Handle the name and bytecode of all transformed classes.
- transform(TransformerManager, ClassNode) - Method in interface net.lenni0451.classtransform.transformer.IRawTransformer
-
Transform the target class node.
- transform(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.transformer.types.RemovingAnnotationHandler
-
- transform(T, TransformerManager, ClassNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.types.RemovingAnnotationHandler
-
Handle a transformer method of the transformer with the given annotation.
- transform(T, TransformerManager, ClassNode, ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.types.RemovingTargetAnnotationHandler
-
- transform(T, TransformerManager, ClassNode, ClassNode, MethodNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.types.RemovingTargetAnnotationHandler
-
Handle a transformer method of the transformer with the given annotation.
- transform(String, byte[]) - Method in class net.lenni0451.classtransform.TransformerManager
-
Transform the bytecode of the given class.
The name must be in the class format (e.g.
- transform(String, byte[], boolean) - Method in class net.lenni0451.classtransform.TransformerManager
-
Transform the bytecode of the given class.
The name must be in the class format (e.g.
- transform(ClassLoader, String, Class<?>, ProtectionDomain, byte[]) - Method in class net.lenni0451.classtransform.TransformerManager
-
- TransformerDebugger - Class in net.lenni0451.classtransform
-
- TransformerException - Exception in net.lenni0451.classtransform.exceptions
-
An exception which is thrown when there is a general error during the transformation.
- TransformerException(FieldNode, ClassNode, String) - Constructor for exception net.lenni0451.classtransform.exceptions.TransformerException
-
- TransformerException(MethodNode, ClassNode, String) - Constructor for exception net.lenni0451.classtransform.exceptions.TransformerException
-
- TransformerLoadException - Exception in net.lenni0451.classtransform.exceptions
-
- TransformerLoadException(String, Throwable) - Constructor for exception net.lenni0451.classtransform.exceptions.TransformerLoadException
-
- TransformerManager - Class in net.lenni0451.classtransform
-
The TransformerManager handles all things needed for class transformation.
This class implements ClassFileTransformer so it can be used with an Instrumentation agent.
- TransformerManager(IClassProvider) - Constructor for class net.lenni0451.classtransform.TransformerManager
-
- TransformerManager(IClassProvider, AMapper) - Constructor for class net.lenni0451.classtransform.TransformerManager
-
- TransformerTimings - Class in net.lenni0451.classtransform.debugger
-
A timer to measure the time it takes to transform a class.
- TransformerTimings() - Constructor for class net.lenni0451.classtransform.debugger.TransformerTimings
-
- TreeClassWriter - Class in net.lenni0451.classtransform.utils.tree
-
A class writer implementation using the
ClassTree for stack frame calculation.
- TreeClassWriter(ClassTree, IClassProvider) - Constructor for class net.lenni0451.classtransform.utils.tree.TreeClassWriter
-
- TreeClassWriter(int, ClassTree, IClassProvider) - Constructor for class net.lenni0451.classtransform.utils.tree.TreeClassWriter
-
- type(Object) - Static method in class net.lenni0451.classtransform.utils.Types
-
Get a type from an object.
Supported types:
- String (Type.getType(String)/Type.getObjectType(String))
- Class (Type.getType(Class))
- Method (Type.getType(Method))
- Constructor (Type.getType(Constructor))
- Type (return type)
- typeDescriptor(Object) - Static method in class net.lenni0451.classtransform.utils.Types
-
- Types - Class in net.lenni0451.classtransform.utils
-
A wrapper for the Type class.
This contains some constants and convenience methods.
- Types() - Constructor for class net.lenni0451.classtransform.utils.Types
-
- valueOf(String) - Static method in enum net.lenni0451.classtransform.annotations.CStub.Access
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum net.lenni0451.classtransform.annotations.CTarget.Shift
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum net.lenni0451.classtransform.annotations.injection.CASM.Shift
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum net.lenni0451.classtransform.debugger.timings.TimedGroup
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum net.lenni0451.classtransform.mappings.annotation.FillType
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum net.lenni0451.classtransform.mappings.annotation.RemapType
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum net.lenni0451.classtransform.transformer.HandlerPosition
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum net.lenni0451.classtransform.utils.FailStrategy
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum net.lenni0451.classtransform.utils.loader.EnumLoaderPriority
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum net.lenni0451.classtransform.annotations.CStub.Access
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum net.lenni0451.classtransform.annotations.CTarget.Shift
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum net.lenni0451.classtransform.annotations.injection.CASM.Shift
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum net.lenni0451.classtransform.debugger.timings.TimedGroup
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum net.lenni0451.classtransform.mappings.annotation.FillType
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum net.lenni0451.classtransform.mappings.annotation.RemapType
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum net.lenni0451.classtransform.transformer.HandlerPosition
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum net.lenni0451.classtransform.utils.FailStrategy
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum net.lenni0451.classtransform.utils.loader.EnumLoaderPriority
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- VoidMapper - Class in net.lenni0451.classtransform.mappings.impl
-
Only used internally when no other
AMapper has been specified in the
TransformerManager.
This mapper does not remap anything but is still required to fill all annotation values with the correct values (e.g.
- VoidMapper() - Constructor for class net.lenni0451.classtransform.mappings.impl.VoidMapper
-