1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 17:05:26 +02:00

Fix wrong highlighting of macro substitutions

This commit is contained in:
Anton Leherbauer 2006-09-14 15:42:13 +00:00
parent 301ee51670
commit 27d806f738
2 changed files with 9 additions and 4 deletions

View file

@ -186,7 +186,6 @@ public class SemanticHighlightingTest extends AbstractSemanticHighlightingTest {
Position[] expected= new Position[] {
createPosition(11, 20, 1),
createPosition(28, 35, 3),
createPosition(29, 8, 19),
createPosition(30, 19, 3),
createPosition(77, 21, 4),
createPosition(77, 30, 4),
@ -291,10 +290,8 @@ public class SemanticHighlightingTest extends AbstractSemanticHighlightingTest {
setUpSemanticHighlighting(SemanticHighlightings.FUNCTION_INVOCATION);
Position[] actual= getSemanticHighlightingPositions();
Position[] expected= new Position[] {
createPosition(29, 8, 19),
createPosition(30, 8, 10),
createPosition(99, 1, 16),
createPosition(120, 4, 17),
createPosition(99, 1, 16)
};
if (PRINT_POSITIONS) System.out.println(toString(actual));
assertEqualPositions(expected, actual);

View file

@ -84,6 +84,13 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener {
if (!fFilePath.equals(declaration.getContainingFilename())) {
return PROCESS_SKIP;
}
IASTNodeLocation[] nodeLocations= declaration.getNodeLocations();
if (nodeLocations.length > 0 && nodeLocations[0] instanceof IASTMacroExpansion) {
if (visitNode(declaration)) {
return PROCESS_SKIP;
}
return PROCESS_SKIP;
}
return PROCESS_CONTINUE;
}
@ -99,6 +106,7 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener {
if (visitNode(expression)) {
return PROCESS_SKIP;
}
return PROCESS_SKIP;
}
return PROCESS_CONTINUE;
}