Skip navigation links
A B C D E F G H I L M N O P R S T U V W 

A

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
 

B

BasicClassProvider - Class in net.lenni0451.classtransform.utils.tree
A basic class provider with only the BasicClassProvider.getClass(String) implemented.
You need to register all transformer classes with direct paths as the BasicClassProvider.getAllClasses() method is required for wildcard matching.
BasicClassProvider() - Constructor for class net.lenni0451.classtransform.utils.tree.BasicClassProvider
 
BasicClassProvider(ClassLoader) - Constructor for class net.lenni0451.classtransform.utils.tree.BasicClassProvider
 
body(String) - Method in class net.lenni0451.classtransform.utils.Codifier
Set the body of the method.
build() - Method in class net.lenni0451.classtransform.transformer.coprocessor.AnnotationCoprocessorList
 
build() - Method in class net.lenni0451.classtransform.utils.Codifier
 

C

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
Modify a constant value in a method.
The target constant must exactly match the given value.
If the target is not found an exception will be thrown unless CModifyConstant.optional() is set to true.
The following types are supported:
CModifyConstant.nullValue() CModifyConstant.intValue() CModifyConstant.longValue() CModifyConstant.floatValue() CModifyConstant.doubleValue() CModifyConstant.stringValue() CModifyConstant.typeValue() The transformer method has to return the same type as the target constant and needs to be static if the target method is static.
The transformer method can optionally take the same type as the target constant as the first argument (except for CModifyConstant.nullValue()).
CModifyConstantAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
The annotation handler for the CModifyConstant annotation.
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
The annotation handler for the CModifyExpressionValue annotation.
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
Replace all InjectionCallback instances with an Object[].
This can be used if the InjectionCallback class is not available in the target environment (e.g.
CReplaceCallbackAnnotationHandler - Class in net.lenni0451.classtransform.transformer.impl
The annotation handler for the CReplaceCallback annotation.
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
The annotation handler for the CWrapCondition annotation.
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
 

D

defineAnonymousClass(byte[]) - Static method in class net.lenni0451.classtransform.utils.annotations.ClassDefiner
Define an anonymous class.
defineHotswapClass(String) - Method in class net.lenni0451.classtransform.utils.HotswapClassLoader
Define a fake class in this class loader.
dot(String) - Static method in class net.lenni0451.classtransform.utils.ASMUtils
Replace all slashes with dots in the given class/package name.
dynamicRemap(AMapper, Class<?>, Map<String, Object>, Method, TransformerManager, ClassNode, ClassNode) - Method in interface net.lenni0451.classtransform.mappings.dynamic.IDynamicRemapper
Remap the annotation fields dynamically.
A new type can be returned to let the default remapper handle the remapping.
If the return value is null or RemapType.DYNAMIC the default remapper will be skipped.
dynamicRemap(AMapper, Class<?>, Map<String, Object>, Method, TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.mappings.dynamic.TargetRemapper
 
dynamicRemap(AMapper, Class<?>, Map<String, Object>, Method, TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.mappings.dynamic.ThrowingRemapper
 
dynamicRemap(AMapper, Class<?>, Map<String, Object>, Method, TransformerManager, ClassNode, ClassNode) - Method in interface net.lenni0451.classtransform.targets.IInjectionTarget
 
dynamicRemap(AMapper, Class<?>, Map<String, Object>, Method, TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.targets.impl.NewTarget
 

E

end() - Method in class net.lenni0451.classtransform.debugger.TransformerTimings
End the timing for the current transformer and add it to the timings map.
EnumLoaderPriority - Enum in net.lenni0451.classtransform.utils.loader
The priority of the InjectionClassLoader.
equals(InsnList, InsnList) - Static method in class net.lenni0451.classtransform.utils.ASMComparator
Compare two InsnList instance with each other.
equals(List<? extends AbstractInsnNode>, List<? extends AbstractInsnNode>) - Static method in class net.lenni0451.classtransform.utils.ASMComparator
Compare two lists with AbstractInsnNode instances with each other.
equals(AbstractInsnNode, AbstractInsnNode) - Static method in class net.lenni0451.classtransform.utils.ASMComparator
Compare two AbstractInsnNode instances with each other.
equals(Object) - Method in class net.lenni0451.classtransform.utils.MemberDeclaration
 
equals(Object) - Method in class net.lenni0451.classtransform.utils.tree.ClassTree.TreePart
 
error(String, Object...) - Method in interface net.lenni0451.classtransform.utils.log.ILogger
 
error(String, Object...) - Method in class net.lenni0451.classtransform.utils.log.impl.SysoutLogger
 
error(String, Object...) - Static method in class net.lenni0451.classtransform.utils.log.Logger
 
exception(Type) - Method in class net.lenni0451.classtransform.utils.Codifier
Add an exception to the method.
If null is passed as the exception the current exception list will be cleared.
exceptions(Type...) - Method in class net.lenni0451.classtransform.utils.Codifier
Add multiple exceptions to the method.
executeMain(String, String, String...) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
Execute the main method of the given class.
The only argument of the main method has to be a String[].

F

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.

G

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
 

H

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
 

I

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
Get the internal name of an object.
See Types.type(Object) for supported 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
 

L

listToMap(List<Object>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationParser
Deprecated.
listToMap(List<Object>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
Convert a list of key-value pairs to a map.
The list must be in the format [key, value, key, value, ...].
load() - Method in class net.lenni0451.classtransform.mappings.AMapper
Load all mappings from the overridden AMapper.init() method.
Will do nothing if the mappings are already loaded.
loadClass(String, boolean) - Method in class net.lenni0451.classtransform.utils.loader.InjectionClassLoader
 
loadTransformedClasses() - Method in class net.lenni0451.classtransform.TransformerDebugger
Load all transformed classes from the current class loader.
loadTransformedClasses(ClassLoader) - Method in class net.lenni0451.classtransform.TransformerDebugger
Load all transformed classes from the given class loader.
Logger - Class in net.lenni0451.classtransform.utils.log
 
Logger() - Constructor for class net.lenni0451.classtransform.utils.log.Logger
 
LOGGER - Static variable in class net.lenni0451.classtransform.utils.log.Logger
 
Logger.MessageArgs - Class in net.lenni0451.classtransform.utils.log
 

M

map(String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
 
mapAnnotationAttributeName(String, String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
 
mapClass(ClassTree, IClassProvider, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.mappings.AMapper
Deprecated.
mapClass(TransformerManager, ClassNode, ClassNode) - Method in class net.lenni0451.classtransform.mappings.AMapper
Remap the given transformer for the given target class.
mapClassName(String) - Method in class net.lenni0451.classtransform.mappings.AMapper
Remap the given class name separated by dots.
If no mapping is found the original name will be returned.
mapFieldName(String, String, String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
 
mapInvokeDynamicMethodName(String, String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
 
mapMethodName(String, String, String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
 
MapperConfig - Class in net.lenni0451.classtransform.mappings
A config to modify the behavior of an AMapper.
MapRemapper - Class in net.lenni0451.classtransform.utils.mappings
An asm remapper implementation using a map to store the mappings.
MapRemapper() - Constructor for class net.lenni0451.classtransform.utils.mappings.MapRemapper
 
MapRemapper(String, String) - Constructor for class net.lenni0451.classtransform.utils.mappings.MapRemapper
 
MapRemapper(Map<String, String>) - Constructor for class net.lenni0451.classtransform.utils.mappings.MapRemapper
 
mapSafe(String) - Method in class net.lenni0451.classtransform.utils.mappings.MapRemapper
Directly get the mapping for a key.
This does not return null but the key itself if no mapping is found.
mapToList(Map<String, Object>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationParser
Deprecated.
mapToList(Map<String, Object>) - Static method in class net.lenni0451.classtransform.utils.annotations.AnnotationUtils
Convert a map to a list of key-value pairs.
The list will be in the format [key, value, key, value, ...].
MD_Void - Static variable in class net.lenni0451.classtransform.utils.Types
 
MemberCopyGeneralHandler - Class in net.lenni0451.classtransform.transformer.impl.general
Copy members from the transformer class to the transformed class.
This also merges initializers.
MemberCopyGeneralHandler(boolean) - Constructor for class net.lenni0451.classtransform.transformer.impl.general.MemberCopyGeneralHandler
 
MemberDeclaration - Class in net.lenni0451.classtransform.utils
A wrapper for owner, name and descriptor of a method or field.
MemberDeclaration(String, String, String) - Constructor for class net.lenni0451.classtransform.utils.MemberDeclaration
 
merge(ClassNode, ClassNode) - Static method in class net.lenni0451.classtransform.utils.mappings.Remapper
Merge one class node into another overwriting all members.
Use if you can't return a new class node but still want to remap it.
This uses reflection to copy all non-static, mutable and public fields from the source to the target.
The original class will not be modified.
mergeFields(ClassNode, ClassNode) - Static method in class net.lenni0451.classtransform.transformer.impl.general.membercopy.FieldMerger
 
mergeInitializers(ClassNode, ClassNode) - Static method in class net.lenni0451.classtransform.transformer.impl.general.membercopy.InitializerMerger
 
mergeInterfaces(ClassNode, ClassNode) - Static method in class net.lenni0451.classtransform.transformer.impl.general.membercopy.InterfaceMerger
 
mergeMethods(ClassNode, ClassNode) - Static method in class net.lenni0451.classtransform.transformer.impl.general.membercopy.MethodMerger
 
mergeParametersToArray(MethodNode, CoprocessorUtils.AnnotatedParameter[]) - Static method in class net.lenni0451.classtransform.utils.CoprocessorUtils
Merge all annotated parameters into an array.
The array will be the last parameter of the method.
MessageArgs() - Constructor for class net.lenni0451.classtransform.utils.log.Logger.MessageArgs
 
MetaTinyV2Mapper - Class in net.lenni0451.classtransform.mappings.impl.special
Implementation of the TinyV2Mapper which also parses metadata (comments and parameter names) from the mappings.
MetaTinyV2Mapper(MapperConfig, InputStream, String, String) - Constructor for class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
 
MetaTinyV2Mapper(MapperConfig, File, String, String) - Constructor for class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
 
MetaTinyV2Mapper.ClassMetadata - Class in net.lenni0451.classtransform.mappings.impl.special
 
MetaTinyV2Mapper.FieldMetadata - Class in net.lenni0451.classtransform.mappings.impl.special
 
MetaTinyV2Mapper.MethodMetadata - Class in net.lenni0451.classtransform.mappings.impl.special
 
MetaTinyV2Mapper.ParameterMetadata - Class in net.lenni0451.classtransform.mappings.impl.special
 
METHOD_DECLARATION_PATTERN - Static variable in class net.lenni0451.classtransform.utils.ASMUtils
 
METHOD_DECLARATION_REGEX - Static variable in class net.lenni0451.classtransform.utils.ASMUtils
 
methodDescriptor(Object, Object...) - Static method in class net.lenni0451.classtransform.utils.Types
Get the method descriptor of a return type and argument types.
See Types.type(Object) for supported types.
If the returnType is a Method or Constructor no arguments are required.
MethodInliner - Class in net.lenni0451.classtransform.utils
Util to inline methods into other methods.
This is used for the CInline annotation.
MethodInliner() - Constructor for class net.lenni0451.classtransform.utils.MethodInliner
 
MethodMerger - Class in net.lenni0451.classtransform.transformer.impl.general.membercopy
 
MethodMerger() - Constructor for class net.lenni0451.classtransform.transformer.impl.general.membercopy.MethodMerger
 
MethodMetadata() - Constructor for class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper.MethodMetadata
 
MethodNotFoundException - Exception in net.lenni0451.classtransform.exceptions
An exception which is thrown when a method could not be found during the transformation.
MethodNotFoundException(ClassNode, ClassNode, String) - Constructor for exception net.lenni0451.classtransform.exceptions.MethodNotFoundException
 
methodParsed(String, String, String, String) - Method in class net.lenni0451.classtransform.mappings.impl.special.MetaTinyV2Mapper
 
methodParsed(String, String, String, String) - Method in class net.lenni0451.classtransform.mappings.impl.TinyV2Mapper
 
MN_Clinit - Static variable in class net.lenni0451.classtransform.utils.Types
 
MN_Init - Static variable in class net.lenni0451.classtransform.utils.Types
 
mustReturnVoid(MethodNode, ClassNode) - Static method in exception net.lenni0451.classtransform.exceptions.TransformerException
 

N

NAME - Static variable in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute
 
name(String) - Method in class net.lenni0451.classtransform.utils.Codifier
Set the name of the method.
NAME - Static variable in class net.lenni0451.classtransform.utils.log.Logger
 
net.lenni0451.classtransform - package net.lenni0451.classtransform
 
net.lenni0451.classtransform.annotations - package net.lenni0451.classtransform.annotations
 
net.lenni0451.classtransform.annotations.injection - package net.lenni0451.classtransform.annotations.injection
 
net.lenni0451.classtransform.debugger - package net.lenni0451.classtransform.debugger
 
net.lenni0451.classtransform.debugger.timings - package net.lenni0451.classtransform.debugger.timings
 
net.lenni0451.classtransform.exceptions - package net.lenni0451.classtransform.exceptions
 
net.lenni0451.classtransform.mappings - package net.lenni0451.classtransform.mappings
 
net.lenni0451.classtransform.mappings.annotation - package net.lenni0451.classtransform.mappings.annotation
 
net.lenni0451.classtransform.mappings.dynamic - package net.lenni0451.classtransform.mappings.dynamic
 
net.lenni0451.classtransform.mappings.impl - package net.lenni0451.classtransform.mappings.impl
 
net.lenni0451.classtransform.mappings.impl.special - package net.lenni0451.classtransform.mappings.impl.special
 
net.lenni0451.classtransform.targets - package net.lenni0451.classtransform.targets
 
net.lenni0451.classtransform.targets.impl - package net.lenni0451.classtransform.targets.impl
 
net.lenni0451.classtransform.transformer - package net.lenni0451.classtransform.transformer
 
net.lenni0451.classtransform.transformer.coprocessor - package net.lenni0451.classtransform.transformer.coprocessor
 
net.lenni0451.classtransform.transformer.coprocessor.impl - package net.lenni0451.classtransform.transformer.coprocessor.impl
 
net.lenni0451.classtransform.transformer.impl - package net.lenni0451.classtransform.transformer.impl
 
net.lenni0451.classtransform.transformer.impl.general - package net.lenni0451.classtransform.transformer.impl.general
 
net.lenni0451.classtransform.transformer.impl.general.membercopy - package net.lenni0451.classtransform.transformer.impl.general.membercopy
 
net.lenni0451.classtransform.transformer.impl.redirect - package net.lenni0451.classtransform.transformer.impl.redirect
 
net.lenni0451.classtransform.transformer.impl.wrapcondition - package net.lenni0451.classtransform.transformer.impl.wrapcondition
 
net.lenni0451.classtransform.transformer.types - package net.lenni0451.classtransform.transformer.types
 
net.lenni0451.classtransform.utils - package net.lenni0451.classtransform.utils
 
net.lenni0451.classtransform.utils.annotations - package net.lenni0451.classtransform.utils.annotations
 
net.lenni0451.classtransform.utils.attributes - package net.lenni0451.classtransform.utils.attributes
 
net.lenni0451.classtransform.utils.loader - package net.lenni0451.classtransform.utils.loader
 
net.lenni0451.classtransform.utils.log - package net.lenni0451.classtransform.utils.log
 
net.lenni0451.classtransform.utils.log.impl - package net.lenni0451.classtransform.utils.log.impl
 
net.lenni0451.classtransform.utils.mappings - package net.lenni0451.classtransform.utils.mappings
 
net.lenni0451.classtransform.utils.tree - package net.lenni0451.classtransform.utils.tree
 
newByteVector(byte[]) - Static method in class net.lenni0451.classtransform.utils.attributes.AttributeAccessor
 
newInstance() - Method in class net.lenni0451.classtransform.utils.annotations.ClassDefiner
Create a new instance of the defined class.
newInstance(Object...) - Method in class net.lenni0451.classtransform.utils.annotations.ClassDefiner
Create a new instance of the defined class using the given arguments.
newInstance(Class<?>[], Object[]) - Method in class net.lenni0451.classtransform.utils.annotations.ClassDefiner
Create a new instance of the defined class using the given arguments.
NewTarget - Class in net.lenni0451.classtransform.targets.impl
A target for Opcodes.NEW instructions.
e.g.
NewTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.NewTarget
 

O

of(MethodNode) - Static method in class net.lenni0451.classtransform.utils.Codifier
Create a codifier of the given method node.
of(String, String, CTarget.Shift, int, boolean) - Static method in class net.lenni0451.classtransform.utils.CTargetImpl
 
OpcodeTarget - Class in net.lenni0451.classtransform.targets.impl
A target for the given opcode.
The opcode can be specified as a number or as its name.
Invalid opcodes will be ignored.
e.g.
OpcodeTarget() - Constructor for class net.lenni0451.classtransform.targets.impl.OpcodeTarget
 

P

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
Add the InjectionInfo annotation to the given field.
prepareForCopy(ClassNode, MethodNode) - Method in class net.lenni0451.classtransform.transformer.AnnotationHandler
Add the InjectionInfo annotation to the given method.
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
 

R

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.

S

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

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
Process 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 but after IAnnotationCoprocessor.preprocess(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode).
The calls to this method are in reverse order of the IAnnotationCoprocessor.preprocess(TransformerManager, ClassNode, MethodNode, ClassNode, MethodNode) calls.

Example usage: Remove the previously added parameter array so the transformer method can be verified by the annotation handler.
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
Support method for hooking an instrumentation instance.
You can simply add the TransformerManager as a transformer using Instrumentation.addTransformer(ClassFileTransformer) or call TransformerManager.hookInstrumentation(Instrumentation).
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
Get the descriptor of an object.
See Types.type(Object) for supported 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
 

U

unknown(String, String) - Static method in exception net.lenni0451.classtransform.exceptions.SliceException
 

V

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
 

W

warn(String, Object...) - Method in interface net.lenni0451.classtransform.utils.log.ILogger
 
warn(String, Object...) - Method in class net.lenni0451.classtransform.utils.log.impl.SysoutLogger
 
warn(String, Object...) - Static method in class net.lenni0451.classtransform.utils.log.Logger
 
wasSet(String) - Method in interface net.lenni0451.classtransform.utils.annotations.IParsedAnnotation
Check if a value was present in the bytecode of the annotation.
Default values are not considered as present.
wrappedInline(ClassNode, MethodNode, String) - Static method in class net.lenni0451.classtransform.utils.MethodInliner
Inline a method into all methods of a class.
Return opcodes are replaced with a jump instruction behind the inlined method instructions.
Direct modifications of arguments are not supported.
write(ClassWriter, byte[], int, int, int) - Method in class net.lenni0451.classtransform.utils.attributes.SharedVariableAttribute
 
wrongArguments(MethodNode, ClassNode, Class<?>...) - Static method in exception net.lenni0451.classtransform.exceptions.TransformerException
 
wrongArguments(MethodNode, ClassNode, Type...) - Static method in exception net.lenni0451.classtransform.exceptions.TransformerException
 
wrongStaticAccess(MethodNode, ClassNode, boolean) - Static method in exception net.lenni0451.classtransform.exceptions.TransformerException
 
A B C D E F G H I L M N O P R S T U V W