aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2011-12-20 11:06:19 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-12-20 11:06:19 -0800
commit00ad28100202493534b4b47a6d6c0b731d75ead0 (patch)
treed848634081c5974bc8dcc824ade248be81cdc3ca
parent5fc3da5bd6c546bc962cc8d9348ce631d44d6d4c (diff)
parent402af1286193f536946b36979b259511d6a9bb06 (diff)
downloadsdk-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.java29
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);
}