diff options
author | Tor Norbye <tnorbye@google.com> | 2011-12-20 11:06:19 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-12-20 11:06:19 -0800 |
commit | 00ad28100202493534b4b47a6d6c0b731d75ead0 (patch) | |
tree | d848634081c5974bc8dcc824ade248be81cdc3ca | |
parent | 5fc3da5bd6c546bc962cc8d9348ce631d44d6d4c (diff) | |
parent | 402af1286193f536946b36979b259511d6a9bb06 (diff) | |
download | sdk-00ad28100202493534b4b47a6d6c0b731d75ead0.zip sdk-00ad28100202493534b4b47a6d6c0b731d75ead0.tar.gz sdk-00ad28100202493534b4b47a6d6c0b731d75ead0.tar.bz2 |
Merge "Fix 23215: "Run Android Lint" throws errors to Java Error Log"
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java index ef42f44..959c75e 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java @@ -170,37 +170,36 @@ public class EclipseLintClient extends LintClient implements IDomParser { int severity = getMarkerSeverity(s); IMarker marker = null; - if (location == null) { - marker = BaseProjectHelper.markResource(mResource, MARKER_LINT, - message, 0, severity); - } else { + if (location != null) { Position startPosition = location.getStart(); if (startPosition == null) { - IResource resource = null; if (location.getFile() != null) { - resource = AdtUtils.fileToResource(location.getFile()); - } - if (resource == null) { - resource = mResource; + IResource resource = AdtUtils.fileToResource(location.getFile()); + if (resource != null && resource.isAccessible()) { + marker = BaseProjectHelper.markResource(resource, MARKER_LINT, + message, 0, severity); + } } - marker = BaseProjectHelper.markResource(resource, MARKER_LINT, - message, 0, severity); } else { Position endPosition = location.getEnd(); int line = startPosition.getLine() + 1; // Marker API is 1-based IFile file = AdtUtils.fileToIFile(location.getFile()); - if (file != null) { + if (file != null && file.isAccessible()) { Pair<Integer, Integer> r = getRange(file, mDocument, startPosition, endPosition); int startOffset = r.getFirst(); int endOffset = r.getSecond(); - marker = BaseProjectHelper.markResource(file, MARKER_LINT, message, line, startOffset, endOffset, severity); } } } + if (marker == null) { + marker = BaseProjectHelper.markResource(mResource, MARKER_LINT, + message, 0, severity); + } + if (marker != null) { // Store marker id such that we can recognize it from the suppress quickfix try { @@ -279,7 +278,9 @@ public class EclipseLintClient extends LintClient implements IDomParser { */ public static IMarker[] getMarkers(IResource resource) { try { - return resource.findMarkers(MARKER_LINT, false, IResource.DEPTH_INFINITE); + if (resource.isAccessible()) { + return resource.findMarkers(MARKER_LINT, false, IResource.DEPTH_INFINITE); + } } catch (CoreException e) { AdtPlugin.log(e, null); } |