org.jetbrains.kotlin.codegen
Class ClosureCodegen
java.lang.Object
org.jetbrains.kotlin.codegen.MemberCodegen<KtElement>
org.jetbrains.kotlin.codegen.ClosureCodegen
public class ClosureCodegen
- extends MemberCodegen<KtElement>
| Methods inherited from class org.jetbrains.kotlin.codegen.MemberCodegen |
addInnerClassInfoFromAnnotation, badDescriptor, beforeMethodBody, createClInitMethodVisitor, createOrGetClInitCodegen, genClassOrObject, genClassOrObject, generate, generateConstInstance, generateInitializers, generateKotlinClassMetadataAnnotation, generateMethodCallTo, generatePropertyMetadataArrayFieldIfNeeded, generateSyntheticAccessors, generateSyntheticParts, genSimpleMember, genSyntheticClassOrObject, getClassName, getContext, getInlineNameGenerator, getOrCreateSourceMapper, getParentCodegen, getReifiedTypeParametersUsages, markLineNumberForDescriptor, markLineNumberForElement, shouldInitializeProperty, toString, writeInnerClass, writeOuterClassAndEnclosingMethod |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
funDescriptor
protected final FunctionDescriptor funDescriptor
closure
protected final CalculatedClosure closure
asmType
protected final org.jetbrains.org.objectweb.asm.Type asmType
visibilityFlag
protected final int visibilityFlag
superClassAsmType
protected org.jetbrains.org.objectweb.asm.Type superClassAsmType
ClosureCodegen
public ClosureCodegen(@NotNull
GenerationState state,
@NotNull
KtElement element,
@Nullable
SamType samType,
@NotNull
ClosureContext context,
@Nullable
FunctionDescriptor functionReferenceTarget,
@NotNull
FunctionGenerationStrategy strategy,
@NotNull
MemberCodegen<?> parentCodegen,
@NotNull
ClassBuilder classBuilder)
generateDeclaration
protected void generateDeclaration()
- Specified by:
generateDeclaration in class MemberCodegen<KtElement>
classForInnerClassRecord
@Nullable
protected ClassDescriptor classForInnerClassRecord()
- Overrides:
classForInnerClassRecord in class MemberCodegen<KtElement>
generateBody
protected void generateBody()
- Specified by:
generateBody in class MemberCodegen<KtElement>
generateClosureBody
protected void generateClosureBody()
generateBridges
protected void generateBridges()
generateKotlinMetadataAnnotation
protected void generateKotlinMetadataAnnotation()
- Specified by:
generateKotlinMetadataAnnotation in class MemberCodegen<KtElement>
done
protected void done()
- Overrides:
done in class MemberCodegen<KtElement>
putInstanceOnStack
@NotNull
public StackValue putInstanceOnStack(@NotNull
ExpressionCodegen codegen,
@Nullable
StackValue functionReferenceReceiver)
generateBridge
protected void generateBridge(@NotNull
org.jetbrains.org.objectweb.asm.commons.Method bridge,
@NotNull
org.jetbrains.org.objectweb.asm.commons.Method delegate)
generateCallableReferenceDeclarationContainer
public static void generateCallableReferenceDeclarationContainer(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv,
@NotNull
CallableDescriptor descriptor,
@NotNull
GenerationState state)
generateConstructor
@NotNull
protected org.jetbrains.org.objectweb.asm.commons.Method generateConstructor()
calculateArity
protected int calculateArity()
calculateConstructorParameters
@NotNull
public static java.util.List<FieldInfo> calculateConstructorParameters(@NotNull
KotlinTypeMapper typeMapper,
@NotNull
CalculatedClosure closure,
@NotNull
org.jetbrains.org.objectweb.asm.Type ownerType)
getErasedInvokeFunction
@NotNull
public static FunctionDescriptor getErasedInvokeFunction(@NotNull
FunctionDescriptor function)