org.jetbrains.jet.codegen
Class ClosureCodegen

java.lang.Object
  extended by org.jetbrains.jet.codegen.ParentCodegenAware
      extended by org.jetbrains.jet.codegen.MemberCodegen<JetElement>
          extended by org.jetbrains.jet.codegen.ClosureCodegen

public class ClosureCodegen
extends MemberCodegen<JetElement>


Field Summary
 
Fields inherited from class org.jetbrains.jet.codegen.MemberCodegen
clInit, context, element, functionCodegen, propertyCodegen, v
 
Fields inherited from class org.jetbrains.jet.codegen.ParentCodegenAware
bindingContext, state, typeMapper
 
Constructor Summary
ClosureCodegen(GenerationState state, JetElement element, FunctionDescriptor funDescriptor, SamType samType, ClassContext context, JvmAnnotationNames.KotlinSyntheticClass.Kind syntheticClassKind, FunctionGenerationStrategy strategy, MemberCodegen<?> parentCodegen, ClassBuilder classBuilder, org.jetbrains.org.objectweb.asm.Type asmType)
           
 
Method Summary
static java.util.List<FieldInfo> calculateConstructorParameters(JetTypeMapper typeMapper, CalculatedClosure closure, org.jetbrains.org.objectweb.asm.Type ownerType)
           
protected  void done()
           
protected  void generateBody()
           
protected  void generateDeclaration()
           
protected  void generateKotlinAnnotation()
           
static FunctionDescriptor getErasedInvokeFunction(FunctionDescriptor elementDescriptor)
           
 StackValue putInstanceOnStack(ExpressionCodegen codegen)
           
 
Methods inherited from class org.jetbrains.jet.codegen.MemberCodegen
createOrGetClInitCodegen, genClassOrObject, genClassOrObject, generate, generateInitializers, generatePropertyMetadataArrayFieldIfNeeded, generateReflectionObjectField, generateSyntheticParts, genFunctionOrProperty, getClassName, getContext, getInlineNameGenerator, getReifiedTypeParametersUsages
 
Methods inherited from class org.jetbrains.jet.codegen.ParentCodegenAware
getParentCodegen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClosureCodegen

public ClosureCodegen(@NotNull
                      GenerationState state,
                      @NotNull
                      JetElement element,
                      @NotNull
                      FunctionDescriptor funDescriptor,
                      @Nullable
                      SamType samType,
                      @NotNull
                      ClassContext context,
                      @NotNull
                      JvmAnnotationNames.KotlinSyntheticClass.Kind syntheticClassKind,
                      @NotNull
                      FunctionGenerationStrategy strategy,
                      @Nullable
                      MemberCodegen<?> parentCodegen,
                      @NotNull
                      ClassBuilder classBuilder,
                      @NotNull
                      org.jetbrains.org.objectweb.asm.Type asmType)
Method Detail

generateDeclaration

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

generateBody

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

generateKotlinAnnotation

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

done

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

putInstanceOnStack

@NotNull
public StackValue putInstanceOnStack(@NotNull
                                             ExpressionCodegen codegen)

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)