org.jetbrains.kotlin.codegen
Class FunctionCodegen
java.lang.Object
org.jetbrains.kotlin.codegen.FunctionCodegen
public class FunctionCodegen
- extends java.lang.Object
Field Summary |
GenerationState |
state
|
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)
|
static void |
generateLocalVariablesForParameters(org.jetbrains.org.objectweb.asm.MethodVisitor mv,
JvmMethodSignature jvmMethodSignature,
org.jetbrains.org.objectweb.asm.Type thisType,
org.jetbrains.org.objectweb.asm.Label methodBegin,
org.jetbrains.org.objectweb.asm.Label methodEnd,
java.util.Collection<ValueParameterDescriptor> valueParameters,
boolean isStatic)
|
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)
|
void |
genSamDelegate(FunctionDescriptor functionDescriptor,
FunctionDescriptor overriddenDescriptor,
StackValue field)
|
static java.lang.String[] |
getThrownExceptions(FunctionDescriptor function,
KotlinTypeMapper mapper)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
state
public final GenerationState state
FunctionCodegen
public FunctionCodegen(@NotNull
CodegenContext owner,
@NotNull
ClassBuilder v,
@NotNull
GenerationState state,
@NotNull
MemberCodegen<?> memberCodegen)
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)
generateLocalVariablesForParameters
public static void generateLocalVariablesForParameters(@NotNull
org.jetbrains.org.objectweb.asm.MethodVisitor mv,
@NotNull
JvmMethodSignature jvmMethodSignature,
@Nullable
org.jetbrains.org.objectweb.asm.Type thisType,
@NotNull
org.jetbrains.org.objectweb.asm.Label methodBegin,
@NotNull
org.jetbrains.org.objectweb.asm.Label methodEnd,
java.util.Collection<ValueParameterDescriptor> valueParameters,
boolean isStatic)
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
KotlinTypeMapper 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)
genSamDelegate
public void genSamDelegate(@NotNull
FunctionDescriptor functionDescriptor,
FunctionDescriptor overriddenDescriptor,
StackValue field)
genDelegate
public void genDelegate(@NotNull
FunctionDescriptor functionDescriptor,
FunctionDescriptor overriddenDescriptor,
StackValue field)
genDelegate
public void genDelegate(@NotNull
FunctionDescriptor delegateFunction,
FunctionDescriptor delegatedTo,
ClassDescriptor toClass,
StackValue field)