|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jetbrains.kotlin.codegen.MemberCodegen<T>
public abstract class MemberCodegen<T extends KtElement>
| Field Summary | |
|---|---|
protected BindingContext |
bindingContext
|
protected ExpressionCodegen |
clInit
|
protected FieldOwnerContext |
context
|
protected T |
element
|
protected JvmFileClassesProvider |
fileClassesProvider
|
protected FunctionCodegen |
functionCodegen
|
protected java.util.Collection<ClassDescriptor> |
innerClasses
|
protected PropertyCodegen |
propertyCodegen
|
protected GenerationState |
state
|
protected JetTypeMapper |
typeMapper
|
protected ClassBuilder |
v
|
| Constructor Summary | |
|---|---|
|
MemberCodegen(GenerationState state,
MemberCodegen<?> parentCodegen,
FieldOwnerContext context,
T element,
ClassBuilder builder)
|
protected |
MemberCodegen(MemberCodegen<T> wrapped,
T declaration,
FieldOwnerContext codegenContext)
|
| Method Summary | |
|---|---|
protected ClassDescriptor |
classForInnerClassRecord()
|
protected ExpressionCodegen |
createOrGetClInitCodegen()
|
protected void |
done()
|
static void |
genClassOrObject(CodegenContext parentContext,
KtClassOrObject aClass,
GenerationState state,
MemberCodegen<?> parentCodegen)
|
void |
genClassOrObject(KtClassOrObject aClass)
|
void |
generate()
|
protected abstract void |
generateBody()
|
protected void |
generateConstInstance(org.jetbrains.org.objectweb.asm.Type thisAsmType,
org.jetbrains.org.objectweb.asm.Type fieldAsmType,
kotlin.jvm.functions.Function1<org.jetbrains.org.objectweb.asm.commons.InstructionAdapter,kotlin.Unit> initialization)
|
protected abstract void |
generateDeclaration()
|
protected void |
generateInitializers(kotlin.jvm.functions.Function0<ExpressionCodegen> createCodegen)
|
protected abstract void |
generateKotlinAnnotation()
|
protected void |
generatePropertyMetadataArrayFieldIfNeeded(org.jetbrains.org.objectweb.asm.Type thisAsmType)
|
protected void |
generateSyntheticAccessors()
|
protected void |
generateSyntheticParts()
|
void |
genFunctionOrProperty(KtDeclaration functionOrProperty)
|
java.lang.String |
getClassName()
|
FieldOwnerContext<?> |
getContext()
|
NameGenerator |
getInlineNameGenerator()
|
SourceMapper |
getOrCreateSourceMapper()
|
MemberCodegen<?> |
getParentCodegen()
|
ReifiedTypeParametersUsages |
getReifiedTypeParametersUsages()
|
static void |
markLineNumberForDescriptor(ClassDescriptor declarationDescriptor,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
markLineNumberForElement(com.intellij.psi.PsiElement element,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
java.lang.String |
toString()
|
protected void |
writeOuterClassAndEnclosingMethod()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final GenerationState state
protected final T extends KtElement element
protected final FieldOwnerContext context
protected final ClassBuilder v
protected final FunctionCodegen functionCodegen
protected final PropertyCodegen propertyCodegen
protected final JetTypeMapper typeMapper
protected final BindingContext bindingContext
protected final JvmFileClassesProvider fileClassesProvider
protected final java.util.Collection<ClassDescriptor> innerClasses
protected ExpressionCodegen clInit
| Constructor Detail |
|---|
public MemberCodegen(@NotNull
GenerationState state,
@Nullable
MemberCodegen<?> parentCodegen,
@NotNull
FieldOwnerContext context,
T element,
@NotNull
ClassBuilder builder)
protected MemberCodegen(@NotNull
MemberCodegen<T> wrapped,
T declaration,
FieldOwnerContext codegenContext)
| Method Detail |
|---|
public void generate()
protected abstract void generateDeclaration()
protected abstract void generateBody()
protected void generateSyntheticParts()
protected abstract void generateKotlinAnnotation()
@Nullable protected ClassDescriptor classForInnerClassRecord()
public static void markLineNumberForDescriptor(@Nullable
ClassDescriptor declarationDescriptor,
@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
public static void markLineNumberForElement(@NotNull
com.intellij.psi.PsiElement element,
@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
protected void done()
public void genFunctionOrProperty(@NotNull
KtDeclaration functionOrProperty)
public static void genClassOrObject(@NotNull
CodegenContext parentContext,
@NotNull
KtClassOrObject aClass,
@NotNull
GenerationState state,
@Nullable
MemberCodegen<?> parentCodegen)
public void genClassOrObject(KtClassOrObject aClass)
protected void writeOuterClassAndEnclosingMethod()
@NotNull public NameGenerator getInlineNameGenerator()
@NotNull protected ExpressionCodegen createOrGetClInitCodegen()
protected void generateInitializers(@NotNull
kotlin.jvm.functions.Function0<ExpressionCodegen> createCodegen)
protected void generatePropertyMetadataArrayFieldIfNeeded(@NotNull
org.jetbrains.org.objectweb.asm.Type thisAsmType)
public java.lang.String getClassName()
@NotNull public FieldOwnerContext<?> getContext()
@NotNull public ReifiedTypeParametersUsages getReifiedTypeParametersUsages()
public MemberCodegen<?> getParentCodegen()
public java.lang.String toString()
toString in class java.lang.Object@NotNull public SourceMapper getOrCreateSourceMapper()
protected void generateConstInstance(@NotNull
org.jetbrains.org.objectweb.asm.Type thisAsmType,
@NotNull
org.jetbrains.org.objectweb.asm.Type fieldAsmType,
@NotNull
kotlin.jvm.functions.Function1<org.jetbrains.org.objectweb.asm.commons.InstructionAdapter,kotlin.Unit> initialization)
protected void generateSyntheticAccessors()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||