Package io.papermc.reflectionrewriter
Class DefineClassRule
java.lang.Object
io.papermc.reflectionrewriter.DefineClassRule
- All Implemented Interfaces:
io.papermc.asm.rules.method.MethodRewriteRule,io.papermc.asm.rules.RewriteRule
@DefaultQualifier(org.checkerframework.checker.nullness.qual.NonNull.class)
public final class DefineClassRule
extends Object
implements io.papermc.asm.rules.method.MethodRewriteRule
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.papermc.asm.rules.method.MethodRewriteRule
io.papermc.asm.rules.method.MethodRewriteRule.GeneratorInfo<D extends io.papermc.asm.rules.generate.GeneratedMethodHolder.CallData>, io.papermc.asm.rules.method.MethodRewriteRule.MethodGenerator, io.papermc.asm.rules.method.MethodRewriteRule.Rewrite<D extends io.papermc.asm.rules.generate.GeneratedMethodHolder.CallData>, io.papermc.asm.rules.method.MethodRewriteRule.RewriteSingleNested classes/interfaces inherited from interface io.papermc.asm.rules.RewriteRule
io.papermc.asm.rules.RewriteRule.Chain, io.papermc.asm.rules.RewriteRule.ChainBuilder, io.papermc.asm.rules.RewriteRule.Delegate, io.papermc.asm.rules.RewriteRule.GeneratorAdapterFactory -
Field Summary
Fields inherited from interface io.papermc.asm.rules.method.MethodRewriteRule
LAMBDA_METAFACTORY_OWNERFields inherited from interface io.papermc.asm.rules.RewriteRule
EMPTY -
Method Summary
Modifier and TypeMethodDescriptionstatic io.papermc.asm.rules.RewriteRuleCreate a rewrite rule for MethodHandles.Lookup#defineClass and (Secure)ClassLoader#defineClass.static io.papermc.asm.rules.RewriteRuleCreate a rewrite rule for MethodHandles.Lookup#defineClass and (Secure)ClassLoader#defineClass.@Nullable io.papermc.asm.rules.method.MethodRewriteRule.Rewrite<?>rewrite(io.papermc.asm.ClassProcessingContext context, boolean isInvokeDynamic, int opcode, ClassDesc ownerDesc, String name, MethodTypeDesc descriptor, boolean isInterface) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.papermc.asm.rules.method.MethodRewriteRule
createVisitor, shouldProcess
-
Method Details
-
rewrite
public @Nullable io.papermc.asm.rules.method.MethodRewriteRule.Rewrite<?> rewrite(io.papermc.asm.ClassProcessingContext context, boolean isInvokeDynamic, int opcode, ClassDesc ownerDesc, String name, MethodTypeDesc descriptor, boolean isInterface) - Specified by:
rewritein interfaceio.papermc.asm.rules.method.MethodRewriteRule
-
create
Create a rewrite rule for MethodHandles.Lookup#defineClass and (Secure)ClassLoader#defineClass.- Parameters:
proxyClassName- proxy class name- Returns:
- new rule
-
create
public static io.papermc.asm.rules.RewriteRule create(String proxyClassName, boolean assumeClassLoader) Create a rewrite rule for MethodHandles.Lookup#defineClass and (Secure)ClassLoader#defineClass.- Parameters:
proxyClassName- proxy class nameassumeClassLoader- whether to assume a class is aClassLoaderif it cannot be determined using theClassInfoProvider- Returns:
- new rule
-