org.jetbrains.jet.codegen.inline
Class MethodInliner

java.lang.Object
  extended by org.jetbrains.jet.codegen.inline.MethodInliner

public class MethodInliner
extends java.lang.Object


Constructor Summary
MethodInliner(org.jetbrains.asm4.tree.MethodNode node, Parameters parameters, InliningContext parent, org.jetbrains.asm4.Type lambdaType, LambdaFieldRemapper lambdaFieldRemapper, boolean isSameModule)
           
 
Method Summary
 java.lang.String changeOwnerForExternalPackage(java.lang.String type, int opcode)
           
 void doInline(org.jetbrains.asm4.MethodVisitor adapter, VarRemapper.ParamRemapper remapper)
           
 void doInline(org.jetbrains.asm4.MethodVisitor adapter, VarRemapper.ParamRemapper remapper, LambdaFieldRemapper capturedRemapper, boolean remapReturn)
           
 LambdaInfo getLambda(int index)
           
static org.jetbrains.asm4.tree.AbstractInsnNode getPreviousNoLabelNoLine(org.jetbrains.asm4.tree.AbstractInsnNode cur)
           
protected  org.jetbrains.asm4.tree.MethodNode markPlacesForInlineAndRemoveInlinable(org.jetbrains.asm4.tree.MethodNode node)
           
 void merge()
           
 org.jetbrains.asm4.tree.MethodNode prepareNode(org.jetbrains.asm4.tree.MethodNode node)
           
static void putStackValuesIntoLocals(java.util.List<org.jetbrains.asm4.Type> directOrder, int shift, org.jetbrains.asm4.commons.InstructionAdapter iv, java.lang.String descriptor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodInliner

public MethodInliner(@NotNull
                     org.jetbrains.asm4.tree.MethodNode node,
                     @NotNull
                     Parameters parameters,
                     @NotNull
                     InliningContext parent,
                     @Nullable
                     org.jetbrains.asm4.Type lambdaType,
                     LambdaFieldRemapper lambdaFieldRemapper,
                     boolean isSameModule)
Method Detail

doInline

public void doInline(org.jetbrains.asm4.MethodVisitor adapter,
                     VarRemapper.ParamRemapper remapper)

doInline

public void doInline(org.jetbrains.asm4.MethodVisitor adapter,
                     VarRemapper.ParamRemapper remapper,
                     LambdaFieldRemapper capturedRemapper,
                     boolean remapReturn)

merge

public void merge()

prepareNode

@NotNull
public org.jetbrains.asm4.tree.MethodNode prepareNode(@NotNull
                                                              org.jetbrains.asm4.tree.MethodNode node)

markPlacesForInlineAndRemoveInlinable

@NotNull
protected org.jetbrains.asm4.tree.MethodNode markPlacesForInlineAndRemoveInlinable(@NotNull
                                                                                           org.jetbrains.asm4.tree.MethodNode node)
                                                                            throws org.jetbrains.asm4.tree.analysis.AnalyzerException
Throws:
org.jetbrains.asm4.tree.analysis.AnalyzerException

getLambda

@Nullable
public LambdaInfo getLambda(int index)

getPreviousNoLabelNoLine

public static org.jetbrains.asm4.tree.AbstractInsnNode getPreviousNoLabelNoLine(org.jetbrains.asm4.tree.AbstractInsnNode cur)

putStackValuesIntoLocals

public static void putStackValuesIntoLocals(java.util.List<org.jetbrains.asm4.Type> directOrder,
                                            int shift,
                                            org.jetbrains.asm4.commons.InstructionAdapter iv,
                                            java.lang.String descriptor)

changeOwnerForExternalPackage

public java.lang.String changeOwnerForExternalPackage(java.lang.String type,
                                                      int opcode)