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:
parent
fdb7641d45
commit
9bba5a8939
2 changed files with 15 additions and 5 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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() );
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue