aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2012-05-30 14:54:39 -0700
committerTor Norbye <tnorbye@google.com>2012-05-30 17:25:18 -0700
commit7e4b8e9d595e45baa9d87cdb8282f02759e73abc (patch)
tree2da5fccd6c1e00c972c69323e3cf10df2e5ab264 /eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout
parent5ee7da2ae31dcbe781ed81c07f31b31d0a0a7d7f (diff)
downloadsdk-7e4b8e9d595e45baa9d87cdb8282f02759e73abc.zip
sdk-7e4b8e9d595e45baa9d87cdb8282f02759e73abc.tar.gz
sdk-7e4b8e9d595e45baa9d87cdb8282f02759e73abc.tar.bz2
Fix nullness annotations
Eclipse 4.2 includes analysis support for @Nullable and @NonNull annotations. However, it requires these annotations to be *repeated* on every single method implementing or overriding a superclass or interface method (!). This changeset basically applies the quickfixes to inline these annotations. It also changes the retention of our nullness annotations from source to class, since without this Eclipse believes that a @NonNull annotation downstream is a redefinition of a @Nullable annotation. Finally, the null analysis revealed a dozen or so places where the nullness annotation was either wrong, or some null checking on parameters or return values needed to be done. Change-Id: I43b4e56e2d025a8a4c92a8873f55c13cdbc4c1cb
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java41
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttribute.java7
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttributeInfo.java9
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestDragElement.java14
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestGraphics.java31
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java31
6 files changed, 73 insertions, 60 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java
index e382132..312df7d 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java
@@ -19,6 +19,8 @@ package com.android.ide.common.layout;
import static com.android.util.XmlUtils.ANDROID_URI;
import static com.android.ide.common.layout.LayoutConstants.ATTR_ID;
+import com.android.annotations.NonNull;
+import com.android.annotations.Nullable;
import com.android.ide.common.api.DropFeedback;
import com.android.ide.common.api.IClientRulesEngine;
import com.android.ide.common.api.IDragElement;
@@ -198,47 +200,48 @@ public class LayoutTestBase extends TestCase {
}
@Override
- public void debugPrintf(String msg, Object... params) {
+ public void debugPrintf(@NonNull String msg, Object... params) {
fail("Not supported in tests yet");
}
@Override
- public void displayAlert(String message) {
+ public void displayAlert(@NonNull String message) {
fail("Not supported in tests yet");
}
@Override
- public String displayInput(String message, String value, IValidator filter) {
+ public String displayInput(@NonNull String message, @Nullable String value,
+ @Nullable IValidator filter) {
fail("Not supported in tests yet");
return null;
}
@Override
- public String getFqcn() {
+ public @NonNull String getFqcn() {
return mFqn;
}
@Override
- public IViewMetadata getMetadata(final String fqcn) {
+ public @NonNull IViewMetadata getMetadata(final @NonNull String fqcn) {
return new IViewMetadata() {
@Override
- public String getDisplayName() {
+ public @NonNull String getDisplayName() {
// This also works when there is no "."
return fqcn.substring(fqcn.lastIndexOf('.') + 1);
}
@Override
- public FillPreference getFillPreference() {
+ public @NonNull FillPreference getFillPreference() {
return ViewMetadataRepository.get().getFillPreference(fqcn);
}
@Override
- public Margins getInsets() {
+ public @NonNull Margins getInsets() {
return null;
}
@Override
- public List<String> getTopAttributes() {
+ public @NonNull List<String> getTopAttributes() {
return ViewMetadataRepository.get().getTopAttributes(fqcn);
}
};
@@ -250,7 +253,7 @@ public class LayoutTestBase extends TestCase {
}
@Override
- public IViewRule loadRule(String fqcn) {
+ public IViewRule loadRule(@NonNull String fqcn) {
fail("Not supported in tests yet");
return null;
}
@@ -262,20 +265,21 @@ public class LayoutTestBase extends TestCase {
}
@Override
- public IValidator getResourceValidator() {
+ public @NonNull IValidator getResourceValidator() {
fail("Not supported in tests yet");
return null;
}
@Override
- public String displayResourceInput(String resourceTypeName, String currentValue) {
+ public String displayResourceInput(@NonNull String resourceTypeName,
+ @Nullable String currentValue) {
fail("Not supported in tests yet");
return null;
}
@Override
- public String[] displayMarginInput(String all, String left, String right, String top,
- String bottom) {
+ public String[] displayMarginInput(@Nullable String all, @Nullable String left,
+ @Nullable String right, @Nullable String top, @Nullable String bottom) {
fail("Not supported in tests yet");
return null;
}
@@ -287,7 +291,7 @@ public class LayoutTestBase extends TestCase {
}
@Override
- public void select(Collection<INode> nodes) {
+ public void select(@NonNull Collection<INode> nodes) {
fail("Not supported in tests yet");
}
@@ -308,7 +312,8 @@ public class LayoutTestBase extends TestCase {
}
@Override
- public Map<INode, Rect> measureChildren(INode parent, AttributeFilter filter) {
+ public Map<INode, Rect> measureChildren(@NonNull INode parent,
+ @Nullable AttributeFilter filter) {
return null;
}
@@ -319,7 +324,7 @@ public class LayoutTestBase extends TestCase {
}
@Override
- public String getUniqueId(String prefix) {
+ public @NonNull String getUniqueId(@NonNull String prefix) {
fail("Not supported in tests yet");
return null;
}
@@ -337,7 +342,7 @@ public class LayoutTestBase extends TestCase {
}
@Override
- public String getAppNameSpace() {
+ public @NonNull String getAppNameSpace() {
fail("Not supported in tests yet");
return null;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttribute.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttribute.java
index a1a2af7..76840b1 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttribute.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttribute.java
@@ -15,6 +15,7 @@
*/
package com.android.ide.common.layout;
+import com.android.annotations.NonNull;
import com.android.ide.common.api.IDragElement.IDragAttribute;
import com.android.ide.common.api.INode.IAttribute;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiAttributeNode;
@@ -35,17 +36,17 @@ public class TestAttribute implements IAttribute, IDragAttribute {
}
@Override
- public String getName() {
+ public @NonNull String getName() {
return mName;
}
@Override
- public String getUri() {
+ public @NonNull String getUri() {
return mUri;
}
@Override
- public String getValue() {
+ public @NonNull String getValue() {
return mValue;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttributeInfo.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttributeInfo.java
index f4f83c1..69984bd 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttributeInfo.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestAttributeInfo.java
@@ -15,6 +15,7 @@
*/
package com.android.ide.common.layout;
+import com.android.annotations.NonNull;
import com.android.ide.common.api.IAttributeInfo;
import java.util.EnumSet;
@@ -59,22 +60,22 @@ public class TestAttributeInfo implements IAttributeInfo {
}
@Override
- public EnumSet<Format> getFormats() {
+ public @NonNull EnumSet<Format> getFormats() {
return mFormats;
}
@Override
- public String getJavaDoc() {
+ public @NonNull String getJavaDoc() {
return mJavadoc;
}
@Override
- public String getName() {
+ public @NonNull String getName() {
return mName;
}
@Override
- public String getDefinedBy() {
+ public @NonNull String getDefinedBy() {
return mDefinedBy;
}
} \ No newline at end of file
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestDragElement.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestDragElement.java
index 4a3b4e8..eb0a432 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestDragElement.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestDragElement.java
@@ -18,6 +18,8 @@ package com.android.ide.common.layout;
import static com.android.util.XmlUtils.ANDROID_URI;
import static com.android.ide.common.layout.LayoutConstants.ATTR_ID;
+import com.android.annotations.NonNull;
+import com.android.annotations.Nullable;
import com.android.ide.common.api.IDragElement;
import com.android.ide.common.api.Rect;
@@ -100,7 +102,7 @@ public class TestDragElement implements IDragElement {
// ==== IDragElement ====
@Override
- public IDragAttribute getAttribute(String uri, String localName) {
+ public IDragAttribute getAttribute(@Nullable String uri, @NonNull String localName) {
if (mAttributes == null) {
return new TestAttribute(uri, localName, "");
}
@@ -109,22 +111,22 @@ public class TestDragElement implements IDragElement {
}
@Override
- public IDragAttribute[] getAttributes() {
+ public @NonNull IDragAttribute[] getAttributes() {
return mAttributes.values().toArray(new IDragAttribute[mAttributes.size()]);
}
@Override
- public Rect getBounds() {
+ public @NonNull Rect getBounds() {
return mRect;
}
@Override
- public String getFqcn() {
+ public @NonNull String getFqcn() {
return mFqcn;
}
@Override
- public IDragElement[] getInnerElements() {
+ public @NonNull IDragElement[] getInnerElements() {
if (mChildren == null) {
return new IDragElement[0];
}
@@ -133,7 +135,7 @@ public class TestDragElement implements IDragElement {
}
@Override
- public Rect getParentBounds() {
+ public @NonNull Rect getParentBounds() {
return mParent != null ? mParent.getBounds() : null;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestGraphics.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestGraphics.java
index 04f6259..ec93210 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestGraphics.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestGraphics.java
@@ -16,6 +16,7 @@
package com.android.ide.common.layout;
+import com.android.annotations.NonNull;
import com.android.ide.common.api.DrawingStyle;
import com.android.ide.common.api.IColor;
import com.android.ide.common.api.IGraphics;
@@ -51,7 +52,7 @@ public class TestGraphics implements IGraphics {
// ==== IGraphics ====
@Override
- public void drawBoxedStrings(int x, int y, List<?> strings) {
+ public void drawBoxedStrings(int x, int y, @NonNull List<?> strings) {
mDrawn.add("drawBoxedStrings(" + x + "," + y + "," + strings + ")");
}
@@ -61,7 +62,7 @@ public class TestGraphics implements IGraphics {
}
@Override
- public void drawLine(Point p1, Point p2) {
+ public void drawLine(@NonNull Point p1, @NonNull Point p2) {
mDrawn.add("drawLine(" + p1 + "," + p2 + ")");
}
@@ -71,22 +72,22 @@ public class TestGraphics implements IGraphics {
}
@Override
- public void drawRect(Point p1, Point p2) {
+ public void drawRect(@NonNull Point p1, @NonNull Point p2) {
mDrawn.add("drawRect(" + p1 + "," + p2 + ")");
}
@Override
- public void drawRect(Rect r) {
+ public void drawRect(@NonNull Rect r) {
mDrawn.add("drawRect(" + rectToString(r) + ")");
}
@Override
- public void drawString(String string, int x, int y) {
+ public void drawString(@NonNull String string, int x, int y) {
mDrawn.add("drawString(" + x + "," + y + "," + string + ")");
}
@Override
- public void drawString(String string, Point topLeft) {
+ public void drawString(@NonNull String string, @NonNull Point topLeft) {
mDrawn.add("drawString(" + string + "," + topLeft + ")");
}
@@ -96,12 +97,12 @@ public class TestGraphics implements IGraphics {
}
@Override
- public void fillRect(Point p1, Point p2) {
+ public void fillRect(@NonNull Point p1, @NonNull Point p2) {
mDrawn.add("fillRect(" + p1 + "," + p2 + ")");
}
@Override
- public void fillRect(Rect r) {
+ public void fillRect(@NonNull Rect r) {
mDrawn.add("fillRect(" + rectToString(r) + ")");
}
@@ -111,7 +112,7 @@ public class TestGraphics implements IGraphics {
}
@Override
- public IColor getBackground() {
+ public @NonNull IColor getBackground() {
return mBackground;
}
@@ -121,12 +122,12 @@ public class TestGraphics implements IGraphics {
}
@Override
- public IColor getForeground() {
+ public @NonNull IColor getForeground() {
return mForeground;
}
@Override
- public IColor registerColor(int rgb) {
+ public @NonNull IColor registerColor(int rgb) {
mDrawn.add("registerColor(" + Integer.toHexString(rgb) + ")");
return new TestColor(rgb);
}
@@ -138,19 +139,19 @@ public class TestGraphics implements IGraphics {
}
@Override
- public void setBackground(IColor color) {
+ public void setBackground(@NonNull IColor color) {
mDrawn.add("setBackground(" + color + ")");
mBackground = color;
}
@Override
- public void setForeground(IColor color) {
+ public void setForeground(@NonNull IColor color) {
mDrawn.add("setForeground(" + color + ")");
mForeground = color;
}
@Override
- public void setLineStyle(LineStyle style) {
+ public void setLineStyle(@NonNull LineStyle style) {
mDrawn.add("setLineStyle(" + style + ")");
}
@@ -160,7 +161,7 @@ public class TestGraphics implements IGraphics {
}
@Override
- public void useStyle(DrawingStyle style) {
+ public void useStyle(@NonNull DrawingStyle style) {
mDrawn.add("useStyle(" + style + ")");
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java
index 575c958..8984f38 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java
@@ -18,6 +18,8 @@ package com.android.ide.common.layout;
import static com.android.util.XmlUtils.ANDROID_URI;
import static com.android.ide.common.layout.LayoutConstants.ATTR_ID;
+import com.android.annotations.NonNull;
+import com.android.annotations.Nullable;
import com.android.ide.common.api.IAttributeInfo;
import com.android.ide.common.api.INode;
import com.android.ide.common.api.INodeHandler;
@@ -94,12 +96,12 @@ public class TestNode implements INode {
// ==== INODE ====
@Override
- public INode appendChild(String viewFqcn) {
+ public @NonNull INode appendChild(@NonNull String viewFqcn) {
return insertChildAt(viewFqcn, mChildren.size());
}
@Override
- public void editXml(String undoName, INodeHandler callback) {
+ public void editXml(@NonNull String undoName, @NonNull INodeHandler callback) {
callback.handle(this);
}
@@ -108,32 +110,32 @@ public class TestNode implements INode {
}
@Override
- public IAttributeInfo getAttributeInfo(String uri, String attrName) {
+ public IAttributeInfo getAttributeInfo(@Nullable String uri, @NonNull String attrName) {
return mAttributeInfos.get(uri + attrName);
}
@Override
- public Rect getBounds() {
+ public @NonNull Rect getBounds() {
return mBounds;
}
@Override
- public INode[] getChildren() {
+ public @NonNull INode[] getChildren() {
return mChildren.toArray(new INode[mChildren.size()]);
}
@Override
- public IAttributeInfo[] getDeclaredAttributes() {
+ public @NonNull IAttributeInfo[] getDeclaredAttributes() {
return mAttributeInfos.values().toArray(new IAttributeInfo[mAttributeInfos.size()]);
}
@Override
- public String getFqcn() {
+ public @NonNull String getFqcn() {
return mFqcn;
}
@Override
- public IAttribute[] getLiveAttributes() {
+ public @NonNull IAttribute[] getLiveAttributes() {
return mAttributes.values().toArray(new IAttribute[mAttributes.size()]);
}
@@ -153,7 +155,7 @@ public class TestNode implements INode {
}
@Override
- public String getStringAttr(String uri, String attrName) {
+ public String getStringAttr(@Nullable String uri, @NonNull String attrName) {
IAttribute attr = mAttributes.get(uri + attrName);
if (attr == null) {
return null;
@@ -163,7 +165,7 @@ public class TestNode implements INode {
}
@Override
- public INode insertChildAt(String viewFqcn, int index) {
+ public @NonNull INode insertChildAt(@NonNull String viewFqcn, int index) {
TestNode child = new TestNode(viewFqcn);
if (index == -1) {
mChildren.add(child);
@@ -175,7 +177,7 @@ public class TestNode implements INode {
}
@Override
- public void removeChild(INode node) {
+ public void removeChild(@NonNull INode node) {
int index = mChildren.indexOf(node);
if (index != -1) {
removeChild(index);
@@ -183,7 +185,8 @@ public class TestNode implements INode {
}
@Override
- public boolean setAttribute(String uri, String localName, String value) {
+ public boolean setAttribute(@Nullable String uri, @NonNull String localName,
+ @Nullable String value) {
mAttributes.put(uri + localName, new TestAttribute(uri, localName, value));
return true;
}
@@ -200,12 +203,12 @@ public class TestNode implements INode {
}
@Override
- public Margins getMargins() {
+ public @NonNull Margins getMargins() {
return null;
}
@Override
- public List<String> getAttributeSources() {
+ public @NonNull List<String> getAttributeSources() {
return mAttributeSources != null ? mAttributeSources : Collections.<String>emptyList();
}