org.jetbrains.jet.codegen
Class MemberCodegen<T extends JetElement>
java.lang.Object
org.jetbrains.jet.codegen.ParentCodegenAware
org.jetbrains.jet.codegen.MemberCodegen<T>
- Direct Known Subclasses:
- ClassBodyCodegen, PackagePartCodegen, ScriptCodegen
public abstract class MemberCodegen<T extends JetElement>
- extends ParentCodegenAware
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
element
protected final T extends JetElement element
context
protected final FieldOwnerContext context
v
protected final ClassBuilder v
functionCodegen
protected final FunctionCodegen functionCodegen
propertyCodegen
protected final PropertyCodegen propertyCodegen
clInit
protected ExpressionCodegen clInit
MemberCodegen
public MemberCodegen(@NotNull
GenerationState state,
@Nullable
MemberCodegen<?> parentCodegen,
@NotNull
FieldOwnerContext context,
T element,
@NotNull
ClassBuilder builder)
generate
public void generate()
generateDeclaration
protected abstract void generateDeclaration()
generateBody
protected abstract void generateBody()
generateSyntheticParts
protected void generateSyntheticParts()
generateKotlinAnnotation
protected abstract void generateKotlinAnnotation()
genFunctionOrProperty
public void genFunctionOrProperty(@NotNull
JetDeclaration functionOrProperty)
genClassOrObject
public static void genClassOrObject(@NotNull
CodegenContext parentContext,
@NotNull
JetClassOrObject aClass,
@NotNull
GenerationState state,
@Nullable
MemberCodegen<?> parentCodegen)
genClassOrObject
public void genClassOrObject(JetClassOrObject aClass)
getInlineNameGenerator
@NotNull
public NameGenerator getInlineNameGenerator()
createOrGetClInitCodegen
@NotNull
protected ExpressionCodegen createOrGetClInitCodegen()
generateInitializers
protected void generateInitializers(@NotNull
kotlin.Function0<ExpressionCodegen> createCodegen)
generateReflectionObjectField
public static void generateReflectionObjectField(@NotNull
GenerationState state,
@NotNull
org.jetbrains.org.objectweb.asm.Type thisAsmType,
@NotNull
ClassBuilder classBuilder,
@NotNull
org.jetbrains.org.objectweb.asm.commons.Method factory,
@NotNull
java.lang.String fieldName,
@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
generatePropertyMetadataArrayFieldIfNeeded
protected void generatePropertyMetadataArrayFieldIfNeeded(@NotNull
org.jetbrains.org.objectweb.asm.Type thisAsmType)
getClassName
public java.lang.String getClassName()