A B C D E F G I J L M N O P Q R S T V 
All Classes All Packages

A

AbstractProxy - Class in ftbsc.lll.proxies
Abstract proxy class, implementing common aspects.
AbstractProxy(String, String, int, QualifiableProxy, ProxyType) - Constructor for class ftbsc.lll.proxies.AbstractProxy
The private constructor, should be called by all classes extending this in theirs.
AbstractProxy.Builder<T extends AbstractProxy> - Class in ftbsc.lll.proxies
A Builder for the generic proxy.
add(AbstractInsnNode) - Method in class ftbsc.lll.utils.InsnSequence
Wraps InsnList's add() to throw an exception when given null values.
add(AbstractInsnNode...) - Method in class ftbsc.lll.utils.InsnSequence
Adds an array of nodes to the list.
addLocalVariable(MethodNode, String, String) - Static method in class ftbsc.lll.utils.StackUtils
Creates a new local variable, lasting in scope from the first to the last label of the given method.
addLocalVariable(MethodNode, String, String, LabelNode, LabelNode) - Static method in class ftbsc.lll.utils.StackUtils
Creates a new local variable, lasting in scope between two given LabelNodes.
addModifier(int) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
 
addParameter(Class<?>) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
Adds a parameter of a given type.
addParameter(Class<?>) - Method in class ftbsc.lll.utils.DescriptorBuilder
Adds a parameter of the given class type to the method.
addParameter(String) - Method in class ftbsc.lll.utils.DescriptorBuilder
Adds a parameter with the type specified by the given fully qualified name to the method.
addParameter(String, int) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
Adds a parameter of a given type.
addParameter(String, int) - Method in class ftbsc.lll.utils.DescriptorBuilder
Adds a parameter with the type specified by the given fully qualified name (example: java.lang.String) to the method, with the specified array level.
any() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Wildcard, matches any kind of node.

B

build() - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
 
build() - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
Builds a FieldProxy of the given kind.
build() - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
Builds a MethodProxy of the given kind.
build() - Method in class ftbsc.lll.utils.DescriptorBuilder
Builds the descriptor into a string.
build() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Builds the pattern defined so far.
builder() - Static method in class ftbsc.lll.utils.PatternMatcher
 
builder(String) - Static method in class ftbsc.lll.proxies.impl.FieldProxy
Returns a new instance of FieldProxy.Builder.
builder(String) - Static method in class ftbsc.lll.proxies.impl.MethodProxy
Returns a new instance of MethodProxy.Builder.
Builder() - Constructor for class ftbsc.lll.utils.PatternMatcher.Builder
 
Builder(String) - Constructor for class ftbsc.lll.proxies.AbstractProxy.Builder
The constructor.
BytecodePrinter - Class in ftbsc.lll.utils.debug
A collection of static methods for debugging by printing the ASM bytecode.
BytecodePrinter() - Constructor for class ftbsc.lll.utils.debug.BytecodePrinter
 

C

check(Predicate<AbstractInsnNode>) - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Adds a custom predicate to the list.
cut(int, boolean) - Method in class ftbsc.lll.utils.InsnSequence
Cut a number of nodes from the list.

D

descriptor - Variable in class ftbsc.lll.proxies.AbstractProxy.Builder
The descriptor of the element.
descriptor - Variable in class ftbsc.lll.proxies.AbstractProxy
The descriptor for this element.
DescriptorBuilder - Class in ftbsc.lll.utils
Builds a method descriptor for you.
DescriptorBuilder() - Constructor for class ftbsc.lll.utils.DescriptorBuilder
Public constructor.

E

