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()
done
protected void done()
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()
getContext
@NotNull
public FieldOwnerContext<?> getContext()
wereReifierMarkers
public boolean wereReifierMarkers()
setWereReifierMarkers
public void setWereReifierMarkers(boolean wereReifierMarkers)