Call findViewById if invoked on anything but our Activity class

This commit is contained in:
Yan Zhulanow
2015-02-06 16:32:05 +03:00
parent 8ebd63ee96
commit db45ab4ad6
14 changed files with 210 additions and 56 deletions
@@ -403,7 +403,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
genClosureFields(context.closure, v, typeMapper);
for (ExpressionCodegenExtension extension : ExpressionCodegenExtension.Default.getInstances(state.getProject())) {
extension.generateClassSyntheticParts(v, myClass, descriptor);
extension.generateClassSyntheticParts(v, bindingContext, myClass, descriptor);
}
}
@@ -23,7 +23,8 @@ import org.jetbrains.kotlin.codegen.StackValue
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
import org.jetbrains.kotlin.codegen.ClassBuilder
import org.jetbrains.kotlin.psi.JetClassOrObject
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.resolve.*
public trait ExpressionCodegenExtension {
class object : ProjectExtensionDescriptor<ExpressionCodegenExtension>("org.jetbrains.kotlin.expressionCodegenExtension", javaClass<ExpressionCodegenExtension>())
@@ -36,7 +37,10 @@ public trait ExpressionCodegenExtension {
// return null if not applicable
public fun apply(receiver: StackValue, resolvedCall: ResolvedCall<*>, c: Context): StackValue?
public fun generateClassSyntheticParts(codegen: ClassBuilder, clazz: JetClassOrObject, descriptor: DeclarationDescriptor) {
}
public fun generateClassSyntheticParts(
classBuilder: ClassBuilder,
bindingContext: BindingContext,
classOrObject: JetClassOrObject,
descriptor: ClassDescriptor
) {}
}