Pass GenerationState to generateClassSyntheticParts as it's more useful

This commit is contained in:
Yan Zhulanow
2015-03-10 21:07:07 +03:00
parent ab4d2788c2
commit 93ce3bc2ad
3 changed files with 6 additions and 4 deletions
@@ -386,7 +386,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
genClosureFields(context.closure, v, typeMapper); genClosureFields(context.closure, v, typeMapper);
for (ExpressionCodegenExtension extension : ExpressionCodegenExtension.Default.getInstances(state.getProject())) { for (ExpressionCodegenExtension extension : ExpressionCodegenExtension.Default.getInstances(state.getProject())) {
extension.generateClassSyntheticParts(v, bindingContext, myClass, descriptor); extension.generateClassSyntheticParts(v, state, myClass, descriptor);
} }
} }
@@ -22,6 +22,7 @@ import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter
import org.jetbrains.kotlin.codegen.StackValue import org.jetbrains.kotlin.codegen.StackValue
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
import org.jetbrains.kotlin.codegen.ClassBuilder import org.jetbrains.kotlin.codegen.ClassBuilder
import org.jetbrains.kotlin.codegen.state.GenerationState
import org.jetbrains.kotlin.psi.JetClassOrObject import org.jetbrains.kotlin.psi.JetClassOrObject
import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.*
@@ -39,7 +40,7 @@ public trait ExpressionCodegenExtension {
public fun generateClassSyntheticParts( public fun generateClassSyntheticParts(
classBuilder: ClassBuilder, classBuilder: ClassBuilder,
bindingContext: BindingContext, state: GenerationState,
classOrObject: JetClassOrObject, classOrObject: JetClassOrObject,
descriptor: ClassDescriptor descriptor: ClassDescriptor
) {} ) {}
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.codegen.ClassBuilderMode
import org.jetbrains.kotlin.codegen.FunctionCodegen import org.jetbrains.kotlin.codegen.FunctionCodegen
import org.jetbrains.kotlin.codegen.StackValue import org.jetbrains.kotlin.codegen.StackValue
import org.jetbrains.kotlin.codegen.extensions.ExpressionCodegenExtension import org.jetbrains.kotlin.codegen.extensions.ExpressionCodegenExtension
import org.jetbrains.kotlin.codegen.state.GenerationState
import org.jetbrains.kotlin.codegen.state.JetTypeMapper import org.jetbrains.kotlin.codegen.state.JetTypeMapper
import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
@@ -135,7 +136,7 @@ public class AndroidExpressionCodegenExtension : ExpressionCodegenExtension {
override fun generateClassSyntheticParts( override fun generateClassSyntheticParts(
classBuilder: ClassBuilder, classBuilder: ClassBuilder,
bindingContext: BindingContext, state: GenerationState,
classOrObject: JetClassOrObject, classOrObject: JetClassOrObject,
descriptor: ClassDescriptor descriptor: ClassDescriptor
) { ) {
@@ -145,7 +146,7 @@ public class AndroidExpressionCodegenExtension : ExpressionCodegenExtension {
val androidClassType = getClassType(descriptor) val androidClassType = getClassType(descriptor)
if (androidClassType == AndroidClassType.UNKNOWN) return if (androidClassType == AndroidClassType.UNKNOWN) return
val classType = JetTypeMapper(bindingContext, ClassBuilderMode.FULL).mapClass(descriptor) val classType = state.getTypeMapper().mapClass(descriptor)
val className = classType.getInternalName() val className = classType.getInternalName()
val viewType = Type.getObjectType("android/view/View") val viewType = Type.getObjectType("android/view/View")