org.jetbrains.jet.codegen
Class FunctionCodegen

java.lang.Object
  extended by org.jetbrains.jet.codegen.ParentCodegenAwareImpl
      extended by org.jetbrains.jet.codegen.FunctionCodegen
All Implemented Interfaces:
ParentCodegenAware

public class FunctionCodegen
extends ParentCodegenAwareImpl


Field Summary
 
Fields inherited from class org.jetbrains.jet.codegen.ParentCodegenAwareImpl
bindingContext, state, typeMapper
 
Constructor Summary
FunctionCodegen(CodegenContext owner, ClassBuilder v, GenerationState state, MemberCodegen<?> parentCodegen)
           
 
Method Summary
static void endVisit(org.jetbrains.org.objectweb.asm.MethodVisitor mv, java.lang.String description, com.intellij.psi.PsiElement method)
           
 void gen(JetNamedFunction function)
           
 void genDelegate(FunctionDescriptor functionDescriptor, ClassDescriptor toClass, StackValue field, JvmMethodSignature jvmDelegateMethodSignature, JvmMethodSignature jvmOverriddenMethodSignature)
           
 void genDelegate(FunctionDescriptor functionDescriptor, FunctionDescriptor overriddenDescriptor, StackValue field)
           
 void generateBridges(FunctionDescriptor descriptor)
           
 void generateMethod(com.intellij.psi.PsiElement origin, JvmMethodSignature jvmSignature, FunctionDescriptor functionDescriptor, FunctionGenerationStrategy strategy)
           
 void generateMethod(com.intellij.psi.PsiElement origin, JvmMethodSignature jvmSignature, FunctionDescriptor functionDescriptor, MethodContext methodContext, FunctionGenerationStrategy strategy)
           
static void generateMethodBody(org.jetbrains.org.objectweb.asm.MethodVisitor mv, FunctionDescriptor functionDescriptor, MethodContext context, JvmMethodSignature signature, FunctionGenerationStrategy strategy, MemberCodegen<?> parentCodegen)
           
 
Methods inherited from class org.jetbrains.jet.codegen.ParentCodegenAwareImpl
getParentCodegen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FunctionCodegen

public FunctionCodegen(@NotNull
                       CodegenContext owner,
                       @NotNull
                       ClassBuilder v,
                       @NotNull
                       GenerationState state,
                       MemberCodegen<?> parentCodegen)
Method Detail

gen

public void gen(@NotNull
                JetNamedFunction function)

generateMethod

public void generateMethod(@Nullable
                           com.intellij.psi.PsiElement origin,
                           @NotNull
                           JvmMethodSignature jvmSignature,
                           @NotNull
                           FunctionDescriptor functionDescriptor,
                           @NotNull
                           FunctionGenerationStrategy strategy)

generateMethod

public void generateMethod(@Nullable
                           com.intellij.psi.PsiElement origin,
                           @NotNull
                           JvmMethodSignature jvmSignature,
                           @NotNull
                           FunctionDescriptor functionDescriptor,
                           @NotNull
                           MethodContext methodContext,
                           @NotNull
                           FunctionGenerationStrategy strategy)

generateMethodBody

public static void generateMethodBody(@NotNull
                                      org.jetbrains.org.objectweb.asm.MethodVisitor mv,
                                      @NotNull
                                      FunctionDescriptor functionDescriptor,
                                      @NotNull
                                      MethodContext context,
                                      @NotNull
                                      JvmMethodSignature signature,
                                      @NotNull
                                      FunctionGenerationStrategy strategy,
                                      @NotNull
                                      MemberCodegen<?> parentCodegen)

endVisit

public static void endVisit(org.jetbrains.org.objectweb.asm.MethodVisitor mv,
                            @Nullable
                            java.lang.String description,
                            @Nullable
                            com.intellij.psi.PsiElement method)

generateBridges

public void generateBridges(@NotNull
                            FunctionDescriptor descriptor)

genDelegate

public void genDelegate(FunctionDescriptor functionDescriptor,
                        FunctionDescriptor overriddenDescriptor,
                        StackValue field)

genDelegate

public void genDelegate(FunctionDescriptor functionDescriptor,
                        ClassDescriptor toClass,
                        StackValue field,
                        JvmMethodSignature jvmDelegateMethodSignature,
                        JvmMethodSignature jvmOverriddenMethodSignature)