diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java index b1582ecfd00..7e67c018a85 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java @@ -128,6 +128,23 @@ public class ASTQueries { return result; } + /** + * Traverses parent chain of the given node and returns the first node of the given type. + * @param node the start node + * @param type the type to look for + * @return the node itself or its closest ancestor that has the given type, or {@code null} + * if no such node is found. + */ + @SuppressWarnings("unchecked") + public static T findAncestorWithType(IASTNode node, Class type) { + do { + if (type.isInstance(node)) { + return (T) node; + } + } while ((node = node.getParent()) != null); + return null; + } + /** * Searches for the function enclosing the given node. May return null. */ diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPParameter.java index 963ac988f12..3f14132c62c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPParameter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPParameter.java @@ -269,7 +269,7 @@ public class CPPParameter extends PlatformObject implements ICPPParameter, ICPPI @Override public IBinding getOwner() { IASTFunctionDeclarator decl = - CPPVisitor.findAncestorWithType(fDeclarations[0], IASTFunctionDeclarator.class); + ASTQueries.findAncestorWithType(fDeclarations[0], IASTFunctionDeclarator.class); if (decl == null) return null; IASTName name= decl.getName(); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java index b3be1d1df80..033bea616e2 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java @@ -882,7 +882,7 @@ public class CPPTemplates { IType type = instantiateType(var.getType(), tpMap, -1, within, point); IValue value; - ICPPASTDeclarator decl = CPPVisitor.findAncestorWithType(point, ICPPASTDeclarator.class); + ICPPASTDeclarator decl = ASTQueries.findAncestorWithType(point, ICPPASTDeclarator.class); if (((IASTName) point).getRoleOfName(false) == IASTNameOwner.r_definition && decl != null && decl.getInitializer() != null) { // Explicit specialization. value = SemanticUtil.getValueOfInitializer(decl.getInitializer(), type); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java index fe5d1d8aa6d..5b540c94fb0 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java @@ -1329,7 +1329,7 @@ public class CPPVisitor extends ASTQueries { return new CPPScope.CPPScopeProblem(name, ISemanticProblem.TYPE_UNKNOWN_FOR_EXPRESSION); } } else if (parent instanceof ICPPASTFieldDesignator) { - ICPPASTDeclarator declarator = findAncestorWithType(parent, ICPPASTDeclarator.class); + ICPPASTDeclarator declarator = ASTQueries.findAncestorWithType(parent, ICPPASTDeclarator.class); if (declarator != null) { IType type = createType(declarator); type= getNestedType(type, TDEF | CVTYPE); @@ -2707,23 +2707,6 @@ public class CPPVisitor extends ASTQueries { return (ICPPASTDeclarator) ASTQueries.findInnermostDeclarator(dtor); } - /** - * Traverses parent chain of the given node and returns the first node of the given type. - * @param node the start node - * @param type the type to look for - * @return the node itself or its closest ancestor that has the given type, or {@code null} - * if no such node is found. - */ - @SuppressWarnings("unchecked") - public static T findAncestorWithType(IASTNode node, Class type) { - do { - if (type.isInstance(node)) { - return (T) node; - } - } while ((node = node.getParent()) != null); - return null; - } - /** * Traverses a chain of nested homogeneous left-to-right-associative binary expressions and * returns a list of their operands in left-to-right order. For example, for the expression diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalBinding.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalBinding.java index 92fb09ca9d5..be428d727a1 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalBinding.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalBinding.java @@ -39,6 +39,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap; import org.eclipse.cdt.core.dom.ast.cpp.ICPPTypeSpecialization; import org.eclipse.cdt.core.index.IIndexBinding; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.ISerializableEvaluation; import org.eclipse.cdt.internal.core.dom.parser.ITypeMarshalBuffer; import org.eclipse.cdt.internal.core.dom.parser.ProblemType; @@ -300,7 +301,7 @@ public class EvalBinding extends CPPDependentEvaluation { IASTTranslationUnit ast = point.getTranslationUnit(); IASTName[] definitions = ast.getDefinitionsInAST(binding); for (IASTName definition : definitions) { - IASTDeclarator declarator = CPPVisitor.findAncestorWithType(definition, IASTDeclarator.class); + IASTDeclarator declarator = ASTQueries.findAncestorWithType(definition, IASTDeclarator.class); if (declarator != null) { IType localType = CPPVisitor.createType(declarator); if (localType instanceof IArrayType && ((IArrayType) localType).getSize() != null) { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java index 8a7133b191a..b5250fe9a0c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java @@ -50,6 +50,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument; import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateNonTypeParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap; import org.eclipse.cdt.core.dom.ast.cpp.ICPPTypeSpecialization; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.ISerializableEvaluation; import org.eclipse.cdt.internal.core.dom.parser.ITypeMarshalBuffer; import org.eclipse.cdt.internal.core.dom.parser.Value; @@ -293,7 +294,7 @@ public class EvalID extends CPPDependentEvaluation { * Returns {@code true} if the given node is located inside the given enum. */ private static boolean isInsideEnum(IASTNode node, ICPPEnumeration enumBinding) { - IASTEnumerator enumeratorNode = CPPVisitor.findAncestorWithType(node, IASTEnumerator.class); + IASTEnumerator enumeratorNode = ASTQueries.findAncestorWithType(node, IASTEnumerator.class); if (enumeratorNode == null) return false; IBinding enumerator = enumeratorNode.getName().getBinding(); diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CCodeFormatter.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CCodeFormatter.java index 56d8e80e690..9be543c1baf 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CCodeFormatter.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CCodeFormatter.java @@ -40,7 +40,7 @@ import org.eclipse.cdt.core.parser.IScannerInfo; import org.eclipse.cdt.core.parser.IncludeFileContentProvider; import org.eclipse.cdt.core.parser.ParserUtil; import org.eclipse.cdt.core.parser.ScannerInfo; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.util.TextUtil; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; @@ -237,11 +237,11 @@ public class CCodeFormatter extends CodeFormatter { node = nodeSelector.findFirstContainedNode(pos, end - pos); if (node != null) { IASTNode containedNode = node; - node = CPPVisitor.findAncestorWithType(containedNode, IASTStatement.class); + node = ASTQueries.findAncestorWithType(containedNode, IASTStatement.class); if (node == null) - node = CPPVisitor.findAncestorWithType(containedNode, IASTDeclaration.class); + node = ASTQueries.findAncestorWithType(containedNode, IASTDeclaration.class); if (node == null) - node = CPPVisitor.findAncestorWithType(containedNode, IASTPreprocessorMacroExpansion.class); + node = ASTQueries.findAncestorWithType(containedNode, IASTPreprocessorMacroExpansion.class); } if (node == null) break; diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SelectionToDeclarationJob.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SelectionToDeclarationJob.java index 3077abad0c8..c133029f4a3 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SelectionToDeclarationJob.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SelectionToDeclarationJob.java @@ -62,7 +62,7 @@ import org.eclipse.cdt.core.parser.util.ArrayUtil; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.internal.core.dom.parser.ASTNode; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.index.IIndexFragmentName; import org.eclipse.cdt.internal.core.model.ASTCache.ASTRunnable; import org.eclipse.cdt.internal.core.model.ext.CElementHandleFactory; @@ -289,7 +289,7 @@ public class SelectionToDeclarationJob extends Job implements ASTRunnable { IASTName name = astNames[i]; if (name.isDefinition()) { astNames[i] = null; - } else if (CPPVisitor.findAncestorWithType(name, ICPPASTUsingDeclaration.class) != null) { + } else if (ASTQueries.findAncestorWithType(name, ICPPASTUsingDeclaration.class) != null) { if (usingDeclarations == null) usingDeclarations = new ArrayList(1); usingDeclarations.add(name); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/NodeContainer.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/NodeContainer.java index 840c2f8db8a..4a9f145edc1 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/NodeContainer.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/NodeContainer.java @@ -46,8 +46,8 @@ import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.PreferenceConstants; import org.eclipse.cdt.internal.core.dom.parser.ASTInternal; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVariableReadWriteFlags; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.core.dom.rewrite.util.ASTNodes; import org.eclipse.cdt.internal.core.pdom.dom.PDOMName; import org.eclipse.cdt.internal.corext.refactoring.code.flow.FlowContext; @@ -206,7 +206,7 @@ public class NodeContainer { IASTNode firstNode = nodes.get(0); IASTFunctionDefinition enclosingFunction = - CPPVisitor.findAncestorWithType(firstNode, IASTFunctionDefinition.class); + ASTQueries.findAncestorWithType(firstNode, IASTFunctionDefinition.class); FlowContext flowContext= new FlowContext(enclosingFunction); flowContext.setConsiderAccessMode(true); flowContext.setComputeMode(FlowContext.ARGUMENTS); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractconstant/ExtractConstantRefactoring.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractconstant/ExtractConstantRefactoring.java index fb24366d4b4..0ed51220bcc 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractconstant/ExtractConstantRefactoring.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractconstant/ExtractConstantRefactoring.java @@ -58,13 +58,13 @@ import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.PreferenceConstants; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTEqualsInitializer; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTIdExpression; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTLiteralExpression; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPMethod; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.ui.refactoring.CRefactoring; import org.eclipse.cdt.internal.ui.refactoring.CRefactoringDescriptor; @@ -171,7 +171,7 @@ public class ExtractConstantRefactoring extends CRefactoring { private ArrayList findAllDeclaredNames() { ArrayListnames = new ArrayList(); - IASTFunctionDefinition funcDef = CPPVisitor.findAncestorWithType(target, IASTFunctionDefinition.class); + IASTFunctionDefinition funcDef = ASTQueries.findAncestorWithType(target, IASTFunctionDefinition.class); ICPPASTCompositeTypeSpecifier comTypeSpec = getCompositeTypeSpecifier(funcDef); if (comTypeSpec != null) { for(IASTDeclaration dec : comTypeSpec.getMembers()) { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractfunction/ExtractFunctionRefactoring.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractfunction/ExtractFunctionRefactoring.java index cf48b2dbae4..ef76e15b2cf 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractfunction/ExtractFunctionRefactoring.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractfunction/ExtractFunctionRefactoring.java @@ -88,6 +88,7 @@ import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.PreferenceConstants; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.c.CASTBinaryExpression; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTBinaryExpression; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompoundStatement; @@ -103,7 +104,6 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTQualifiedName; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTReturnStatement; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplateDeclaration; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil; import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.ASTWriterVisitor; @@ -387,7 +387,7 @@ public class ExtractFunctionRefactoring extends CRefactoring { private void createMethodDefinition(final IASTName methodName, MethodContext context, IASTNode firstExtractedNode, ModificationCollector collector) { IASTFunctionDefinition functionToExtractFrom = - CPPVisitor.findAncestorWithType(firstExtractedNode, IASTFunctionDefinition.class); + ASTQueries.findAncestorWithType(firstExtractedNode, IASTFunctionDefinition.class); if (functionToExtractFrom != null) { String title; if (context.getType() == MethodContext.ContextType.METHOD) { @@ -778,7 +778,7 @@ public class ExtractFunctionRefactoring extends CRefactoring { IASTFunctionCallExpression callExpression, IASTName retname) { if (info.getReturnVariable().equals(info.getMandatoryReturnVariable())) { IASTSimpleDeclaration orgDecl = - CPPVisitor.findAncestorWithType(info.getReturnVariable().getDeclarationName(), + ASTQueries.findAncestorWithType(info.getReturnVariable().getDeclarationName(), IASTSimpleDeclaration.class); IASTSimpleDeclaration decl = new CPPASTSimpleDeclaration(); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractlocalvariable/ExtractLocalVariableRefactoring.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractlocalvariable/ExtractLocalVariableRefactoring.java index 5c421c5bec4..c6d27c42fd9 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractlocalvariable/ExtractLocalVariableRefactoring.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/extractlocalvariable/ExtractLocalVariableRefactoring.java @@ -60,12 +60,12 @@ import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.PreferenceConstants; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarationStatement; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTEqualsInitializer; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTIdExpression; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPFunction; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.ui.refactoring.CRefactoring; import org.eclipse.cdt.internal.ui.refactoring.CRefactoringDescriptor; @@ -142,7 +142,7 @@ public class ExtractLocalVariableRefactoring extends CRefactoring { private ArrayList findAllDeclaredNames() { ArrayList names = new ArrayList(); - IASTFunctionDefinition funcDef = CPPVisitor.findAncestorWithType(target, IASTFunctionDefinition.class); + IASTFunctionDefinition funcDef = ASTQueries.findAncestorWithType(target, IASTFunctionDefinition.class); ICPPASTCompositeTypeSpecifier comTypeSpec = getCompositeTypeSpecifier(funcDef); if (comTypeSpec != null) { for (IASTDeclaration decl : comTypeSpec.getMembers()) { @@ -332,7 +332,7 @@ public class ExtractLocalVariableRefactoring extends CRefactoring { public String[] guessTempNames() { final List guessedTempNames = new ArrayList(); final List usedNames = new ArrayList(); - IASTFunctionDefinition funcDef = CPPVisitor.findAncestorWithType(target, IASTFunctionDefinition.class); + IASTFunctionDefinition funcDef = ASTQueries.findAncestorWithType(target, IASTFunctionDefinition.class); final IScope scope; if (funcDef != null && funcDef.getBody() instanceof IASTCompoundStatement) { IASTCompoundStatement body = (IASTCompoundStatement) funcDef.getBody(); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/gettersandsetters/AccessorFactory.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/gettersandsetters/AccessorFactory.java index ca049293794..3376de6569d 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/gettersandsetters/AccessorFactory.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/gettersandsetters/AccessorFactory.java @@ -31,6 +31,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTArrayDeclarator; import org.eclipse.cdt.core.dom.rewrite.TypeHelper; import org.eclipse.cdt.core.parser.Keywords; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.c.CASTDeclarator; import org.eclipse.cdt.internal.core.dom.parser.c.CASTPointer; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTBinaryExpression; @@ -74,7 +75,7 @@ public abstract class AccessorFactory { this.fieldDeclarator = fieldDeclarator; this.accessorName = accessorName; IASTSimpleDeclaration declaration = - CPPVisitor.findAncestorWithType(fieldDeclarator, IASTSimpleDeclaration.class); + ASTQueries.findAncestorWithType(fieldDeclarator, IASTSimpleDeclaration.class); this.declSpecifier = declaration.getDeclSpecifier(); IType type = CPPVisitor.createType(declSpecifier); passByReference = TypeHelper.shouldBePassedByReference(type, fieldDeclarator.getTranslationUnit()); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/gettersandsetters/GenerateGettersAndSettersRefactoring.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/gettersandsetters/GenerateGettersAndSettersRefactoring.java index 9fbf697ba59..a18eecbbef9 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/gettersandsetters/GenerateGettersAndSettersRefactoring.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/gettersandsetters/GenerateGettersAndSettersRefactoring.java @@ -43,8 +43,8 @@ import org.eclipse.cdt.core.dom.rewrite.ASTRewrite; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.ICProject; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.ContainerNode; import org.eclipse.cdt.internal.ui.refactoring.CRefactoring; @@ -227,7 +227,7 @@ public class GenerateGettersAndSettersRefactoring extends CRefactoring { List getterAndSetters = new ArrayList(); List definitions = new ArrayList(); ICPPASTCompositeTypeSpecifier classDefinition = - CPPVisitor.findAncestorWithType(context.existingFields.get(0), ICPPASTCompositeTypeSpecifier.class); + ASTQueries.findAncestorWithType(context.existingFields.get(0), ICPPASTCompositeTypeSpecifier.class); for (AccessorDescriptor accessor : context.selectedAccessors) { IASTName accessorName = new CPPASTName(accessor.toString().toCharArray()); if (context.isDefinitionSeparate()) { @@ -277,7 +277,7 @@ public class GenerateGettersAndSettersRefactoring extends CRefactoring { } IASTSimpleDeclaration decl = - CPPVisitor.findAncestorWithType(context.existingFields.get(0), IASTSimpleDeclaration.class); + ASTQueries.findAncestorWithType(context.existingFields.get(0), IASTSimpleDeclaration.class); MethodDefinitionInsertLocationFinder locationFinder = new MethodDefinitionInsertLocationFinder(); InsertLocation location = locationFinder.find(tu, decl.getFileLocation(), decl.getParent(), refactoringContext, pm); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/hidemethod/HideMethodRefactoring.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/hidemethod/HideMethodRefactoring.java index 6a588328ed7..18451e7e8b4 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/hidemethod/HideMethodRefactoring.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/hidemethod/HideMethodRefactoring.java @@ -143,7 +143,7 @@ public class HideMethodRefactoring extends CRefactoring { } IASTCompositeTypeSpecifier classNode = - CPPVisitor.findAncestorWithType(methodName, IASTCompositeTypeSpecifier.class); + ASTQueries.findAncestorWithType(methodName, IASTCompositeTypeSpecifier.class); if (classNode == null) { initStatus.addError(Messages.HideMethodRefactoring_EnclosingClassNotFound); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java index b3ef2408931..5e1a49d0698 100755 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/implementmethod/ImplementMethodRefactoring.java @@ -57,7 +57,7 @@ import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.ui.refactoring.CRefactoring; import org.eclipse.cdt.internal.ui.refactoring.ModificationCollector; @@ -278,7 +278,7 @@ public class ImplementMethodRefactoring extends CRefactoring { IASTFunctionDefinition functionDefinition = nodeFactory.newFunctionDefinition(declSpecifier, createdMethodDeclarator, nodeFactory.newCompoundStatement()); functionDefinition.setParent(unit); - ICPPASTTemplateDeclaration templateDeclaration = CPPVisitor.findAncestorWithType(declarationParent, ICPPASTTemplateDeclaration.class); + ICPPASTTemplateDeclaration templateDeclaration = ASTQueries.findAncestorWithType(declarationParent, ICPPASTTemplateDeclaration.class); if (templateDeclaration != null) { ICPPASTTemplateDeclaration newTemplateDeclaration = nodeFactory.newTemplateDeclaration(functionDefinition); newTemplateDeclaration.setParent(unit); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java index f702a38af82..c870036f039 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/BindingClassifier.java @@ -120,6 +120,7 @@ import org.eclipse.cdt.core.index.IndexFilter; import org.eclipse.cdt.core.parser.util.CharArrayUtils; import org.eclipse.cdt.internal.core.dom.parser.ASTNode; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTIdExpression; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClosureType; @@ -127,7 +128,6 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPFunction; import org.eclipse.cdt.internal.core.dom.parser.cpp.ClassTypeHelper; import org.eclipse.cdt.internal.core.dom.parser.cpp.ClassTypeHelper.MethodKind; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.Conversions; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.LookupData; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil; @@ -1460,7 +1460,7 @@ public class BindingClassifier { * Checks if the given name is part of a template argument. */ private boolean isTemplateArgumentRequiringCompleteType(IASTName name) { - ICPPASTTypeId typeId = CPPVisitor.findAncestorWithType(name, ICPPASTTypeId.class); + ICPPASTTypeId typeId = ASTQueries.findAncestorWithType(name, ICPPASTTypeId.class); if (typeId == null || typeId.getPropertyInParent() != ICPPASTTemplateId.TEMPLATE_ID_ARGUMENT) return false; ICPPASTTemplateId templateId = (ICPPASTTemplateId) typeId.getParent(); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/DeclaratorFinder.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/DeclaratorFinder.java index cea75099709..0c500a12c89 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/DeclaratorFinder.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/DeclaratorFinder.java @@ -26,7 +26,7 @@ import org.eclipse.cdt.core.dom.ast.IASTStatement; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; /** * Given a selection and a translation unit, this class finds a @@ -106,6 +106,6 @@ public class DeclaratorFinder { } private boolean isPartOfAStatement(IASTNode node) { - return CPPVisitor.findAncestorWithType(node, IASTStatement.class) != null; + return ASTQueries.findAncestorWithType(node, IASTStatement.class) != null; } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/InsertionPointFinder.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/InsertionPointFinder.java index e7bc2f26e97..193c8c9b670 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/InsertionPointFinder.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/InsertionPointFinder.java @@ -25,8 +25,8 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDeclarator; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDefinition; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompositeTypeSpecifier; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.ui.refactoring.Container; @@ -93,7 +93,7 @@ public class InsertionPointFinder { public int visit(IASTDeclaration declaration) { if (declaration instanceof ICPPASTFunctionDefinition) { if (declaration.getParent() != null && - CPPVisitor.findAncestorWithType(declaration, CPPASTCompositeTypeSpecifier.class) != null) { + ASTQueries.findAncestorWithType(declaration, CPPASTCompositeTypeSpecifier.class) != null) { return PROCESS_CONTINUE; } definitions.add((ICPPASTFunctionDefinition) declaration); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromClassToInHeaderStrategy.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromClassToInHeaderStrategy.java index 3507568a317..f15004efaab 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromClassToInHeaderStrategy.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromClassToInHeaderStrategy.java @@ -28,7 +28,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; import org.eclipse.cdt.core.dom.rewrite.ASTRewrite; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.ui.refactoring.ModificationCollector; @@ -44,7 +44,7 @@ public class ToggleFromClassToInHeaderStrategy implements IToggleRefactoringStra private boolean isInClass(IASTNode node) { return node != null && - CPPVisitor.findAncestorWithType(node, ICPPASTCompositeTypeSpecifier.class) != null; + ASTQueries.findAncestorWithType(node, ICPPASTCompositeTypeSpecifier.class) != null; } @Override @@ -81,7 +81,7 @@ public class ToggleFromClassToInHeaderStrategy implements IToggleRefactoringStra private IASTNode getParentNamespace() { IASTNode parentNamespace = - CPPVisitor.findAncestorWithType(context.getDefinition(), ICPPASTNamespaceDefinition.class); + ASTQueries.findAncestorWithType(context.getDefinition(), ICPPASTNamespaceDefinition.class); if (parentNamespace == null) parentNamespace = context.getDefinitionAST(); return parentNamespace; diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromImplementationToHeaderOrClassStrategy.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromImplementationToHeaderOrClassStrategy.java index d15489297b4..7f1f10d3270 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromImplementationToHeaderOrClassStrategy.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromImplementationToHeaderOrClassStrategy.java @@ -33,7 +33,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName; import org.eclipse.cdt.core.dom.rewrite.ASTRewrite; import org.eclipse.cdt.core.dom.rewrite.ASTRewrite.CommentPosition; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.rewrite.ASTLiteralNode; import org.eclipse.cdt.internal.ui.refactoring.ModificationCollector; @@ -118,7 +118,7 @@ public class ToggleFromImplementationToHeaderOrClassStrategy implements IToggleR } private IASTNode getParent() { - IASTNode parent = CPPVisitor.findAncestorWithType(context.getDefinition(), + IASTNode parent = ASTQueries.findAncestorWithType(context.getDefinition(), ICPPASTCompositeTypeSpecifier.class); IASTNode parentnode = null; if (parent != null) { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromInHeaderToClassStrategy.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromInHeaderToClassStrategy.java index ada2817b0e2..0e426ce61f1 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromInHeaderToClassStrategy.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromInHeaderToClassStrategy.java @@ -30,8 +30,8 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; import org.eclipse.cdt.core.dom.rewrite.ASTRewrite; import org.eclipse.cdt.core.dom.rewrite.ASTRewrite.CommentPosition; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.ui.refactoring.ModificationCollector; @@ -55,7 +55,7 @@ public class ToggleFromInHeaderToClassStrategy implements IToggleRefactoringStra if (declarator.getName() instanceof ICPPASTQualifiedName) { declarator = backup; } - return (CPPVisitor.findAncestorWithType(declarator, IASTCompositeTypeSpecifier.class) == null); + return (ASTQueries.findAncestorWithType(declarator, IASTCompositeTypeSpecifier.class) == null); } @Override @@ -100,7 +100,7 @@ public class ToggleFromInHeaderToClassStrategy implements IToggleRefactoringStra } } - IASTNode parent = CPPVisitor.findAncestorWithType(context.getDefinition(), ICPPASTCompositeTypeSpecifier.class); + IASTNode parent = ASTQueries.findAncestorWithType(context.getDefinition(), ICPPASTCompositeTypeSpecifier.class); if (parent != null) { newDefinition.setParent(parent); } else { @@ -111,7 +111,7 @@ public class ToggleFromInHeaderToClassStrategy implements IToggleRefactoringStra private ASTRewrite replaceDeclarationWithDefinition(ASTRewrite rewriter, IASTFunctionDefinition newDefinition) { - IASTSimpleDeclaration fullDeclaration = CPPVisitor.findAncestorWithType(context.getDeclaration(), CPPASTSimpleDeclaration.class); + IASTSimpleDeclaration fullDeclaration = ASTQueries.findAncestorWithType(context.getDeclaration(), CPPASTSimpleDeclaration.class); ASTRewrite newRewriter = rewriter.replace(fullDeclaration, newDefinition, infoText); return newRewriter; } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleNodeHelper.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleNodeHelper.java index 9cffbc5f075..bcba7695d0d 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleNodeHelper.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleNodeHelper.java @@ -61,7 +61,7 @@ import org.eclipse.cdt.core.dom.rewrite.ASTRewrite; import org.eclipse.cdt.core.dom.rewrite.ASTRewrite.CommentPosition; import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil; import org.eclipse.cdt.internal.core.dom.rewrite.DeclarationGeneratorImpl; @@ -510,11 +510,11 @@ public class ToggleNodeHelper extends NodeHelper { */ public static List findSurroundingNamespaces(IASTNode node) { ArrayList namespaces = new ArrayList<>(); - ICPPASTNamespaceDefinition currentNamespace = CPPVisitor.findAncestorWithType(node, + ICPPASTNamespaceDefinition currentNamespace = ASTQueries.findAncestorWithType(node, ICPPASTNamespaceDefinition.class); while (currentNamespace != null) { namespaces.add(0, currentNamespace); - currentNamespace = CPPVisitor.findAncestorWithType(currentNamespace.getParent(), + currentNamespace = ASTQueries.findAncestorWithType(currentNamespace.getParent(), ICPPASTNamespaceDefinition.class); } return namespaces; diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleRefactoringContext.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleRefactoringContext.java index 2e0c1cefa33..418dd09e0d4 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleRefactoringContext.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleRefactoringContext.java @@ -32,7 +32,7 @@ import org.eclipse.cdt.core.model.CoreModelUtil; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.corext.util.CModelUtil; import org.eclipse.cdt.internal.ui.editor.SourceHeaderPartnerFinder; @@ -184,11 +184,11 @@ public class ToggleRefactoringContext { if (node instanceof IASTSimpleDeclaration) { return (IASTFunctionDeclarator) ((IASTSimpleDeclaration) node).getDeclarators()[0]; } - return CPPVisitor.findAncestorWithType(node, IASTFunctionDeclarator.class); + return ASTQueries.findAncestorWithType(node, IASTFunctionDeclarator.class); } private IASTFunctionDefinition findFunctionDefinition(IASTNode node) { - return CPPVisitor.findAncestorWithType(node, IASTFunctionDefinition.class); + return ASTQueries.findAncestorWithType(node, IASTFunctionDefinition.class); } public void setDefaultAnswer(boolean defaultAnswer) { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleStrategyFactory.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleStrategyFactory.java index 16670196b8e..ed65a086b14 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleStrategyFactory.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleStrategyFactory.java @@ -14,7 +14,7 @@ package org.eclipse.cdt.internal.ui.refactoring.togglefunction; import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; public class ToggleStrategyFactory { private ToggleRefactoringContext context; @@ -44,10 +44,10 @@ public class ToggleStrategyFactory { private boolean isInClassSituation() { return (context.getDeclaration() == null) && - (CPPVisitor.findAncestorWithType(context.getDefinition(), IASTCompositeTypeSpecifier.class) != null); + (ASTQueries.findAncestorWithType(context.getDefinition(), IASTCompositeTypeSpecifier.class) != null); } private boolean isTemplateSituation() { - return (CPPVisitor.findAncestorWithType(context.getDefinition(), ICPPASTTemplateDeclaration.class) != null); + return (ASTQueries.findAncestorWithType(context.getDefinition(), ICPPASTTemplateDeclaration.class) != null); } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/DefinitionFinder.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/DefinitionFinder.java index ce0b76eecdb..8ec518f96d9 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/DefinitionFinder.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/DefinitionFinder.java @@ -37,7 +37,7 @@ import org.eclipse.cdt.core.model.CoreModelUtil; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.parser.util.ArrayUtil; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.ui.editor.ITranslationUnitEditorInput; import org.eclipse.cdt.internal.ui.refactoring.CRefactoringContext; @@ -262,7 +262,7 @@ public class DefinitionFinder { if (classDefintionName == null) return null; IASTCompositeTypeSpecifier compositeTypeSpecifier = - CPPVisitor.findAncestorWithType(classDefintionName, IASTCompositeTypeSpecifier.class); + ASTQueries.findAncestorWithType(classDefintionName, IASTCompositeTypeSpecifier.class); IASTTranslationUnit ast = classDefintionName.getTranslationUnit(); IIndex index = context.getIndex(); if (index == null) { @@ -271,7 +271,7 @@ public class DefinitionFinder { IASTName[] memberDeclarationNames = ast.getDeclarationsInAST(index.adaptBinding(member)); for (IASTName name : memberDeclarationNames) { if (name.getPropertyInParent() == IASTDeclarator.DECLARATOR_NAME) { - IASTDeclaration declaration = CPPVisitor.findAncestorWithType(name, IASTDeclaration.class); + IASTDeclaration declaration = ASTQueries.findAncestorWithType(name, IASTDeclaration.class); if (declaration.getParent() == compositeTypeSpecifier) { return name; } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java index 34a29417fda..e46e80e0c49 100755 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/NodeHelper.java @@ -33,6 +33,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamespaceDefinition; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; @@ -141,6 +142,6 @@ public class NodeHelper { } public static boolean isContainedInTemplateDeclaration(IASTNode node) { - return CPPVisitor.findAncestorWithType(node, ICPPASTTemplateDeclaration.class) != null; + return ASTQueries.findAncestorWithType(node, ICPPASTTemplateDeclaration.class) != null; } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsJob.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsJob.java index a9ba7c4098a..c1f0c9d5aa0 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsJob.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsJob.java @@ -90,6 +90,7 @@ import org.eclipse.cdt.core.parser.util.CharArrayUtils; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.internal.core.dom.parser.ASTNode; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPUnknownBinding; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; @@ -363,7 +364,7 @@ class OpenDeclarationsJob extends Job implements ASTRunnable { IASTName name = astNames[i]; if (name.isDefinition()) { astNames[i]= null; - } else if (CPPVisitor.findAncestorWithType(name, ICPPASTUsingDeclaration.class) != null) { + } else if (ASTQueries.findAncestorWithType(name, ICPPASTUsingDeclaration.class) != null) { if (usingDeclarations == null) usingDeclarations = new ArrayList<>(1); usingDeclarations.add(name); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java index d5771db6efe..036c6db113c 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java @@ -101,6 +101,7 @@ import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.IWorkingCopyManager; import org.eclipse.cdt.ui.text.ICPartitions; +import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; import org.eclipse.cdt.internal.core.model.ASTCache.ASTRunnable; import org.eclipse.cdt.internal.corext.util.Strings; @@ -444,10 +445,10 @@ public class CSourceHover extends AbstractCEditorTextHover { * otherwise {@code null}. */ private String computeHoverForDeclaration(IASTName name) { - ICPPASTDeclarator declarator = CPPVisitor.findAncestorWithType(name, ICPPASTDeclarator.class); + ICPPASTDeclarator declarator = ASTQueries.findAncestorWithType(name, ICPPASTDeclarator.class); if (declarator == null) return null; - IASTDeclaration declaration = CPPVisitor.findAncestorWithType(declarator, IASTDeclaration.class); + IASTDeclaration declaration = ASTQueries.findAncestorWithType(declarator, IASTDeclaration.class); IASTDeclSpecifier declSpec = null; if (declaration instanceof IASTSimpleDeclaration) { declSpec = ((IASTSimpleDeclaration) declaration).getDeclSpecifier();