Get rid of recordSourceForSynthesized

Sam descriptors now implement a common interface
SynthesizedCallableMemberDescriptor, introduced in frontend.
BindingContext.SOURCE_DESCRIPTOR_FOR_SYNTHESIZED is no longer needed
This commit is contained in:
Alexander Udalov
2013-08-30 23:14:19 +04:00
parent 56ca247509
commit 202524ab03
16 changed files with 61 additions and 57 deletions
@@ -1908,7 +1908,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
if (funDescriptor instanceof SimpleFunctionDescriptor) {
SimpleFunctionDescriptor original = ((SimpleFunctionDescriptor) funDescriptor).getOriginal();
if (original instanceof SamConstructorDescriptor) {
return invokeSamConstructor(expression, resolvedCall, ((SamConstructorDescriptor) original).getSamInterface());
return invokeSamConstructor(expression, resolvedCall, ((SamConstructorDescriptor) original).getBaseForSynthesized());
}
}
@@ -27,7 +27,7 @@ public class SamCodegenUtil {
public static FunctionDescriptor getOriginalIfSamAdapter(@NotNull FunctionDescriptor fun) {
FunctionDescriptor original = fun.getOriginal();
if (original instanceof SamAdapterDescriptor<?>) {
return ((SamAdapterDescriptor) original).getDeclaration();
return ((SamAdapterDescriptor<?>) original).getBaseForSynthesized();
}
if (original.getKind() == CallableMemberDescriptor.Kind.FAKE_OVERRIDE) {