org.jetbrains.kotlin.codegen.inline
Class InlineCodegen

java.lang.Object
  extended by CallGenerator
      extended by org.jetbrains.kotlin.codegen.inline.InlineCodegen

public class InlineCodegen
extends CallGenerator


Constructor Summary
InlineCodegen(ExpressionCodegen codegen, GenerationState state, FunctionDescriptor function, KtElement callElement, TypeParameterMappings typeParameterMappings)
           
 
Method Summary
 void afterParameterPut(org.jetbrains.org.objectweb.asm.Type type, StackValue stackValue, int parameterIndex)
           
static SourceMapper createNestedSourceMapper(SMAPAndMethodNode nodeAndSmap, SourceMapper parent)
           
 void genCallInner(Callable callableMethod, ResolvedCall<?> resolvedCall, boolean callDefault, ExpressionCodegen codegen)
           
 void genValueAndPut(ValueParameterDescriptor valueParameterDescriptor, KtExpression argumentExpression, org.jetbrains.org.objectweb.asm.Type parameterType, int parameterIndex)
           
static CodegenContext getContext(DeclarationDescriptor descriptor, GenerationState state, KtFile sourceFile)
           
static java.util.Set<java.lang.String> getDeclarationLabels(com.intellij.psi.PsiElement lambdaOrFun, DeclarationDescriptor descriptor)
           
 void putCapturedValueOnStack(StackValue stackValue, org.jetbrains.org.objectweb.asm.Type valueType, int paramIndex)
           
 void putHiddenParams()
           
 void putValueIfNeeded(org.jetbrains.org.objectweb.asm.Type parameterType, StackValue value)
           
 void reorderArgumentsIfNeeded(java.util.List<ArgumentAndDeclIndex> actualArgsWithDeclIndex, java.util.List<? extends org.jetbrains.org.objectweb.asm.Type> valueParameterTypes)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InlineCodegen

public InlineCodegen(@NotNull
                     ExpressionCodegen codegen,
                     @NotNull
                     GenerationState state,
                     @NotNull
                     FunctionDescriptor function,
                     @NotNull
                     KtElement callElement,
                     @Nullable
                     TypeParameterMappings typeParameterMappings)
Method Detail

genCallInner

public void genCallInner(@NotNull
                         Callable callableMethod,
                         @Nullable
                         ResolvedCall<?> resolvedCall,
                         boolean callDefault,
                         @NotNull
                         ExpressionCodegen codegen)

afterParameterPut

public void afterParameterPut(@NotNull
                              org.jetbrains.org.objectweb.asm.Type type,
                              @Nullable
                              StackValue stackValue,
                              int parameterIndex)

putHiddenParams

public void putHiddenParams()

getDeclarationLabels

@NotNull
public static java.util.Set<java.lang.String> getDeclarationLabels(@Nullable
                                                                           com.intellij.psi.PsiElement lambdaOrFun,
                                                                           @NotNull
                                                                           DeclarationDescriptor descriptor)

getContext

@NotNull
public static CodegenContext getContext(@NotNull
                                                DeclarationDescriptor descriptor,
                                                @NotNull
                                                GenerationState state,
                                                @Nullable
                                                KtFile sourceFile)

genValueAndPut

public void genValueAndPut(@NotNull
                           ValueParameterDescriptor valueParameterDescriptor,
                           @NotNull
                           KtExpression argumentExpression,
                           @NotNull
                           org.jetbrains.org.objectweb.asm.Type parameterType,
                           int parameterIndex)

putValueIfNeeded

public void putValueIfNeeded(@NotNull
                             org.jetbrains.org.objectweb.asm.Type parameterType,
                             @NotNull
                             StackValue value)

putCapturedValueOnStack

public void putCapturedValueOnStack(@NotNull
                                    StackValue stackValue,
                                    @NotNull
                                    org.jetbrains.org.objectweb.asm.Type valueType,
                                    int paramIndex)

createNestedSourceMapper

@NotNull
public static SourceMapper createNestedSourceMapper(@NotNull
                                                            SMAPAndMethodNode nodeAndSmap,
                                                            @NotNull
                                                            SourceMapper parent)

reorderArgumentsIfNeeded

public void reorderArgumentsIfNeeded(@NotNull
                                     java.util.List<ArgumentAndDeclIndex> actualArgsWithDeclIndex,
                                     @NotNull
                                     java.util.List<? extends org.jetbrains.org.objectweb.asm.Type> valueParameterTypes)