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.org.objectweb.asm.tree.MethodNode node, Parameters parameters, InliningContext parent, FieldRemapper nodeRemapper, boolean isSameModule, java.lang.String errorPrefix)
           
 
Method Summary
 java.lang.String changeOwnerForExternalPackage(java.lang.String type, int opcode)
           
 InlineResult doInline(org.jetbrains.org.objectweb.asm.MethodVisitor adapter, LocalVarRemapper remapper)
           
 InlineResult doInline(org.jetbrains.org.objectweb.asm.MethodVisitor adapter, LocalVarRemapper remapper, boolean remapReturn)
           
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 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
 

Constructor Detail

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)
Method Detail

doInline

public InlineResult doInline(org.jetbrains.org.objectweb.asm.MethodVisitor adapter,
                             LocalVarRemapper remapper)

doInline

public InlineResult doInline(org.jetbrains.org.objectweb.asm.MethodVisitor adapter,
                             LocalVarRemapper remapper,
                             boolean remapReturn)

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

public java.lang.RuntimeException wrapException(@NotNull
                                                java.lang.Exception originalException,
                                                @NotNull
                                                org.jetbrains.org.objectweb.asm.tree.MethodNode node,
                                                @NotNull
                                                java.lang.String errorSuffix)