KT-1187 Wrong unnecessary completion

#KT-1187 Fixed
This commit is contained in:
Nikolay Krasko
2012-09-20 16:11:59 +04:00
parent b301bbe1f9
commit c7af6de16b
3 changed files with 13 additions and 1 deletions
@@ -36,6 +36,7 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope;
import org.jetbrains.jet.lang.resolve.scopes.JetScopeUtils;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver;
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
import org.jetbrains.jet.lang.types.ErrorUtils;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.NamespaceType;
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
@@ -61,7 +62,7 @@ public final class TipsManager {
JetScope resolutionScope = context.get(BindingContext.RESOLUTION_SCOPE, expression);
JetType expressionType = context.get(BindingContext.EXPRESSION_TYPE, receiverExpression);
if (expressionType != null && resolutionScope != null) {
if (expressionType != null && resolutionScope != null && !ErrorUtils.isErrorType(expressionType)) {
if (!(expressionType instanceof NamespaceType)) {
ExpressionReceiver receiverDescriptor = new ExpressionReceiver(receiverExpression, expressionType);
Set<DeclarationDescriptor> descriptors = new HashSet<DeclarationDescriptor>();
@@ -0,0 +1,7 @@
// KT-1187 Wrong unnecessary completion
fun anyfun() {
a.b.c.d.e.f.<caret>
}
// NUMBER: 0
@@ -56,6 +56,10 @@ public class JetBasicCompletionTest extends JetCompletionTestBase {
doTest();
}
public void testDoNotCompleteForErrorReceivers() {
doTest();
}
public void testExtendClassName() {
doTest();
}