public class MethodProcessor extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_INNER_VARIABLE_PREFIX |
| Constructor and Description |
|---|
MethodProcessor(com.alibaba.deps.org.objectweb.asm.tree.ClassNode classNode,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode) |
MethodProcessor(com.alibaba.deps.org.objectweb.asm.tree.ClassNode classNode,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode,
boolean keepLocalVariableNames) |
MethodProcessor(com.alibaba.deps.org.objectweb.asm.tree.ClassNode classNode,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode,
LocationFilter locationFilter) |
MethodProcessor(String owner,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode) |
MethodProcessor(String owner,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode,
boolean keepLocalVariableNames) |
| Modifier and Type | Method and Description |
|---|---|
com.alibaba.deps.org.objectweb.asm.tree.ClassNode |
getClassNode() |
com.alibaba.deps.org.objectweb.asm.tree.AbstractInsnNode |
getEnterInsnNode() |
com.alibaba.deps.org.objectweb.asm.tree.AbstractInsnNode |
getLastInsnNode() |
LocationFilter |
getLocationFilter() |
com.alibaba.deps.org.objectweb.asm.tree.MethodNode |
getMethodNode() |
String |
getOwner() |
String[] |
getParameterNames() |
String[] |
getParameterTypes() |
com.alibaba.deps.org.objectweb.asm.Type |
getReturnType() |
com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode |
initInvokeArgsVariableNode() |
com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode |
initInvokeReturnVariableNode(String name,
com.alibaba.deps.org.objectweb.asm.Type type) |
com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode |
initMonitorVariableNode() |
com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode |
initReturnVariableNode() |
com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode |
initThrowVariableNode() |
TryCatchBlock |
initTryCatchBlock() |
TryCatchBlock |
initTryCatchBlock(String exception) |
void |
inline(String owner,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode toInlineMethodNode) |
void |
inline(String owner,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode toInlineMethodNode,
boolean removeLineNumber)
TODO 可以考虑实现修改值的功能,原理是传入的 args实际转化为一个stack上的slot,只要在inline之后,把 stack上面的对应的slot保存到想要保存的位置就可以了。
|
boolean |
isConstructor() |
boolean |
isStatic() |
void |
loadThis(com.alibaba.deps.org.objectweb.asm.tree.InsnList instructions) |
void |
returnValue(com.alibaba.deps.org.objectweb.asm.tree.InsnList instructions) |
void |
setClassNode(com.alibaba.deps.org.objectweb.asm.tree.ClassNode classNode) |
void |
setMethodNode(com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode) |
void |
setOwner(String owner) |
void |
sortTryCatchBlock() |
public static final String DEFAULT_INNER_VARIABLE_PREFIX
public MethodProcessor(com.alibaba.deps.org.objectweb.asm.tree.ClassNode classNode,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode)
public MethodProcessor(com.alibaba.deps.org.objectweb.asm.tree.ClassNode classNode,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode,
LocationFilter locationFilter)
public MethodProcessor(com.alibaba.deps.org.objectweb.asm.tree.ClassNode classNode,
com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode,
boolean keepLocalVariableNames)
public MethodProcessor(String owner, com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode, boolean keepLocalVariableNames)
public MethodProcessor(String owner, com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode)
public com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode initMonitorVariableNode()
public com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode initThrowVariableNode()
public com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode initInvokeArgsVariableNode()
public com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode initReturnVariableNode()
public com.alibaba.deps.org.objectweb.asm.tree.LocalVariableNode initInvokeReturnVariableNode(String name, com.alibaba.deps.org.objectweb.asm.Type type)
name - type - public TryCatchBlock initTryCatchBlock()
public TryCatchBlock initTryCatchBlock(String exception)
public com.alibaba.deps.org.objectweb.asm.tree.AbstractInsnNode getEnterInsnNode()
public com.alibaba.deps.org.objectweb.asm.tree.AbstractInsnNode getLastInsnNode()
public String[] getParameterTypes()
public String[] getParameterNames()
public com.alibaba.deps.org.objectweb.asm.Type getReturnType()
public void loadThis(com.alibaba.deps.org.objectweb.asm.tree.InsnList instructions)
public void returnValue(com.alibaba.deps.org.objectweb.asm.tree.InsnList instructions)
public boolean isStatic()
public boolean isConstructor()
public com.alibaba.deps.org.objectweb.asm.tree.MethodNode getMethodNode()
public void setMethodNode(com.alibaba.deps.org.objectweb.asm.tree.MethodNode methodNode)
public String getOwner()
public void setOwner(String owner)
public com.alibaba.deps.org.objectweb.asm.tree.ClassNode getClassNode()
public void setClassNode(com.alibaba.deps.org.objectweb.asm.tree.ClassNode classNode)
public LocationFilter getLocationFilter()
public void inline(String owner, com.alibaba.deps.org.objectweb.asm.tree.MethodNode toInlineMethodNode)
public void inline(String owner, com.alibaba.deps.org.objectweb.asm.tree.MethodNode toInlineMethodNode, boolean removeLineNumber)
owner - tmpToInlineMethodNode - public void sortTryCatchBlock()
Copyright © 2018–2021. All rights reserved.