org.jetbrains.jet.codegen.inline
Class MethodInliner
java.lang.Object
org.jetbrains.jet.codegen.inline.MethodInliner
public class MethodInliner
- extends java.lang.Object
Method Summary |
java.lang.String |
changeOwnerForExternalPackage(java.lang.String type,
int opcode)
|
InlineResult |
doInline(org.jetbrains.org.objectweb.asm.MethodVisitor adapter,
LocalVarRemapper remapper,
boolean remapReturn,
LabelOwner labelOwner)
|
static CapturedParamInfo |
findCapturedField(org.jetbrains.org.objectweb.asm.tree.FieldInsnNode node,
FieldRemapper fieldRemapper)
|
static java.util.List<org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode> |
getCapturedFieldAccessChain(org.jetbrains.org.objectweb.asm.tree.VarInsnNode aload0)
|
LambdaInfo |
getLambdaIfExists(org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode insnNode)
|
protected org.jetbrains.org.objectweb.asm.tree.MethodNode |
markPlacesForInlineAndRemoveInlinable(org.jetbrains.org.objectweb.asm.tree.MethodNode node)
|
org.jetbrains.org.objectweb.asm.tree.MethodNode |
prepareNode(org.jetbrains.org.objectweb.asm.tree.MethodNode node)
|
static java.util.List<MethodInliner.PointForExternalFinallyBlocks> |
processReturns(org.jetbrains.org.objectweb.asm.tree.MethodNode node,
LabelOwner labelOwner,
boolean remapReturn,
org.jetbrains.org.objectweb.asm.Label endLabel)
|
static void |
putStackValuesIntoLocals(java.util.List<org.jetbrains.org.objectweb.asm.Type> directOrder,
int shift,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv,
java.lang.String descriptor)
|
java.lang.RuntimeException |
wrapException(java.lang.Exception originalException,
org.jetbrains.org.objectweb.asm.tree.MethodNode node,
java.lang.String errorSuffix)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MethodInliner
public MethodInliner(@NotNull
org.jetbrains.org.objectweb.asm.tree.MethodNode node,
@NotNull
Parameters parameters,
@NotNull
InliningContext parent,
@NotNull
FieldRemapper nodeRemapper,
boolean isSameModule,
@NotNull
java.lang.String errorPrefix)
doInline
public InlineResult doInline(@NotNull
org.jetbrains.org.objectweb.asm.MethodVisitor adapter,
@NotNull
LocalVarRemapper remapper,
boolean remapReturn,
@NotNull
LabelOwner labelOwner)
findCapturedField
@NotNull
public static CapturedParamInfo findCapturedField(org.jetbrains.org.objectweb.asm.tree.FieldInsnNode node,
FieldRemapper fieldRemapper)
prepareNode
@NotNull
public org.jetbrains.org.objectweb.asm.tree.MethodNode prepareNode(@NotNull
org.jetbrains.org.objectweb.asm.tree.MethodNode node)
markPlacesForInlineAndRemoveInlinable
@NotNull
protected org.jetbrains.org.objectweb.asm.tree.MethodNode markPlacesForInlineAndRemoveInlinable(@NotNull
org.jetbrains.org.objectweb.asm.tree.MethodNode node)
getLambdaIfExists
public LambdaInfo getLambdaIfExists(org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode insnNode)
getCapturedFieldAccessChain
@NotNull
public static java.util.List<org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode> getCapturedFieldAccessChain(@NotNull
org.jetbrains.org.objectweb.asm.tree.VarInsnNode aload0)
putStackValuesIntoLocals
public static void putStackValuesIntoLocals(java.util.List<org.jetbrains.org.objectweb.asm.Type> directOrder,
int shift,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv,
java.lang.String descriptor)
changeOwnerForExternalPackage
public java.lang.String changeOwnerForExternalPackage(java.lang.String type,
int opcode)
wrapException
@NotNull
public java.lang.RuntimeException wrapException(@NotNull
java.lang.Exception originalException,
@NotNull
org.jetbrains.org.objectweb.asm.tree.MethodNode node,
@NotNull
java.lang.String errorSuffix)
processReturns
@NotNull
public static java.util.List<MethodInliner.PointForExternalFinallyBlocks> processReturns(@NotNull
org.jetbrains.org.objectweb.asm.tree.MethodNode node,
@NotNull
LabelOwner labelOwner,
boolean remapReturn,
org.jetbrains.org.objectweb.asm.Label endLabel)