Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorNathan Ridge2015-07-06 04:23:21 +0000
committerSergey Prigogin2015-07-07 19:09:12 +0000
commita121f85c83d8044eb100e7673c75dc4d0594d381 (patch)
tree23b6213d186d6354b490b752a5be3f960d4ffecf /core
parent7ece374afdb843e4554d3a6d332dfcea6ca709b3 (diff)
downloadorg.eclipse.cdt-a121f85c83d8044eb100e7673c75dc4d0594d381.tar.gz
org.eclipse.cdt-a121f85c83d8044eb100e7673c75dc4d0594d381.tar.xz
org.eclipse.cdt-a121f85c83d8044eb100e7673c75dc4d0594d381.zip
Bug 421823 - When a base class lookup runs into a deferred instance,
disambiguate between a method and a field Change-Id: Ib29f85822d11504a9f4c857083f275443ce6a832 Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
Diffstat (limited to 'core')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java
index 2d24255257d..6071b15347b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java
@@ -217,6 +217,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPScope;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateNonTypeArgument;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPUnknownConstructor;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPUnknownField;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPUnknownMemberClass;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPUnknownMethod;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPUsingDeclaration;
@@ -497,8 +498,10 @@ public class CPPSemantics {
if (binding == null && data.skippedScope != null) {
if (namePropertyInParent == IASTNamedTypeSpecifier.NAME) {
binding= new CPPUnknownMemberClass(data.skippedScope, name.getSimpleID());
- } else {
+ } else if (data.isFunctionCall()) {
binding= new CPPUnknownMethod(data.skippedScope, name.getSimpleID());
+ } else {
+ binding= new CPPUnknownField(data.skippedScope, name.getSimpleID());
}
}

Back to the top