org.jetbrains.kotlin.codegen
Class ClosureCodegen

java.lang.Object
  extended by org.jetbrains.kotlin.codegen.MemberCodegen<KtElement>
      extended by org.jetbrains.kotlin.codegen.ClosureCodegen

public class ClosureCodegen
extends MemberCodegen<KtElement>


Field Summary
 
Fields inherited from class org.jetbrains.kotlin.codegen.MemberCodegen
bindingContext, clInit, context, element, fileClassesProvider, functionCodegen, innerClasses, propertyCodegen, state, typeMapper, v
 
Constructor Summary
ClosureCodegen(GenerationState state, KtElement element, SamType samType, ClosureContext context, FunctionDescriptor functionReferenceTarget, FunctionGenerationStrategy strategy, MemberCodegen<?> parentCodegen, ClassBuilder classBuilder)
           
 
Method Summary
static java.util.List<FieldInfo> calculateConstructorParameters(JetTypeMapper typeMapper, CalculatedClosure closure, org.jetbrains.org.objectweb.asm.Type ownerType)
           
protected  ClassDescriptor classForInnerClassRecord()
           
protected  void done()
           
protected  void generateBody()
           
static void generateCallableReferenceDeclarationContainer(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv, CallableDescriptor descriptor, GenerationState state)
           
protected  void generateDeclaration()
           
protected  void generateKotlinAnnotation()
           
static FunctionDescriptor getErasedInvokeFunction(FunctionDescriptor elementDescriptor)
           
 StackValue putInstanceOnStack(ExpressionCodegen codegen)
           
 
Methods inherited from class org.jetbrains.kotlin.codegen.MemberCodegen
createOrGetClInitCodegen, genClassOrObject, genClassOrObject, generate, generateConstInstance, generateInitializers, generatePropertyMetadataArrayFieldIfNeeded, generateSyntheticAccessors, generateSyntheticParts, genFunctionOrProperty, getClassName, getContext, getInlineNameGenerator, getOrCreateSourceMapper, getParentCodegen, getReifiedTypeParametersUsages, markLineNumberForDescriptor, markLineNumberForElement, toString, writeOuterClassAndEnclosingMethod
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClosureCodegen

public ClosureCodegen(@NotNull
                      GenerationState state,
                      @NotNull
                      KtElement element,
                      @Nullable
                      SamType samType,
                      @NotNull
                      ClosureContext context,
                      @Nullable
                      FunctionDescriptor functionReferenceTarget,
                      @NotNull
                      FunctionGenerationStrategy strategy,
                      @NotNull
                      MemberCodegen<?> parentCodegen,
                      @NotNull
                      ClassBuilder classBuilder)
Method Detail

generateDeclaration

protected void generateDeclaration()
Specified by:
generateDeclaration in class MemberCodegen<KtElement>

classForInnerClassRecord

@Nullable
protected ClassDescriptor classForInnerClassRecord()
Overrides:
classForInnerClassRecord in class MemberCodegen<KtElement>

generateBody

protected void generateBody()
Specified by:
generateBody in class MemberCodegen<KtElement>

generateKotlinAnnotation

protected void generateKotlinAnnotation()
Specified by:
generateKotlinAnnotation in class MemberCodegen<KtElement>

done

protected void done()
Overrides:
done in class MemberCodegen<KtElement>

putInstanceOnStack

@NotNull
public StackValue putInstanceOnStack(@NotNull
                                             ExpressionCodegen codegen)

generateCallableReferenceDeclarationContainer

public static void generateCallableReferenceDeclarationContainer(@NotNull
                                                                 org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv,
                                                                 @NotNull
                                                                 CallableDescriptor descriptor,
                                                                 @NotNull
                                                                 GenerationState state)

calculateConstructorParameters

@NotNull
public static java.util.List<FieldInfo> calculateConstructorParameters(@NotNull
                                                                               JetTypeMapper typeMapper,
                                                                               @NotNull
                                                                               CalculatedClosure closure,
                                                                               @NotNull
                                                                               org.jetbrains.org.objectweb.asm.Type ownerType)

getErasedInvokeFunction

@NotNull
public static FunctionDescriptor getErasedInvokeFunction(@NotNull
                                                                 FunctionDescriptor elementDescriptor)