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

respond to source container changes

also check start and end of problem markers
This commit is contained in:
Andrew Niefer 2004-06-22 18:13:03 +00:00
parent fdb7641d45
commit 9bba5a8939
2 changed files with 15 additions and 5 deletions

View file

@ -55,10 +55,11 @@ public class IndexerModelListener implements IElementChangedListener {
int flags= delta.getFlags();
ICElement element= delta.getElement();
switch(delta.getKind()){
switch(kind){
case ICElementDelta.CHANGED:
if ((flags & ICElementDelta.F_CHANGED_PATHENTRY_INCLUDE) != 0 ||
(flags & ICElementDelta.F_CHANGED_PATHENTRY_MACRO) != 0){
(flags & ICElementDelta.F_CHANGED_PATHENTRY_MACRO) != 0 ||
(flags & ICElementDelta.F_ADDED_PATHENTRY_SOURCE) != 0 ){
IResource tempResource = element.getResource();
SourceRoot tempRootElement = null;
@ -81,6 +82,12 @@ public class IndexerModelListener implements IElementChangedListener {
break;
}
} else if( (flags & ICElementDelta.F_REMOVED_PATHENTRY_SOURCE) != 0 ){
IResource tempResource = element.getResource();
IProject project = tempResource.getProject();
if( indexManager.indexProblemsEnabled(project) != 0 ){
indexManager.removeIndexerProblems( tempResource );
}
}
break;
}

View file

@ -642,13 +642,16 @@ public class SourceIndexerRequestor implements ISourceElementRequestor, IIndexCo
if (newProblem){
IMarker marker = tempFile.createMarker(ICModelMarker.INDEXER_MARKER);
int start = problem.getSourceStart();
int end = problem.getSourceEnd();
if( end <= start )
end = start + 1;
marker.setAttribute(IMarker.LOCATION, problem.getSourceLineNumber());
marker.setAttribute(IMarker.MESSAGE, INDEXER_MARKER_PREFIX + problem.getMessage());
marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
marker.setAttribute(IMarker.LINE_NUMBER, problem.getSourceLineNumber());
marker.setAttribute(IMarker.CHAR_START, problem.getSourceStart());
marker.setAttribute(IMarker.CHAR_END, problem.getSourceEnd());
marker.setAttribute(IMarker.CHAR_START, start);
marker.setAttribute(IMarker.CHAR_END, end);
marker.setAttribute(INDEXER_MARKER_ORIGINATOR, originator.getFullPath().toString() );
}