Saving mapping from SAM constructor to trait.

This commit is contained in:
Evgeny Gerashchenko
2013-03-13 20:47:15 +04:00
parent a96a461e61
commit 8f34dea4c8
2 changed files with 8 additions and 4 deletions
@@ -343,11 +343,14 @@ public final class JavaFunctionResolver {
PsiClass functionalInterface = namedMembers.getFunctionalInterface();
if (functionalInterface != null) {
ClassifierDescriptor classifier = ownerDescriptor.getMemberScope().getClassifier(functionName);
if (classifier instanceof ClassDescriptor && SingleAbstractMethodUtils.isFunctionalInterface((ClassDescriptor) classifier)) {
if (classifier instanceof ClassDescriptor) {
ClassDescriptor klass = (ClassDescriptor) classifier;
SimpleFunctionDescriptor constructorFunction =
SingleAbstractMethodUtils.createConstructorFunction((ClassDescriptor) classifier);
return Collections.<FunctionDescriptor>singleton(constructorFunction);
if (SingleAbstractMethodUtils.isFunctionalInterface(klass)) {
SimpleFunctionDescriptor constructorFunction = SingleAbstractMethodUtils.createConstructorFunction(klass);
trace.record(BindingContext.SAM_CONSTRUCTOR_TO_TRAIT, constructorFunction, klass);
return Collections.<FunctionDescriptor>singleton(constructorFunction);
}
}
}