Pass GenerationState to generateClassSyntheticParts as it's more useful
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user