Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java67
1 files changed, 65 insertions, 2 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java
index 54d989a4fca..e90b280f1de 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java
@@ -11,18 +11,22 @@
package org.eclipse.cdt.internal.core.pdom.dom.cpp;
+import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.dom.ast.DOMException;
import org.eclipse.cdt.core.dom.ast.IASTName;
+import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.IField;
import org.eclipse.cdt.core.dom.ast.IScope;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPBase;
+import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassScope;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPConstructor;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPField;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod;
import org.eclipse.cdt.internal.core.pdom.PDOMDatabase;
+import org.eclipse.cdt.internal.core.pdom.dom.PDOMMember;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMMemberOwner;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMNotImplementedError;
@@ -32,7 +36,7 @@ import org.eclipse.core.runtime.CoreException;
* @author Doug Schaefer
*
*/
-public class PDOMCPPClassType extends PDOMMemberOwner implements ICPPClassType {
+public class PDOMCPPClassType extends PDOMMemberOwner implements ICPPClassType, ICPPClassScope {
protected static final int RECORD_SIZE = PDOMMemberOwner.RECORD_SIZE + 0;
@@ -97,7 +101,7 @@ public class PDOMCPPClassType extends PDOMMemberOwner implements ICPPClassType {
}
public IScope getCompositeScope() throws DOMException {
- throw new PDOMNotImplementedError();
+ return this;
}
public int getKey() throws DOMException {
@@ -116,4 +120,63 @@ public class PDOMCPPClassType extends PDOMMemberOwner implements ICPPClassType {
throw new PDOMNotImplementedError();
}
+ public ICPPClassType getClassType() {
+ throw new PDOMNotImplementedError();
+ }
+
+ public ICPPMethod[] getImplicitMethods() {
+ throw new PDOMNotImplementedError();
+ }
+
+ public void addBinding(IBinding binding) throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
+ public void addName(IASTName name) throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
+ public IBinding[] find(String name) throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
+ public void flushCache() throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
+ public IBinding getBinding(IASTName name, boolean resolve) throws DOMException {
+ try {
+ PDOMMember[] matches = findMembers(name.toCharArray());
+ // TODO - need to check for overloads
+ return matches[0];
+ } catch (CoreException e) {
+ CCorePlugin.log(e);
+ return null;
+ }
+ }
+
+ public IScope getParent() throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
+ public IASTNode getPhysicalNode() throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
+ public IASTName getScopeName() throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
+ public boolean isFullyCached() throws DOMException {
+ return true;
+ }
+
+ public void removeBinding(IBinding binding) throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
+ public void setFullyCached(boolean b) throws DOMException {
+ throw new PDOMNotImplementedError();
+ }
+
}

Back to the top