equals(Object) - Method in class ftbsc.lll.proxies.AbstractProxy
Indicates whether the given object is a proxy for the same element as this.
equals(Object) - Method in class ftbsc.lll.proxies.impl.FieldProxy
Indicates whether the given object is a proxy for the same element as this.
equals(Object) - Method in class ftbsc.lll.proxies.impl.MethodProxy
Indicates whether the given object is a proxy for the same element as this.
equals(Object) - Method in class ftbsc.lll.proxies.impl.PackageProxy
Indicates whether the given object is a proxy for the same element as this.
equals(Object) - Method in class ftbsc.lll.proxies.impl.TypeProxy
Indicates whether the given object is a proxy for the same element as this.
equals(Object) - Method in class ftbsc.lll.proxies.QualifiableProxy
Indicates whether the given object is a proxy for the same element as this.
extractParentFromFQN(String) - Static method in class ftbsc.lll.proxies.QualifiableProxy
Returns a String containing the FQN of the parent element to this, which may represent a package or class.
extractSimpleNameFromFQN(String) - Static method in class ftbsc.lll.proxies.QualifiableProxy
Returns a String containing the simple name of the element.

F

field() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Matches a field invokation of any kind: one of GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD.
FIELD - ftbsc.lll.proxies.ProxyType
Indicates it's a FieldProxy.
FieldProxy - Class in ftbsc.lll.proxies.impl
A container for information about class fields to be used in ASM patching.
FieldProxy(Field) - Constructor for class ftbsc.lll.proxies.impl.FieldProxy
A public constructor, builds a proxy from a Field obtained from reflection.
FieldProxy(String, String, int, QualifiableProxy) - Constructor for class ftbsc.lll.proxies.impl.FieldProxy
Protected constructor, called only from the builder.
FieldProxy.Builder - Class in ftbsc.lll.proxies.impl
A builder object for FieldProxy.
FieldProxyInsnNode - Class in ftbsc.lll.utils.nodes
Overrides the FieldInsnNode to add a constructor taking in a FieldProxy.
FieldProxyInsnNode(int, FieldProxy) - Constructor for class ftbsc.lll.utils.nodes.FieldProxyInsnNode
Constructs a new FieldInsnNode starting from a FieldProxy.
find(AbstractInsnNode) - Method in class ftbsc.lll.utils.PatternMatcher
Tries to match the given pattern starting from a given node.
find(MethodNode) - Method in class ftbsc.lll.utils.PatternMatcher
Tries to match the given pattern on a given MethodNode.
findFirstFreeIndex(MethodNode) - Static method in class ftbsc.lll.utils.StackUtils
Finds the first free index in the given MethodNode.
from(Class<?>) - Static method in class ftbsc.lll.proxies.impl.TypeProxy
Builds a TypeProxy from a Class object.
from(Package) - Static method in class ftbsc.lll.proxies.impl.PackageProxy
Builds a PackageProxy from a reflective Package object.
from(String) - Static method in class ftbsc.lll.proxies.impl.PackageProxy
Builds a PackageProxy from its fully-qualified name.
from(String, int, int) - Static method in class ftbsc.lll.proxies.impl.TypeProxy
Builds a TypeProxy given only the fully-qualified name and modifiers.
from(Type, int) - Static method in class ftbsc.lll.proxies.impl.TypeProxy
Builds a TypeProxy from a Type and modifiers.
ftbsc.lll - package ftbsc.lll
 
ftbsc.lll.exceptions - package ftbsc.lll.exceptions
 
ftbsc.lll.proxies - package ftbsc.lll.proxies
 
ftbsc.lll.proxies.impl - package ftbsc.lll.proxies.impl
 
ftbsc.lll.utils - package ftbsc.lll.utils
 
ftbsc.lll.utils.debug - package ftbsc.lll.utils.debug
 
ftbsc.lll.utils.nodes - package ftbsc.lll.utils.nodes
 
fullyQualifiedName - Variable in class ftbsc.lll.proxies.QualifiableProxy
The fully-qualified name of the element represented by this proxy.

G

get(int) - Method in class ftbsc.lll.utils.InsnSequence
Extends the existing get function from InsnList to allow for negative indexes.

I

