1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Combines IASTTranslationUnit.selectNodeForLocation() and ILanguage.getSelectedNodes() into new API.

This commit is contained in:
Markus Schorn 2008-03-03 13:15:39 +00:00
parent 4aa04977c3
commit d56f513ea6

View file

@ -36,6 +36,7 @@ import org.eclipse.cdt.core.dom.ast.IASTMacroExpansion;
import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IASTNode; import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IASTNodeLocation; import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroExpansion;
import org.eclipse.cdt.core.dom.ast.IASTStatement; import org.eclipse.cdt.core.dom.ast.IASTStatement;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IBinding;
@ -110,18 +111,22 @@ public class CMacroExpansionInput {
return PROCESS_CONTINUE; return PROCESS_CONTINUE;
} }
@Override
public int visit(IASTTranslationUnit tu) { public int visit(IASTTranslationUnit tu) {
return processNode(tu); return processNode(tu);
} }
@Override
public int visit(IASTDeclaration declaration) { public int visit(IASTDeclaration declaration) {
return processNode(declaration); return processNode(declaration);
} }
@Override
public int visit(IASTExpression expression) { public int visit(IASTExpression expression) {
return processNode(expression); return processNode(expression);
} }
@Override
public int visit(IASTStatement statement) { public int visit(IASTStatement statement) {
return processNode(statement); return processNode(statement);
} }
@ -159,7 +164,7 @@ public class CMacroExpansionInput {
IBinding binding= macroName.getBinding(); IBinding binding= macroName.getBinding();
// skip macro references that belong to a macro definition or an undef directive // skip macro references that belong to a macro definition or an undef directive
if (binding instanceof IMacroBinding && !macroName.isDefinition() && if (binding instanceof IMacroBinding && !macroName.isDefinition() &&
macroName.getParent() instanceof IASTTranslationUnit) { macroName.getParent() instanceof IASTPreprocessorMacroExpansion) {
addExpansionNode(node); addExpansionNode(node);
createMacroExpansionExplorer(ast); createMacroExpansionExplorer(ast);
return Status.OK_STATUS; return Status.OK_STATUS;