Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Schorn2010-12-02 12:31:05 +0000
committerMarkus Schorn2010-12-02 12:31:05 +0000
commit6cab1923dccb409b236f048b629d5f7325c5ad75 (patch)
tree36a733546bafaf3b57fd9be051940e4c5d25a745 /core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AccessContext.java
parent40a4382b3ec2b74bcf7bbc68dedd4393845a8e00 (diff)
downloadorg.eclipse.cdt-6cab1923dccb409b236f048b629d5f7325c5ad75.tar.gz
org.eclipse.cdt-6cab1923dccb409b236f048b629d5f7325c5ad75.tar.xz
org.eclipse.cdt-6cab1923dccb409b236f048b629d5f7325c5ad75.zip
Bug 330762: Content assist for deferred base classes.
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AccessContext.java')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AccessContext.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AccessContext.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AccessContext.java
index 3a99c2d5c6d..53c4f2a5874 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AccessContext.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AccessContext.java
@@ -26,6 +26,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPScope;
import org.eclipse.cdt.core.parser.util.ArrayUtil;
import org.eclipse.cdt.internal.core.dom.parser.cpp.ClassTypeHelper;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPDeferredClassInstance;
/**
* The context that determines access to private and protected class members.
@@ -128,6 +129,10 @@ public class AccessContext {
if (bases != null) {
for (ICPPBase base : bases) {
IBinding baseBinding = base.getBaseClass();
+ if (baseBinding instanceof ICPPDeferredClassInstance) {
+ // Support content assist for members of deferred instances.
+ baseBinding= ((ICPPDeferredClassInstance) baseBinding).getTemplateDefinition();
+ }
if (!(baseBinding instanceof ICPPClassType)) {
continue;
}

Back to the top