ignoreFrames() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Tells the pattern matcher to ignore FRAME instructions.
ignoreLabels() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Tells the pattern matcher to ignore LABEL instructions.
ignoreLineNumbers() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Tells the pattern matcher to ignore LINENUMBER instructions.
IInjector - Interface in ftbsc.lll
Patch classes should implement this interface and be declared as services in the META-INF/services folder (or through modules in Java 9+, but only Java 8 is officially supported).
inject(ClassNode, MethodNode) - Method in interface ftbsc.lll.IInjector
This method is to be called by the launcher after identifying the right class and method to patch.
InjectionException - Exception in ftbsc.lll.exceptions
Thrown when the injection of a patch fails.
InjectionException(String) - Constructor for exception ftbsc.lll.exceptions.InjectionException
Constructs a new injection exception with the specified detail message.
InjectionException(String, Throwable) - Constructor for exception ftbsc.lll.exceptions.InjectionException
Constructs a new injection exception with the specified detail message and cause.
InjectionException(Throwable) - Constructor for exception ftbsc.lll.exceptions.InjectionException
Constructs a new injection exception with the specified cause and a detail message of (cause==null ? null : cause.toString())
InsnSequence - Class in ftbsc.lll.utils
Represents a sequence of instructions contained within two given nodes.
InsnSequence() - Constructor for class ftbsc.lll.utils.InsnSequence
Public constructor.
InsnSequence(AbstractInsnNode) - Constructor for class ftbsc.lll.utils.InsnSequence
Public constructor for list with single item.
InsnSequence(AbstractInsnNode, AbstractInsnNode) - Constructor for class ftbsc.lll.utils.InsnSequence
Public constructor.
insnToString(AbstractInsnNode) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
Converts an instruction node to a String.
instantiate(String, String, AbstractInsnNode...) - Static method in class ftbsc.lll.utils.StackUtils
Creates a new instance of an object, given its internal name, constructor descriptor and instructions to load the parameters.
instantiate(String, String, InsnList) - Static method in class ftbsc.lll.utils.StackUtils
Creates a new instance of an object, given its internal name, constructor descriptor and instructions to load the parameters.
InstructionMismatchException - Exception in ftbsc.lll.exceptions
Thrown when attempting to build an InsnSequence between two unconnected nodes.
InstructionMismatchException(String) - Constructor for exception ftbsc.lll.exceptions.InstructionMismatchException
Constructs a new instruction mismatch exception with the specified detail message.
InstructionMismatchException(String, Throwable) - Constructor for exception ftbsc.lll.exceptions.InstructionMismatchException
Constructs a new instruction mismatch exception with the specified detail message and cause.
InstructionMismatchException(Throwable) - Constructor for exception ftbsc.lll.exceptions.InstructionMismatchException
Constructs a new instruction mismatch exception with the specified cause and a detail message of (cause==null ? null : cause.toString())
internalName - Variable in class ftbsc.lll.proxies.QualifiableProxy
The "internal name" (fully-qualified with slashes) of the element represented by this proxy.

J

jump() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Matches any kind of jump instruction.

L

label() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Matches any kind of label.
logMethod(MethodNode, String) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
Logs the bytecode of a method to a file.
logMethod(MethodNode, Logger) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
Logs the bytecode of a method using the ASM logger.

M

method() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Matches a method invokation of any kind: one of INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE.
METHOD - ftbsc.lll.proxies.ProxyType
Indicates it's a MethodProxy.
methodDesc() - Method in interface ftbsc.lll.IInjector
This should return the target method's descriptor.
methodName() - Method in interface ftbsc.lll.IInjector
This is used to identify the method to transform within the class.
MethodProxy - Class in ftbsc.lll.proxies.impl
A container for information about class methods to be used in ASM patching.
MethodProxy(Method) - Constructor for class ftbsc.lll.proxies.impl.MethodProxy
A public constructor, builds a proxy from a Method obtained from reflection.
MethodProxy(String, int, QualifiableProxy, Type[], Type) - Constructor for class ftbsc.lll.proxies.impl.MethodProxy
A protected constructor, called only from the builder.
MethodProxy.Builder - Class in ftbsc.lll.proxies.impl
A builder object for MethodProxy.
MethodProxyInsnNode - Class in ftbsc.lll.utils.nodes
Overrides the MethodInsnNode to add a constructor taking in a MethodProxy.
MethodProxyInsnNode(int, MethodProxy) - Constructor for class ftbsc.lll.utils.nodes.MethodProxyInsnNode
Constructs a new MethodInsnNode starting from a MethodProxy.
modifiers - Variable in class ftbsc.lll.proxies.AbstractProxy.Builder
The modifiers of the element, as a packed int.
modifiers - Variable in class ftbsc.lll.proxies.AbstractProxy
The modifiers of the member, as a packed int

N

name - Variable in class ftbsc.lll.proxies.AbstractProxy.Builder
The name of the element.
name - Variable in class ftbsc.lll.proxies.AbstractProxy
The name of the corresponding element.
name() - Method in interface ftbsc.lll.IInjector
 
nameToDescriptor(String, int) - Static method in class ftbsc.lll.utils.DescriptorBuilder
Converts a fully qualified name and array level to a descriptor.

O

opcode(int) - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Matches a specific opcode.
opcodes(int...) - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Matches a list of opcodes.

P

