From 11f8e7fc7a924dbc1ddd453f6497172584e64ff9 Mon Sep 17 00:00:00 2001 From: John Camelon Date: Thu, 27 Jan 2005 02:14:04 +0000 Subject: [PATCH] Patch for Devin Steffler. Further updates to DOM AST View. --- core/org.eclipse.cdt.ui.tests/plugin.xml | 8 +++- .../DOMAST/CPPPopulateASTViewAction.java | 39 +++++++++++++++++- .../tests/DOMAST/CPopulateASTViewAction.java | 40 ++++++++++++++++++- .../eclipse/cdt/ui/tests/DOMAST/DOMAST.java | 2 + .../ui/tests/DOMAST/OpenDOMViewAction.java | 2 +- .../cdt/ui/tests/DOMAST/TreeObject.java | 1 + 6 files changed, 88 insertions(+), 4 deletions(-) diff --git a/core/org.eclipse.cdt.ui.tests/plugin.xml b/core/org.eclipse.cdt.ui.tests/plugin.xml index 87a40fc35d7..55800ca559f 100644 --- a/core/org.eclipse.cdt.ui.tests/plugin.xml +++ b/core/org.eclipse.cdt.ui.tests/plugin.xml @@ -77,7 +77,13 @@ - + + + + + + + diff --git a/core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/DOMAST/CPPPopulateASTViewAction.java b/core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/DOMAST/CPPPopulateASTViewAction.java index aa96859eb28..740cccd2c24 100644 --- a/core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/DOMAST/CPPPopulateASTViewAction.java +++ b/core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/DOMAST/CPPPopulateASTViewAction.java @@ -18,13 +18,17 @@ import org.eclipse.cdt.core.dom.ast.IASTInitializer; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTNode; import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration; +import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition; +import org.eclipse.cdt.core.dom.ast.IASTProblem; import org.eclipse.cdt.core.dom.ast.IASTStatement; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.IASTTypeId; import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier; +import org.eclipse.cdt.internal.core.dom.parser.ASTNode; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.CPPBaseVisitorAction; +import org.eclipse.cdt.internal.core.parser.scanner2.LocationMap.ASTObjectMacro; /** * @author dsteffle @@ -122,7 +126,8 @@ public class CPPPopulateASTViewAction extends CPPBaseVisitorAction implements IP * @see org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.CPPBaseVisitorAction#processName(org.eclipse.cdt.core.dom.ast.IASTName) */ public int processName(IASTName name) { - addRoot(name); + if (name.toString() != null) + addRoot(name); return PROCESS_CONTINUE; } @@ -158,8 +163,40 @@ public class CPPPopulateASTViewAction extends CPPBaseVisitorAction implements IP addRoot(typeId); return PROCESS_CONTINUE; } + + private void mergeNode(ASTNode node) { + addRoot(node); // TODO Devin need to figure out how to merge these based on location + + if (node instanceof ASTObjectMacro) + addRoot(((ASTObjectMacro)node).getName()); + } + + private void mergeMacros(IASTPreprocessorMacroDefinition[] macros) { + for(int i=0; i