1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Fix for 213456: Misuse of IMarker.LOCATION attribute breaks API and leads to ClassCastExceptions

This commit is contained in:
Anton Leherbauer 2007-12-21 11:57:35 +00:00
parent 1e43fc3186
commit 9fcb8e7bb0
3 changed files with 7 additions and 7 deletions

View file

@ -57,7 +57,7 @@ public class SCMarkerGenerator implements IMarkerGenerator {
*/ */
if ((cur != null) && (cur.length > 0)) { if ((cur != null) && (cur.length > 0)) {
for (int i = 0; i < cur.length; i++) { for (int i = 0; i < cur.length; i++) {
int line = ((Integer) cur[i].getAttribute(IMarker.LOCATION)).intValue(); int line = ((Integer) cur[i].getAttribute(IMarker.LINE_NUMBER)).intValue();
int sev = ((Integer) cur[i].getAttribute(IMarker.SEVERITY)).intValue(); int sev = ((Integer) cur[i].getAttribute(IMarker.SEVERITY)).intValue();
String mesg = (String) cur[i].getAttribute(IMarker.MESSAGE); String mesg = (String) cur[i].getAttribute(IMarker.MESSAGE);
if (line == problemMarkerInfo.lineNumber && sev == mapMarkerSeverity(problemMarkerInfo.severity) && mesg.equals(problemMarkerInfo.description)) { if (line == problemMarkerInfo.lineNumber && sev == mapMarkerSeverity(problemMarkerInfo.severity) && mesg.equals(problemMarkerInfo.description)) {
@ -67,7 +67,7 @@ public class SCMarkerGenerator implements IMarkerGenerator {
} }
IMarker marker = problemMarkerInfo.file.createMarker(ICModelMarker.C_MODEL_PROBLEM_MARKER); IMarker marker = problemMarkerInfo.file.createMarker(ICModelMarker.C_MODEL_PROBLEM_MARKER);
marker.setAttribute(IMarker.LOCATION, problemMarkerInfo.lineNumber); marker.setAttribute(IMarker.LOCATION, String.valueOf(problemMarkerInfo.lineNumber));
marker.setAttribute(IMarker.MESSAGE, problemMarkerInfo.description); marker.setAttribute(IMarker.MESSAGE, problemMarkerInfo.description);
marker.setAttribute(IMarker.SEVERITY, mapMarkerSeverity(problemMarkerInfo.severity)); marker.setAttribute(IMarker.SEVERITY, mapMarkerSeverity(problemMarkerInfo.severity));
marker.setAttribute(IMarker.LINE_NUMBER, problemMarkerInfo.lineNumber); marker.setAttribute(IMarker.LINE_NUMBER, problemMarkerInfo.lineNumber);
@ -95,7 +95,7 @@ public class SCMarkerGenerator implements IMarkerGenerator {
List exactMarkers = new ArrayList(); List exactMarkers = new ArrayList();
for (int i = 0; i < markers.length; i++) { for (int i = 0; i < markers.length; i++) {
IMarker marker = markers[i]; IMarker marker = markers[i];
int location = ((Integer) marker.getAttribute(IMarker.LOCATION)).intValue(); int location = ((Integer) marker.getAttribute(IMarker.LINE_NUMBER)).intValue();
String error = (String) marker.getAttribute(IMarker.MESSAGE); String error = (String) marker.getAttribute(IMarker.MESSAGE);
int sev = ((Integer) marker.getAttribute(IMarker.SEVERITY)).intValue(); int sev = ((Integer) marker.getAttribute(IMarker.SEVERITY)).intValue();
if (location == lineNumber && if (location == lineNumber &&

View file

@ -49,7 +49,7 @@ public abstract class ACBuilder extends IncrementalProjectBuilder implements IMa
*/ */
if ((cur != null) && (cur.length > 0)) { if ((cur != null) && (cur.length > 0)) {
for (int i = 0; i < cur.length; i++) { for (int i = 0; i < cur.length; i++) {
int line = ((Integer) cur[i].getAttribute(IMarker.LOCATION)).intValue(); int line = ((Integer) cur[i].getAttribute(IMarker.LINE_NUMBER)).intValue();
int sev = ((Integer) cur[i].getAttribute(IMarker.SEVERITY)).intValue(); int sev = ((Integer) cur[i].getAttribute(IMarker.SEVERITY)).intValue();
String mesg = (String) cur[i].getAttribute(IMarker.MESSAGE); String mesg = (String) cur[i].getAttribute(IMarker.MESSAGE);
if (line == problemMarkerInfo.lineNumber && sev == mapMarkerSeverity(problemMarkerInfo.severity) && mesg.equals(problemMarkerInfo.description)) { if (line == problemMarkerInfo.lineNumber && sev == mapMarkerSeverity(problemMarkerInfo.severity) && mesg.equals(problemMarkerInfo.description)) {
@ -59,7 +59,7 @@ public abstract class ACBuilder extends IncrementalProjectBuilder implements IMa
} }
IMarker marker = markerResource.createMarker(ICModelMarker.C_MODEL_PROBLEM_MARKER); IMarker marker = markerResource.createMarker(ICModelMarker.C_MODEL_PROBLEM_MARKER);
marker.setAttribute(IMarker.LOCATION, problemMarkerInfo.lineNumber); marker.setAttribute(IMarker.LOCATION, String.valueOf(problemMarkerInfo.lineNumber));
marker.setAttribute(IMarker.MESSAGE, problemMarkerInfo.description); marker.setAttribute(IMarker.MESSAGE, problemMarkerInfo.description);
marker.setAttribute(IMarker.SEVERITY, mapMarkerSeverity(problemMarkerInfo.severity)); marker.setAttribute(IMarker.SEVERITY, mapMarkerSeverity(problemMarkerInfo.severity));
marker.setAttribute(IMarker.LINE_NUMBER, problemMarkerInfo.lineNumber); marker.setAttribute(IMarker.LINE_NUMBER, problemMarkerInfo.lineNumber);

View file

@ -149,7 +149,7 @@ public class BreakpointProblems {
*/ */
if ((cur != null) && (cur.length > 0)) { if ((cur != null) && (cur.length > 0)) {
for (int i = 0; i < cur.length; i++) { for (int i = 0; i < cur.length; i++) {
int line = ((Integer) cur[i].getAttribute(IMarker.LOCATION)).intValue(); int line = ((Integer) cur[i].getAttribute(IMarker.LINE_NUMBER)).intValue();
int sev = ((Integer) cur[i].getAttribute(IMarker.SEVERITY)).intValue(); int sev = ((Integer) cur[i].getAttribute(IMarker.SEVERITY)).intValue();
String mesg = (String) cur[i].getAttribute(IMarker.MESSAGE); String mesg = (String) cur[i].getAttribute(IMarker.MESSAGE);
if (line == problemMarkerInfo.lineNumber && sev == problemMarkerInfo.severity && mesg.equals(problemMarkerInfo.description)) { if (line == problemMarkerInfo.lineNumber && sev == problemMarkerInfo.severity && mesg.equals(problemMarkerInfo.description)) {
@ -159,7 +159,7 @@ public class BreakpointProblems {
} }
IMarker marker = markerResource.createMarker(BREAKPOINT_PROBLEM_MARKER_ID); IMarker marker = markerResource.createMarker(BREAKPOINT_PROBLEM_MARKER_ID);
marker.setAttribute(IMarker.LOCATION, problemMarkerInfo.lineNumber); marker.setAttribute(IMarker.LOCATION, String.valueOf(problemMarkerInfo.lineNumber));
marker.setAttribute(IMarker.MESSAGE, problemMarkerInfo.description); marker.setAttribute(IMarker.MESSAGE, problemMarkerInfo.description);
marker.setAttribute(IMarker.SEVERITY, problemMarkerInfo.severity); marker.setAttribute(IMarker.SEVERITY, problemMarkerInfo.severity);
marker.setAttribute(IMarker.LINE_NUMBER, problemMarkerInfo.lineNumber); marker.setAttribute(IMarker.LINE_NUMBER, problemMarkerInfo.lineNumber);