Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Schorn2007-11-22 15:57:17 +0000
committerMarkus Schorn2007-11-22 15:57:17 +0000
commit9b07ea66db6bbcb84703aeebda92983241c8ca01 (patch)
tree2abc4bf45443681fec1a08f5c1338e375f911577 /core/org.eclipse.cdt.core/parser
parent41e74e8cbff9a853b3e1727b4a9a379f07731bf0 (diff)
downloadorg.eclipse.cdt-9b07ea66db6bbcb84703aeebda92983241c8ca01.tar.gz
org.eclipse.cdt-9b07ea66db6bbcb84703aeebda92983241c8ca01.tar.xz
org.eclipse.cdt-9b07ea66db6bbcb84703aeebda92983241c8ca01.zip
Static variables/functions in Open Element and Search (bug 193057 and 196414).
Diffstat (limited to 'core/org.eclipse.cdt.core/parser')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndex.java10
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexBinding.java7
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CIndex.java28
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/EmptyCIndex.java4
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java14
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java43
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java20
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMFileLocalScope.java4
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java32
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNamedNode.java11
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCParameter.java10
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java13
12 files changed, 132 insertions, 64 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndex.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndex.java
index 1f41022f51b..a0c635e1be2 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndex.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndex.java
@@ -250,6 +250,9 @@ public interface IIndex {
/**
* Searches for all bindings in global scope with a given name. In case a binding exists in multiple projects, no duplicate bindings are returned.
* This method makes use of the BTree and is faster than the methods using patterns.
+ * <p>
+ * To find bindings for file-local (static) variables or functions you need to provide an additional qualifier. It can be obtained by calling
+ * {@link #getFileLocalScopeQualifier()} or {@link IndexLocationFactory#getFileLocalQualifier(IIndexLocation)}.
* @param names an array of names, which has to be matched by the qualified name of the bindings.
* @param filter a filter that allows for skipping parts of the index
* @param monitor a monitor to report progress, may be <code>null</code>.
@@ -342,4 +345,11 @@ public interface IIndex {
* @throws CoreException
*/
public IIndexBinding adaptBinding(IBinding binding);
+
+ /**
+ * Returns the additional qualifier with which you can search for static (file-local) functions and
+ * variables.
+ * @see #findBindings(char[][], IndexFilter, IProgressMonitor).
+ */
+ public String getFileLocalScopeQualifier(IIndexFileLocation loc);
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexBinding.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexBinding.java
index 89da0dc5ad4..b2dd99e6ba4 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexBinding.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexBinding.java
@@ -43,4 +43,11 @@ public interface IIndexBinding extends IBinding {
* in another index.
*/
boolean isFileLocal() throws CoreException;
+
+ /**
+ * Returns the qualifier that can be used to search for file local bindings using
+ * {@link IIndex#findBindings(char[][], IndexFilter, org.eclipse.core.runtime.IProgressMonitor)}.
+ * In case the binding is not file-local, <code>null</code> is returned.
+ */
+ String getFileLocalScopeQualifier() throws CoreException;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CIndex.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CIndex.java
index 33ce7860361..f6f5c398adb 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CIndex.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/CIndex.java
@@ -558,4 +558,32 @@ public class CIndex implements IIndex {
fFragments[i].resetCacheCounters();
}
}
+
+ public String getFileLocalScopeQualifier(IIndexFileLocation loc) {
+ return new String(getFileLocalScopeQualifier(loc.getFullPath()));
+ }
+
+ public static char[] getFileLocalScopeQualifier(String fullPath) {
+ char[] fname= fullPath.toCharArray();
+ int fnamestart= findFileNameStart(fname);
+ StringBuffer buf= new StringBuffer();
+ buf.append('{');
+ buf.append(fname, fnamestart, fname.length-fnamestart);
+ buf.append(':');
+ buf.append(fullPath.hashCode());
+ buf.append('}');
+ fname= buf.toString().toCharArray();
+ return fname;
+ }
+
+ private static int findFileNameStart(char[] fname) {
+ for (int i= fname.length-2; i>=0; i--) {
+ switch (fname[i]) {
+ case '/':
+ case '\\':
+ return i+1;
+ }
+ }
+ return 0;
+ }
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/EmptyCIndex.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/EmptyCIndex.java
index cc4d17df512..988e3774ad0 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/EmptyCIndex.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/EmptyCIndex.java
@@ -121,4 +121,8 @@ final public class EmptyCIndex implements IIndex {
public IIndexMacro[] findMacrosForPrefix(char[] prefix, IndexFilter filter, IProgressMonitor monitor) {
return IIndexMacro.EMPTY_INDEX_MACRO_ARRAY;
}
+
+ public String getFileLocalScopeQualifier(IIndexFileLocation loc) {
+ return new String(CIndex.getFileLocalScopeQualifier(loc.getFullPath()));
+ }
} \ No newline at end of file
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java
index ed617a2ccd0..f7f4d4fc862 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/CompositeIndexBinding.java
@@ -6,9 +6,9 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Andrew Ferguson (Symbian) - Initial implementation
- * Markus Schorn (Wind River Systems)
- * Bryan Wilkinson (QNX)
+ * Andrew Ferguson (Symbian) - Initial implementation
+ * Markus Schorn (Wind River Systems)
+ * Bryan Wilkinson (QNX)
*******************************************************************************/
package org.eclipse.cdt.internal.core.index.composite;
@@ -87,9 +87,13 @@ public abstract class CompositeIndexBinding implements IIndexBinding {
}
public boolean isFileLocal() throws CoreException {
- return rbinding instanceof IIndexBinding ? ((IIndexBinding)rbinding).isFileLocal() : true;
+ return rbinding != null ? rbinding.isFileLocal() : false;
}
-
+
+ public String getFileLocalScopeQualifier() throws CoreException {
+ return rbinding != null ? rbinding.getFileLocalScopeQualifier() : null;
+ }
+
public boolean equals(Object obj) {
if (obj == this)
return true;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java
index 5138048d8d2..79c9a753488 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java
@@ -54,12 +54,14 @@ import org.eclipse.cdt.internal.core.pdom.dom.BindingCollector;
import org.eclipse.cdt.internal.core.pdom.dom.FindBinding;
import org.eclipse.cdt.internal.core.pdom.dom.IPDOMLinkageFactory;
import org.eclipse.cdt.internal.core.pdom.dom.MacroCollector;
+import org.eclipse.cdt.internal.core.pdom.dom.NamedNodeCollector;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMFile;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMInclude;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMLinkage;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMMacro;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMName;
+import org.eclipse.cdt.internal.core.pdom.dom.PDOMNamedNode;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -372,20 +374,20 @@ public class PDOM extends PlatformObject implements IIndexFragment, IPDOM {
if (monitor.isCanceled())
throw new CoreException(Status.OK_STATUS);
- if (node instanceof PDOMBinding) {
- PDOMBinding binding = (PDOMBinding)node;
- String name = binding.getName();
+ if (node instanceof PDOMNamedNode) {
+ PDOMNamedNode nnode = (PDOMNamedNode)node;
+ String name = new String(nnode.getNameCharArray());
// check if we have a complete match.
final int lastIdx = pattern.length-1;
if (matchesUpToLevel.get(lastIdx) && pattern[lastIdx].matcher(name).matches()) {
- if (filter.acceptBinding(binding)) {
- bindings.add(binding);
+ if (nnode instanceof IBinding && filter.acceptBinding((IBinding) nnode)) {
+ bindings.add(nnode);
}
}
// check if we have a partial match
- if (binding.mayHaveChildren()) {
+ if (nnode.mayHaveChildren()) {
boolean visitNextLevel= false;
BitSet updatedMatchesUpToLevel= new BitSet();
if (!isFullyQualified) {
@@ -401,7 +403,7 @@ public class PDOM extends PlatformObject implements IIndexFragment, IPDOM {
if (visitNextLevel) {
matchStack.add(matchesUpToLevel);
matchesUpToLevel= updatedMatchesUpToLevel;
- currentPath.add(binding);
+ currentPath.add(nnode);
return true;
}
}
@@ -449,24 +451,33 @@ public class PDOM extends PlatformObject implements IIndexFragment, IPDOM {
}
public IIndexFragmentBinding[] findBindings(char[][] names, IndexFilter filter, IProgressMonitor monitor) throws CoreException {
+ if (names.length == 0) {
+ return IIndexFragmentBinding.EMPTY_INDEX_BINDING_ARRAY;
+ }
ArrayList result= new ArrayList();
+ ArrayList nodes= new ArrayList();
for (Iterator iter = fLinkageIDCache.values().iterator(); iter.hasNext();) {
PDOMLinkage linkage = (PDOMLinkage) iter.next();
if (filter.acceptLinkage(linkage)) {
- ArrayList bindings= new ArrayList();
- bindings.add(linkage);
- for (int i=0; i < names.length; i++) {
+ nodes.add(linkage);
+ for (int i=0; i < names.length-1; i++) {
char[] name= names[i];
- IndexFilter levelFilter= i==names.length-1 ? filter : IndexFilter.ALL;
- BindingCollector collector= new BindingCollector(linkage, name, levelFilter, false, true);
- for (Iterator in = bindings.iterator(); in.hasNext();) {
+ NamedNodeCollector collector= new NamedNodeCollector(linkage, name, false, true);
+ for (Iterator in = nodes.iterator(); in.hasNext();) {
PDOMNode node= (PDOMNode) in.next();
node.accept(collector);
}
- bindings.clear();
- bindings.addAll(Arrays.asList(collector.getBindings()));
+ nodes.clear();
+ nodes.addAll(Arrays.asList(collector.getNodes()));
+ }
+ char[] name= names[names.length-1];
+ BindingCollector collector= new BindingCollector(linkage, name, filter, false, true);
+ for (Iterator in = nodes.iterator(); in.hasNext();) {
+ PDOMNode node= (PDOMNode) in.next();
+ node.accept(collector);
}
- result.addAll(bindings);
+ nodes.clear();
+ result.addAll(Arrays.asList(collector.getBindings()));
}
}
return (IIndexFragmentBinding[]) result.toArray(new IIndexFragmentBinding[result.size()]);
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java
index 77b3ff07056..a6da94c6195 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java
@@ -6,9 +6,9 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * QNX - Initial API and implementation
- * Markus Schorn (Wind River Systems)
- * Andrew Ferguson (Symbian)
+ * QNX - Initial API and implementation
+ * Markus Schorn (Wind River Systems)
+ * Andrew Ferguson (Symbian)
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.dom;
@@ -242,10 +242,6 @@ public abstract class PDOMBinding extends PDOMNamedNode implements IIndexFragmen
* Convenience method to shorten subclass file length
*/
protected final void fail() { throw new PDOMNotImplementedError(); }
-
- public boolean mayHaveChildren() {
- return false;
- }
public IName getScopeName() throws DOMException {
try {
@@ -279,7 +275,15 @@ public abstract class PDOMBinding extends PDOMNamedNode implements IIndexFragmen
final public boolean isFileLocal() throws CoreException {
return getParentNode() instanceof PDOMFileLocalScope;
}
-
+
+ final public String getFileLocalScopeQualifier() throws CoreException {
+ final PDOMNode parentNode = getParentNode();
+ if (parentNode instanceof PDOMFileLocalScope) {
+ return ((PDOMFileLocalScope) parentNode).getDBName().getString();
+ }
+ return null;
+ }
+
public boolean hasDefinition() throws CoreException {
return getFirstDefinition()!=null;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMFileLocalScope.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMFileLocalScope.java
index 6caf82c2565..4ec95ad4f75 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMFileLocalScope.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMFileLocalScope.java
@@ -56,4 +56,8 @@ public class PDOMFileLocalScope extends PDOMNamedNode implements IPDOMMemberOwne
// no support for deleting bindings and their scopes.
assert false;
}
+
+ public boolean mayHaveChildren() {
+ return true;
+ }
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java
index c8297913754..16045193266 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java
@@ -41,6 +41,7 @@ import org.eclipse.cdt.core.index.IIndexBinding;
import org.eclipse.cdt.core.index.IIndexLinkage;
import org.eclipse.cdt.internal.core.Util;
import org.eclipse.cdt.internal.core.dom.parser.ASTInternal;
+import org.eclipse.cdt.internal.core.index.CIndex;
import org.eclipse.cdt.internal.core.index.IIndexBindingConstants;
import org.eclipse.cdt.internal.core.index.IIndexScope;
import org.eclipse.cdt.internal.core.index.composite.CompositeScope;
@@ -130,11 +131,11 @@ public abstract class PDOMLinkage extends PDOMNamedNode implements IIndexLinkage
return 0;
}
public boolean visit(int record) throws CoreException {
- PDOMBinding binding = pdom.getBinding(record);
- if (binding != null) {
- if (visitor.visit(binding))
- binding.accept(visitor);
- visitor.leave(binding);
+ PDOMNode node= getNode(record);
+ if (node != null) {
+ if (visitor.visit(node))
+ node.accept(visitor);
+ visitor.leave(node);
}
return true;
}
@@ -372,15 +373,7 @@ public abstract class PDOMLinkage extends PDOMNamedNode implements IIndexLinkage
* @since 4.0
*/
final protected PDOMFileLocalScope findFileLocalScope(String fileName, boolean create) throws CoreException {
- char[] fname= fileName.toCharArray();
- int fnamestart= findFileNameStart(fname);
- StringBuffer buf= new StringBuffer();
- buf.append('{');
- buf.append(fname, fnamestart, fname.length-fnamestart);
- buf.append(':');
- buf.append(fileName.hashCode());
- buf.append('}');
- fname= buf.toString().toCharArray();
+ char[] fname = CIndex.getFileLocalScopeQualifier(fileName);
final PDOMFileLocalScope[] fls= new PDOMFileLocalScope[] {null};
NamedNodeCollector collector= new NamedNodeCollector(this, fname) {
@@ -399,17 +392,6 @@ public abstract class PDOMLinkage extends PDOMNamedNode implements IIndexLinkage
}
return fls[0];
}
-
- private static int findFileNameStart(char[] fname) {
- for (int i= fname.length-2; i>=0; i--) {
- switch (fname[i]) {
- case '/':
- case '\\':
- return i+1;
- }
- }
- return 0;
- }
public void deleteType(IType type, int ownerRec) throws CoreException {
if (type instanceof PDOMNode) {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNamedNode.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNamedNode.java
index 8ef77bee0bd..bda40e23e34 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNamedNode.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMNamedNode.java
@@ -6,9 +6,10 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * QNX - Initial API and implementation
- * IBM Corporation
- * Andrew Ferguson (Symbian)
+ * QNX - Initial API and implementation
+ * IBM Corporation
+ * Andrew Ferguson (Symbian)
+ * Markus Schorn (Wind River Systems)
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.dom;
@@ -75,4 +76,8 @@ public abstract class PDOMNamedNode extends PDOMNode {
}
super.delete(linkage);
}
+
+ public boolean mayHaveChildren() {
+ return false;
+ }
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCParameter.java
index 4050a29d22a..25b6287eb0a 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCParameter.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCParameter.java
@@ -6,8 +6,8 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * QNX - Initial API and implementation
- * Andrew Ferguson (Symbian)
+ * QNX - Initial API and implementation
+ * Andrew Ferguson (Symbian)
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.dom.c;
@@ -21,6 +21,7 @@ import org.eclipse.cdt.core.dom.ast.IScope;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.ITypedef;
import org.eclipse.cdt.internal.core.Util;
+import org.eclipse.cdt.internal.core.index.IIndexCBindingConstants;
import org.eclipse.cdt.internal.core.index.IIndexFragment;
import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding;
import org.eclipse.cdt.internal.core.pdom.PDOM;
@@ -74,7 +75,7 @@ class PDOMCParameter extends PDOMNamedNode implements IParameter, IIndexFragment
}
public int getNodeType() {
- return PDOMCLinkage.CPARAMETER;
+ return IIndexCBindingConstants.CPARAMETER;
}
public void setNextParameter(PDOMCParameter nextParam) throws CoreException {
@@ -161,6 +162,9 @@ class PDOMCParameter extends PDOMNamedNode implements IParameter, IIndexFragment
public boolean isFileLocal() throws CoreException {
return true;
}
+ public String getFileLocalScopeQualifier() throws CoreException {
+ return null;
+ }
public String[] getQualifiedName() {
throw new PDOMNotImplementedError();
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java
index 826b40f553c..2fcb1ccea5b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java
@@ -6,9 +6,9 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * QNX - Initial API and implementation
- * Markus Schorn (Wind River Systems)
- * IBM Corporation
+ * QNX - Initial API and implementation
+ * Markus Schorn (Wind River Systems)
+ * IBM Corporation
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.dom.cpp;
@@ -24,6 +24,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPParameter;
import org.eclipse.cdt.internal.core.Util;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPParameter;
import org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPDelegateCreator;
+import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants;
import org.eclipse.cdt.internal.core.index.IIndexFragment;
import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding;
import org.eclipse.cdt.internal.core.pdom.PDOM;
@@ -121,7 +122,7 @@ class PDOMCPPParameter extends PDOMNamedNode
}
public int getNodeType() {
- return PDOMCPPLinkage.CPPPARAMETER;
+ return IIndexCPPBindingConstants.CPPPARAMETER;
}
public void setNextParameter(PDOMCPPParameter nextParam) throws CoreException {
@@ -236,6 +237,10 @@ class PDOMCPPParameter extends PDOMNamedNode
return true;
}
+ public String getFileLocalScopeQualifier() throws CoreException {
+ return null;
+ }
+
public int getBindingConstant() {
return getNodeType();
}

Back to the top