diff options
author | Deepanshu Gupta <deepanshu@google.com> | 2014-07-30 18:27:14 -0700 |
---|---|---|
committer | Deepanshu Gupta <deepanshu@google.com> | 2014-08-04 22:59:38 +0000 |
commit | d2a411840c58eaee05499bab0190e3f3656e2e84 (patch) | |
tree | 686047bed8ef4cf9417b6f4f615c925ae5162a24 /tools | |
parent | 86eb8b4e29b1ad889fc814bae723d4d6e491f53f (diff) | |
download | frameworks_base-d2a411840c58eaee05499bab0190e3f3656e2e84.zip frameworks_base-d2a411840c58eaee05499bab0190e3f3656e2e84.tar.gz frameworks_base-d2a411840c58eaee05499bab0190e3f3656e2e84.tar.bz2 |
Fix LayoutLib Create tests.
Change-Id: Ica3efe417d54da7dc74b21d28215199d37600744
Diffstat (limited to 'tools')
8 files changed, 41 insertions, 32 deletions
diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/AbstractClassAdapter.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/AbstractClassAdapter.java index 323a791..a6902a4 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/AbstractClassAdapter.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/AbstractClassAdapter.java @@ -97,7 +97,7 @@ public abstract class AbstractClassAdapter extends ClassVisitor { if (type.getSort() == Type.OBJECT) { String in = type.getInternalName(); String newIn = renameInternalType(in); - if (newIn != in) { + if (!newIn.equals(in)) { return Type.getType("L" + newIn + ";"); } } else if (type.getSort() == Type.ARRAY) { diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/DependencyFinder.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/DependencyFinder.java index 2016c0e..7690fcd 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/DependencyFinder.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/DependencyFinder.java @@ -316,9 +316,7 @@ public class DependencyFinder { // Add it to the dependency set for the currently visited class, as needed. assert mCurrentDepSet != null; - if (mCurrentDepSet != null) { - mCurrentDepSet.add(className); - } + mCurrentDepSet.add(className); } /** diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/Main.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/Main.java index ea9ce10..02f2c02 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/Main.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/Main.java @@ -63,7 +63,7 @@ public class Main { String[] osDestJar = { null }; if (!processArgs(log, args, osJarPath, osDestJar)) { - log.error("Usage: layoutlib_create [-v] [-p] output.jar input.jar ..."); + log.error("Usage: layoutlib_create [-v] output.jar input.jar ..."); log.error("Usage: layoutlib_create [-v] [--list-deps|--missing-deps] input.jar ..."); System.exit(1); } diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/OverrideMethod.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/OverrideMethod.java index a6aff99..4c87b3c 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/OverrideMethod.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/OverrideMethod.java @@ -36,6 +36,7 @@ public final class OverrideMethod { * Sets the default listener for all methods not specifically handled. * Null means to do nothing. */ + @SuppressWarnings("UnusedDeclaration") // Used by Bridge by reflection for debug purposes. public static void setDefaultListener(MethodListener listener) { sDefaultListener = listener; } diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/RenameClassAdapter.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/RenameClassAdapter.java index 661074c..40bd126 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/RenameClassAdapter.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/RenameClassAdapter.java @@ -73,7 +73,7 @@ public class RenameClassAdapter extends AbstractClassAdapter { return mNewName; } - if (mOldBase != mOldName && type.equals(mOldBase)) { + if (!mOldBase.equals(mOldName) && type.equals(mOldBase)) { return mNewBase; } diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/StubMethodAdapter.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/StubMethodAdapter.java index 51e7535..416b73a 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/StubMethodAdapter.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/StubMethodAdapter.java @@ -29,8 +29,8 @@ import org.objectweb.asm.Type; */ class StubMethodAdapter extends MethodVisitor { - private static String CONSTRUCTOR = "<init>"; - private static String CLASS_INIT = "<clinit>"; + private static final String CONSTRUCTOR = "<init>"; + private static final String CLASS_INIT = "<clinit>"; /** The parent method writer */ private MethodVisitor mParentVisitor; diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/TransformClassAdapter.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/TransformClassAdapter.java index 0b869a5..d9ecf98 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/TransformClassAdapter.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/TransformClassAdapter.java @@ -17,7 +17,6 @@ package com.android.tools.layoutlib.create; import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.FieldVisitor; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; @@ -136,13 +135,6 @@ class TransformClassAdapter extends ClassVisitor { } } - /* Visits a field. Makes it public. */ - @Override - public FieldVisitor visitField(int access, String name, String desc, String signature, - Object value) { - return super.visitField(access, name, desc, signature, value); - } - /** * Extracts the return {@link Type} of this descriptor. */ diff --git a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/DelegateClassAdapterTest.java b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/DelegateClassAdapterTest.java index 94aad1d..648cea4 100644 --- a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/DelegateClassAdapterTest.java +++ b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/DelegateClassAdapterTest.java @@ -116,9 +116,16 @@ public class DelegateClassAdapterTest { // Check that the native method does NOT have the new annotation Method[] m = clazz2.getDeclaredMethods(); - assertEquals("native_instance", m[2].getName()); - assertTrue(Modifier.isNative(m[2].getModifiers())); - Annotation[] a = m[2].getAnnotations(); + Method nativeInstanceMethod = null; + for (Method method : m) { + if ("native_instance".equals(method.getName())) { + nativeInstanceMethod = method; + break; + } + } + assertNotNull(nativeInstanceMethod); + assertTrue(Modifier.isNative(nativeInstanceMethod.getModifiers())); + Annotation[] a = nativeInstanceMethod.getAnnotations(); assertEquals(0, a.length); } }; @@ -184,9 +191,16 @@ public class DelegateClassAdapterTest { // Check that the native method now has the new annotation and is not native Method[] m = clazz2.getDeclaredMethods(); - assertEquals("native_instance", m[2].getName()); - assertFalse(Modifier.isNative(m[2].getModifiers())); - Annotation[] a = m[2].getAnnotations(); + Method nativeInstanceMethod = null; + for (Method method : m) { + if ("native_instance".equals(method.getName())) { + nativeInstanceMethod = method; + break; + } + } + assertNotNull(nativeInstanceMethod); + assertFalse(Modifier.isNative(nativeInstanceMethod.getModifiers())); + Annotation[] a = nativeInstanceMethod.getAnnotations(); assertEquals("LayoutlibDelegate", a[0].annotationType().getSimpleName()); } }; @@ -237,13 +251,8 @@ public class DelegateClassAdapterTest { assertEquals(4+10+20, callGet(o2, 10, 20)); assertEquals(1+10+20, callGet_Original(o2, 10, 20)); - // The original Outer has a private method that is - // delegated. We should be able to call both the delegate - // and the original (which is now public). - assertEquals("outerPrivateMethod", - callMethod(o2, "privateMethod_Original", false /*makePublic*/)); - - // The original method is private, so by default we can't access it + // The original Outer has a private method, + // so by default we can't access it. boolean gotIllegalAccessException = false; try { callMethod(o2, "privateMethod", false /*makePublic*/); @@ -251,9 +260,18 @@ public class DelegateClassAdapterTest { gotIllegalAccessException = true; } assertTrue(gotIllegalAccessException); - // Try again, but now making it accessible - assertEquals("outerPrivate_Delegate", - callMethod(o2, "privateMethod", true /*makePublic*/)); + + // The private method from original Outer has been + // delegated. The delegate generated should have the + // same access. + gotIllegalAccessException = false; + try { + assertEquals("outerPrivateMethod", + callMethod(o2, "privateMethod_Original", false /*makePublic*/)); + } catch (IllegalAccessException e) { + gotIllegalAccessException = true; + } + assertTrue(gotIllegalAccessException); // Check the inner class. Since it's not a static inner class, we need // to use the hidden constructor that takes the outer class as first parameter. |