PACKAGE - ftbsc.lll.proxies.ProxyType
Indicates it's a PackageProxy.
PackageProxy - Class in ftbsc.lll.proxies.impl
A container for information about a package.
PackageProxy(PackageProxy, String) - Constructor for class ftbsc.lll.proxies.impl.PackageProxy
The protected constructor, called only from PackageProxy.from(String).
parameters - Variable in class ftbsc.lll.proxies.impl.MethodProxy
An array of TypeProxy each representing the parameters of the method.
parent - Variable in class ftbsc.lll.proxies.AbstractProxy.Builder
The fully qualified name of the parent.
parent - Variable in class ftbsc.lll.proxies.AbstractProxy
The fully qualified name (i.e.
PatternMatcher - Class in ftbsc.lll.utils
Describes a pattern to match on a list of ASM instructions.
PatternMatcher.Builder - Class in ftbsc.lll.utils
The Builder object for PatternMatcher.
PatternNotFoundException - Exception in ftbsc.lll.exceptions
Thrown when failing to find a pattern.
PatternNotFoundException(String) - Constructor for exception ftbsc.lll.exceptions.PatternNotFoundException
Constructs a new pattern not found exception with the specified detail message.
PatternNotFoundException(String, Throwable) - Constructor for exception ftbsc.lll.exceptions.PatternNotFoundException
Constructs a new pattern not found exception with the specified detail message and cause.
PatternNotFoundException(Throwable) - Constructor for exception ftbsc.lll.exceptions.PatternNotFoundException
Constructs a new pattern not found exception with the specified cause and a detail message of (cause==null ? null : cause.toString())
primitive - Variable in class ftbsc.lll.proxies.impl.TypeProxy
Whether this proxy represents a primitive.
printMethod(MethodNode) - Static method in class ftbsc.lll.utils.debug.BytecodePrinter
Prints the bytecode of a method using System.out.print().
proxyType - Variable in class ftbsc.lll.proxies.AbstractProxy
Which type of proxy this is.
ProxyType - Enum in ftbsc.lll.proxies
An enum listing the various proxies.

Q

QualifiableProxy - Class in ftbsc.lll.proxies
A proxy for elements who have a fully-qualified name.
QualifiableProxy(String, int, QualifiableProxy, String, ProxyType) - Constructor for class ftbsc.lll.proxies.QualifiableProxy
The protected constructor, should be called by all classes extending this in theirs.

R

reason() - Method in interface ftbsc.lll.IInjector
 
replace(int, AbstractInsnNode, int) - Method in class ftbsc.lll.utils.InsnSequence
Replaces n occurrences of said opcode with the given node.
replace(int, AbstractInsnNode, int, boolean) - Method in class ftbsc.lll.utils.InsnSequence
Replaces n occurrences of said opcode with the given node.
replaceNode(AbstractInsnNode, AbstractInsnNode) - Method in class ftbsc.lll.utils.InsnSequence
Replaces a node with another one.
returnType - Variable in class ftbsc.lll.proxies.impl.MethodProxy
The TypeProxy for the return type of the method.
reverse() - Method in class ftbsc.lll.utils.PatternMatcher.Builder
Sets the pattern to match starting from the end.
ROOT - Static variable in class ftbsc.lll.proxies.impl.PackageProxy
The PackageProxy representing the root package.

S

setDescriptor(String) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
Sets Type for this element from the descriptor, passed as a String.
setDescriptor(String) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
Sets the type of the method to the given descriptor, and extracts return and parameter types from it.
setModifiers(int) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
 
setParent(QualifiableProxy) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
 
setParent(String) - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
Sets the parent class of this field to the one described by the fully qualified name.
setParent(String) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
Sets the parent class of this method to the one described by the fully qualified name.
setParent(String, int) - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
Sets the parent class of this field to the one described by the fully qualified name and with the given modifiers.
setParent(String, int) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
Sets the parent class of this method to the one described by the fully qualified name and with the given modifiers.
setReturnType(Class<?>) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
Sets the return type to the given type.
setReturnType(Class<?>) - Method in class ftbsc.lll.utils.DescriptorBuilder
Sets the return type to the given type.
setReturnType(String) - Method in class ftbsc.lll.utils.DescriptorBuilder
Sets the return type to the Object specified here as a fully qualified name.
setReturnType(String, int) - Method in class ftbsc.lll.proxies.impl.MethodProxy.Builder
Sets the return type to the given type.
setReturnType(String, int) - Method in class ftbsc.lll.utils.DescriptorBuilder
Sets the return type to the Object specified here as a fully qualified name (example: java.lang.String), with the specified array level.
setType(Class<?>) - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
Sets the type of the field to the given Class object.
setType(String, int) - Method in class ftbsc.lll.proxies.impl.FieldProxy.Builder
Sets the type of the field to the given type.
setType(Type) - Method in class ftbsc.lll.proxies.AbstractProxy.Builder
 
StackUtils - Class in ftbsc.lll.utils
Various methods for manipulating the stack.
StackUtils() - Constructor for class ftbsc.lll.utils.StackUtils
 

T

targetClass() - Method in interface ftbsc.lll.IInjector
This is used to identify which classes should be altered, and on which class should this injector operate.
TYPE - ftbsc.lll.proxies.ProxyType
Indicates it's a TypeProxy.
TypeProxy - Class in ftbsc.lll.proxies.impl
A container for information about classes to be used in ASM patching.
TypeProxy(String, String, int, TypeProxy, boolean) - Constructor for class ftbsc.lll.proxies.impl.TypeProxy
Protected constructor, called only from the builders.
TypeProxy(String, String, int, String, boolean) - Constructor for class ftbsc.lll.proxies.impl.TypeProxy
Protected constructor, called only from the builders.
TypeProxyInsnNode - Class in ftbsc.lll.utils.nodes
Overrides the TypeInsnNode to add a constructor taking in a TypeProxy.
TypeProxyInsnNode(int, TypeProxy) - Constructor for class ftbsc.lll.utils.nodes.TypeProxyInsnNode
Constructs a new TypeInsnNode starting from a TypeProxy.

V

valueOf(String) - Static method in enum ftbsc.lll.proxies.ProxyType
Returns the enum constant of this type with the specified name.
values() - Static method in enum ftbsc.lll.proxies.ProxyType
Returns an array containing the constants of this enum type, in the order they are declared.
A B C D E F G I J L M N O P Q R S T V 
All Classes All Packages