org.jetbrains.kotlin.codegen
Class FunctionCodegen

java.lang.Object
  extended by org.jetbrains.kotlin.codegen.FunctionCodegen

public class FunctionCodegen
extends java.lang.Object


Field Summary
 GenerationState state
           
 
Constructor Summary
FunctionCodegen(CodegenContext owner, ClassBuilder v, GenerationState state, MemberCodegen<?> memberCodegen)
           
 
Method Summary
static void endVisit(org.jetbrains.org.objectweb.asm.MethodVisitor mv, java.lang.String description, com.intellij.psi.PsiElement method)
           
 void gen(KtNamedFunction function)
           
 void genDelegate(FunctionDescriptor delegateFunction, FunctionDescriptor delegatedTo, ClassDescriptor toClass, StackValue field)
           
 void genDelegate(FunctionDescriptor functionDescriptor, FunctionDescriptor overriddenDescriptor, StackValue field)
           
 void generateBridges(FunctionDescriptor descriptor)
           
static void generateDefaultImplBody(MethodContext methodContext, FunctionDescriptor functionDescriptor, org.jetbrains.org.objectweb.asm.MethodVisitor mv, DefaultParameterValueLoader loadStrategy, KtNamedFunction function, MemberCodegen<?> parentCodegen, org.jetbrains.org.objectweb.asm.commons.Method defaultMethod)
           
 void generateMethod(JvmDeclarationOrigin origin, FunctionDescriptor descriptor, FunctionGenerationStrategy strategy)
           
 void generateMethod(JvmDeclarationOrigin origin, 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)
           
 void generateOverloadsWithDefaultValues(KtNamedFunction function, FunctionDescriptor functionDescriptor, FunctionDescriptor delegateFunctionDescriptor)
           
static java.lang.String[] getThrownExceptions(FunctionDescriptor function, JetTypeMapper mapper)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

state

public final GenerationState state
Constructor Detail

FunctionCodegen

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

gen

public void gen(@NotNull
                KtNamedFunction function)

generateOverloadsWithDefaultValues

public void generateOverloadsWithDefaultValues(@Nullable
                                               KtNamedFunction function,
                                               @NotNull
                                               FunctionDescriptor functionDescriptor,
                                               @NotNull
                                               FunctionDescriptor delegateFunctionDescriptor)

generateMethod

public void generateMethod(@NotNull
                           JvmDeclarationOrigin origin,
                           @NotNull
                           FunctionDescriptor descriptor,
                           @NotNull
                           FunctionGenerationStrategy strategy)

generateMethod

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

getThrownExceptions

@NotNull
public static java.lang.String[] getThrownExceptions(@NotNull
                                                             FunctionDescriptor function,
                                                             @NotNull
                                                             JetTypeMapper mapper)

generateDefaultImplBody

public static void generateDefaultImplBody(@NotNull
                                           MethodContext methodContext,
                                           @NotNull
                                           FunctionDescriptor functionDescriptor,
                                           @NotNull
                                           org.jetbrains.org.objectweb.asm.MethodVisitor mv,
                                           @NotNull
                                           DefaultParameterValueLoader loadStrategy,
                                           @Nullable
                                           KtNamedFunction function,
                                           @NotNull
                                           MemberCodegen<?> parentCodegen,
                                           @NotNull
                                           org.jetbrains.org.objectweb.asm.commons.Method defaultMethod)

genDelegate

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

genDelegate

public void genDelegate(@NotNull
                        FunctionDescriptor delegateFunction,
                        FunctionDescriptor delegatedTo,
                        ClassDescriptor toClass,
                        StackValue field)