Call Resolver: Report UNRESOLVED_REFERENCE instead of EXPRESSION_EXPECTED_PACKAGE_FOUND when callee expession is resolved to package

This commit is contained in:
Alexey Sedunov
2014-10-07 18:16:33 +04:00
parent 77a5ddbcd0
commit c73c581b11
3 changed files with 7 additions and 4 deletions
@@ -212,9 +212,10 @@ public class CallExpressionResolver {
context, "trace to resolve as variable with 'invoke' call", callExpression);
JetType type = getVariableType((JetSimpleNameExpression) calleeExpression, receiver, callOperationNode,
context.replaceTraceAndCache(temporaryForVariable), result);
if (result[0]) {
Qualifier qualifier = temporaryForVariable.trace.get(BindingContext.QUALIFIER, calleeExpression);
if (result[0] && (qualifier == null || qualifier.getPackageView() == null)) {
temporaryForVariable.commit();
context.trace.report(FUNCTION_EXPECTED.on((JetReferenceExpression) calleeExpression, calleeExpression,
context.trace.report(FUNCTION_EXPECTED.on(calleeExpression, calleeExpression,
type != null ? type : ErrorUtils.createErrorType("")));
return JetTypeInfo.create(null, context.dataFlowInfo);
}
@@ -13,7 +13,7 @@ fun x(f : Foo) {
f.<!NO_VALUE_FOR_PARAMETER, FUNCTION_CALL_EXPECTED!>bar<!>
f.<!FUNCTION_EXPECTED!>a<!>()
<!EXPRESSION_EXPECTED_PACKAGE_FOUND, FUNCTION_EXPECTED!>c<!>()
<!UNRESOLVED_REFERENCE!>c<!>()
<!FUNCTION_EXPECTED!>R<!>()
}
@@ -1,6 +1,8 @@
package to
import a.a
fun f(i: a.a) {
a.a
a.a()
a()
}