KT-1187 Wrong unnecessary completion
#KT-1187 Fixed
This commit is contained in:
@@ -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.JetScopeUtils;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver;
|
import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver;
|
||||||
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
|
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.JetType;
|
||||||
import org.jetbrains.jet.lang.types.NamespaceType;
|
import org.jetbrains.jet.lang.types.NamespaceType;
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||||
@@ -61,7 +62,7 @@ public final class TipsManager {
|
|||||||
JetScope resolutionScope = context.get(BindingContext.RESOLUTION_SCOPE, expression);
|
JetScope resolutionScope = context.get(BindingContext.RESOLUTION_SCOPE, expression);
|
||||||
JetType expressionType = context.get(BindingContext.EXPRESSION_TYPE, receiverExpression);
|
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)) {
|
if (!(expressionType instanceof NamespaceType)) {
|
||||||
ExpressionReceiver receiverDescriptor = new ExpressionReceiver(receiverExpression, expressionType);
|
ExpressionReceiver receiverDescriptor = new ExpressionReceiver(receiverExpression, expressionType);
|
||||||
Set<DeclarationDescriptor> descriptors = new HashSet<DeclarationDescriptor>();
|
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();
|
doTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testDoNotCompleteForErrorReceivers() {
|
||||||
|
doTest();
|
||||||
|
}
|
||||||
|
|
||||||
public void testExtendClassName() {
|
public void testExtendClassName() {
|
||||||
doTest();
|
doTest();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user