From d613b149a06e728ffd000fc9b5f398a542a4e80f Mon Sep 17 00:00:00 2001 From: Andrew Eidsness Date: Tue, 28 Jan 2014 06:48:14 -0500 Subject: [PATCH] Bug 426781: Qt content assist is too aggressive In Content Assist cases like: q-> (when the cursor is to the right of the arrow operator) the name that is returned by the content assist context is the empty string. This was used to check if the QObject::connect function applied. Since the empt string matches all bindings the Qt assistant incorrectly continued. I've added a check to stop processing when the current name is the empty string. Change-Id: I4e5bf52f4ca1ddc33d88a48917213adbbeb81836 Signed-off-by: Andrew Eidsness Reviewed-on: https://git.eclipse.org/r/21188 Reviewed-by: Doug Schaefer IP-Clean: Doug Schaefer Tested-by: Doug Schaefer --- .../cdt/internal/qt/core/QtFunctionCallUtil.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QtFunctionCallUtil.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QtFunctionCallUtil.java index 7b652028aee..1e050cb51e5 100644 --- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QtFunctionCallUtil.java +++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QtFunctionCallUtil.java @@ -66,7 +66,9 @@ public class QtFunctionCallUtil { * and false otherwise. */ public static boolean isQObjectFunctionCall(IASTCompletionContext astContext, boolean isPrefix, IASTName name) { - if (name == null) + if (name == null + || name.getSimpleID() == null + || name.getSimpleID().length <= 0) return false; // Bug332201: Qt content assist should always be applied to the most specific part of @@ -80,14 +82,6 @@ public class QtFunctionCallUtil { return false; } - /** - * Returns true if the given function call argument is a SIGNAL or SLOT expansion - * and false otherwise. - public static boolean isQtMethodExpansion(IASTInitializerClause arg) { - return MethodRegex.matcher(arg.getRawSignature()).matches(); - } - */ - /** * If the given argument is a SIGNAL or SLOT expansion then find and return the node in the AST * that will be used for this method. Returns null if the argument is not a Qt method call or