org.jetbrains.jet.codegen
Class ClosureCodegen

java.lang.Object
  extended by org.jetbrains.jet.codegen.binding.BindingContextAware
      extended by org.jetbrains.jet.codegen.binding.BindingTraceAware
          extended by org.jetbrains.jet.codegen.state.TypeMapperAware
              extended by org.jetbrains.jet.codegen.state.GenerationStateAware
                  extended by org.jetbrains.jet.codegen.ParentCodegenAwareImpl
                      extended by org.jetbrains.jet.codegen.ClosureCodegen
All Implemented Interfaces:
ParentCodegenAware

public class ClosureCodegen
extends ParentCodegenAwareImpl


Field Summary
 
Fields inherited from class org.jetbrains.jet.codegen.state.GenerationStateAware
state
 
Fields inherited from class org.jetbrains.jet.codegen.state.TypeMapperAware
typeMapper
 
Fields inherited from class org.jetbrains.jet.codegen.binding.BindingTraceAware
bindingTrace
 
Fields inherited from class org.jetbrains.jet.codegen.binding.BindingContextAware
bindingContext
 
Constructor Summary
ClosureCodegen(GenerationState state, com.intellij.psi.PsiElement fun, FunctionDescriptor funDescriptor, ClassDescriptor samInterface, org.jetbrains.asm4.Type closureSuperClass, CodegenContext parentContext, JvmAnnotationNames.KotlinSyntheticClass.Kind syntheticClassKind, LocalLookup localLookup, FunctionGenerationStrategy strategy, MemberCodegen parentCodegen)
           
 
Method Summary
static java.util.List<FieldInfo> calculateConstructorParameters(JetTypeMapper typeMapper, CalculatedClosure closure, org.jetbrains.asm4.Type ownerType)
           
 void gen()
           
static org.jetbrains.asm4.commons.Method generateConstructor(ClassBuilder cv, java.util.List<FieldInfo> args, com.intellij.psi.PsiElement fun, org.jetbrains.asm4.Type superClass, GenerationState state, int flags)
           
static FunctionDescriptor getInvokeFunction(FunctionDescriptor funDescriptor)
           
 StackValue putInstanceOnStack(org.jetbrains.asm4.commons.InstructionAdapter v, ExpressionCodegen codegen)
           
 
Methods inherited from class org.jetbrains.jet.codegen.ParentCodegenAwareImpl
getParentCodegen
 
Methods inherited from class org.jetbrains.jet.codegen.state.GenerationStateAware
getState
 
Methods inherited from class org.jetbrains.jet.codegen.state.TypeMapperAware
getTypeMapper
 
Methods inherited from class org.jetbrains.jet.codegen.binding.BindingTraceAware
getBindingTrace
 
Methods inherited from class org.jetbrains.jet.codegen.binding.BindingContextAware
getBindingContext
 
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
                      com.intellij.psi.PsiElement fun,
                      @NotNull
                      FunctionDescriptor funDescriptor,
                      @Nullable
                      ClassDescriptor samInterface,
                      @NotNull
                      org.jetbrains.asm4.Type closureSuperClass,
                      @NotNull
                      CodegenContext parentContext,
                      @NotNull
                      JvmAnnotationNames.KotlinSyntheticClass.Kind syntheticClassKind,
                      @NotNull
                      LocalLookup localLookup,
                      @NotNull
                      FunctionGenerationStrategy strategy,
                      @Nullable
                      MemberCodegen parentCodegen)
Method Detail

gen

public void gen()

putInstanceOnStack

@NotNull
public StackValue putInstanceOnStack(@NotNull
                                             org.jetbrains.asm4.commons.InstructionAdapter v,
                                             @NotNull
                                             ExpressionCodegen codegen)

generateConstructor

public static org.jetbrains.asm4.commons.Method generateConstructor(@NotNull
                                                                    ClassBuilder cv,
                                                                    @NotNull
                                                                    java.util.List<FieldInfo> args,
                                                                    @Nullable
                                                                    com.intellij.psi.PsiElement fun,
                                                                    @NotNull
                                                                    org.jetbrains.asm4.Type superClass,
                                                                    @NotNull
                                                                    GenerationState state,
                                                                    int flags)

calculateConstructorParameters

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

getInvokeFunction

public static FunctionDescriptor getInvokeFunction(FunctionDescriptor funDescriptor)