org.jetbrains.jet.codegen
Class FunctionCodegen

java.lang.Object
  extended by org.jetbrains.jet.codegen.ParentCodegenAware
      extended by org.jetbrains.jet.codegen.FunctionCodegen

public class FunctionCodegen
extends ParentCodegenAware


Field Summary
 
Fields inherited from class org.jetbrains.jet.codegen.ParentCodegenAware
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)
           
static void generateDefaultImplBody(MethodContext methodContext, JvmMethodSignature signature, FunctionDescriptor functionDescriptor, boolean isStatic, org.jetbrains.org.objectweb.asm.MethodVisitor mv, DefaultParameterValueLoader loadStrategy, JetNamedFunction function, MemberCodegen<?> parentCodegen, GenerationState state)
           
 void generateMethod(JvmDeclarationOrigin origin, JvmMethodSignature jvmSignature, FunctionDescriptor functionDescriptor, FunctionGenerationStrategy strategy)
           
 void generateMethod(JvmDeclarationOrigin 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.ParentCodegenAware
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(@NotNull
                           JvmDeclarationOrigin origin,
                           @NotNull
                           JvmMethodSignature jvmSignature,
                           @NotNull
                           FunctionDescriptor functionDescriptor,
                           @NotNull
                           FunctionGenerationStrategy strategy)

generateMethod

public void generateMethod(@NotNull
                           JvmDeclarationOrigin 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)

generateDefaultImplBody

public static void generateDefaultImplBody(@NotNull
                                           MethodContext methodContext,
                                           @NotNull
                                           JvmMethodSignature signature,
                                           @NotNull
                                           FunctionDescriptor functionDescriptor,
                                           boolean isStatic,
                                           @NotNull
                                           org.jetbrains.org.objectweb.asm.MethodVisitor mv,
                                           @NotNull
                                           DefaultParameterValueLoader loadStrategy,
                                           @Nullable
                                           JetNamedFunction function,
                                           @NotNull
                                           MemberCodegen<?> parentCodegen,
                                           @NotNull
                                           GenerationState state)

genDelegate

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

genDelegate

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