mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-01 13:25:45 +02:00
Use c++ specific navigation algorithms in c++ files, only. Bug 282335.
This commit is contained in:
parent
f6c080d153
commit
d9a409f830
1 changed files with 10 additions and 2 deletions
|
@ -13,6 +13,7 @@ package org.eclipse.cdt.internal.ui.search.actions;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -50,6 +51,7 @@ import org.eclipse.cdt.core.dom.ast.IParameter;
|
||||||
import org.eclipse.cdt.core.dom.ast.IProblemBinding;
|
import org.eclipse.cdt.core.dom.ast.IProblemBinding;
|
||||||
import org.eclipse.cdt.core.dom.ast.IType;
|
import org.eclipse.cdt.core.dom.ast.IType;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration;
|
||||||
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTranslationUnit;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunction;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunction;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPParameter;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPParameter;
|
||||||
|
@ -593,7 +595,13 @@ class OpenDeclarationsJob extends Job implements ASTRunnable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Collection<IBinding> secondaryBindings= removeSecondaryBindings(primaryBindings, sourceName);
|
Collection<IBinding> secondaryBindings;
|
||||||
|
if (ast instanceof ICPPASTTranslationUnit) {
|
||||||
|
secondaryBindings= cppRemoveSecondaryBindings(primaryBindings, sourceName);
|
||||||
|
} else {
|
||||||
|
secondaryBindings= Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
// Convert bindings to CElements
|
// Convert bindings to CElements
|
||||||
Collection<IBinding> bs= primaryBindings;
|
Collection<IBinding> bs= primaryBindings;
|
||||||
for (int k=0; k<2; k++) {
|
for (int k=0; k<2; k++) {
|
||||||
|
@ -627,7 +635,7 @@ class OpenDeclarationsJob extends Job implements ASTRunnable {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Collection<IBinding> removeSecondaryBindings(Set<IBinding> primaryBindings, IASTName sourceName) {
|
private Collection<IBinding> cppRemoveSecondaryBindings(Set<IBinding> primaryBindings, IASTName sourceName) {
|
||||||
List<IBinding> result= new ArrayList<IBinding>();
|
List<IBinding> result= new ArrayList<IBinding>();
|
||||||
String[] sourceQualifiedName= null;
|
String[] sourceQualifiedName= null;
|
||||||
int funcArgCount= -1;
|
int funcArgCount= -1;
|
||||||
|
|
Loading…
Add table
Reference in a new issue