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