From 46d43ccfd8cef75b4315828073c094cf1efb05ff Mon Sep 17 00:00:00 2001 From: Xavier Ducrohet Date: Thu, 2 Feb 2012 15:44:50 -0800 Subject: Make Layoutlib compile on Java 6. Change-Id: Ic8f0e321c6c218de83664fc01f253a07fa80852c --- tools/layoutlib/create/.settings/README.txt | 2 + .../create/.settings/org.eclipse.jdt.core.prefs | 93 ++++++++++++++++++++++ .../android/tools/layoutlib/create/CreateInfo.java | 6 ++ .../tools/layoutlib/create/MethodAdapter.java | 8 +- .../tools/layoutlib/create/AsmGeneratorTest.java | 6 ++ 5 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 tools/layoutlib/create/.settings/README.txt create mode 100644 tools/layoutlib/create/.settings/org.eclipse.jdt.core.prefs (limited to 'tools/layoutlib/create') diff --git a/tools/layoutlib/create/.settings/README.txt b/tools/layoutlib/create/.settings/README.txt new file mode 100644 index 000000000000..9120b20710a3 --- /dev/null +++ b/tools/layoutlib/create/.settings/README.txt @@ -0,0 +1,2 @@ +Copy this in eclipse project as a .settings folder at the root. +This ensure proper compilation compliance and warning/error levels. \ No newline at end of file diff --git a/tools/layoutlib/create/.settings/org.eclipse.jdt.core.prefs b/tools/layoutlib/create/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000000..5381a0e16c7d --- /dev/null +++ b/tools/layoutlib/create/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,93 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.annotation.nonnull=com.android.annotations.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=com.android.annotations.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nonnullisdefault=disabled +org.eclipse.jdt.core.compiler.annotation.nullable=com.android.annotations.Nullable +org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.nullReference=error +org.eclipse.jdt.core.compiler.problem.nullSpecInsufficientInfo=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentialNullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java index 70c8a009b291..4b33474c65a8 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java @@ -27,6 +27,7 @@ public final class CreateInfo implements ICreateInfo { * Returns the list of class from layoutlib_create to inject in layoutlib. * The list can be empty but must not be null. */ + @Override public Class[] getInjectedClasses() { return INJECTED_CLASSES; } @@ -35,6 +36,7 @@ public final class CreateInfo implements ICreateInfo { * Returns the list of methods to rewrite as delegates. * The list can be empty but must not be null. */ + @Override public String[] getDelegateMethods() { return DELEGATE_METHODS; } @@ -43,6 +45,7 @@ public final class CreateInfo implements ICreateInfo { * Returns the list of classes on which to delegate all native methods. * The list can be empty but must not be null. */ + @Override public String[] getDelegateClassNatives() { return DELEGATE_CLASS_NATIVES; } @@ -54,6 +57,7 @@ public final class CreateInfo implements ICreateInfo { *

* This usage is deprecated. Please use method 'delegates' instead. */ + @Override public String[] getOverriddenMethods() { return OVERRIDDEN_METHODS; } @@ -63,6 +67,7 @@ public final class CreateInfo implements ICreateInfo { * of class to replace followed by the new FQCN. * The list can be empty but must not be null. */ + @Override public String[] getRenamedClasses() { return RENAMED_CLASSES; } @@ -74,6 +79,7 @@ public final class CreateInfo implements ICreateInfo { * the methods to delete. * The list can be empty but must not be null. */ + @Override public String[] getDeleteReturns() { return DELETE_RETURNS; } diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/MethodAdapter.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/MethodAdapter.java index 627ea17260fc..7d1e4cf49635 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/MethodAdapter.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/MethodAdapter.java @@ -28,13 +28,14 @@ public class MethodAdapter implements MethodListener { * A stub method is being invoked. *

* Known limitation: caller arguments are not available. - * + * * @param signature The signature of the method being invoked, composed of the * binary class name followed by the method descriptor (aka argument * types). Example: "com/foo/MyClass/InnerClass/printInt(I)V". * @param isNative True if the method was a native method. * @param caller The calling object. Null for static methods, "this" for instance methods. */ + @Override public void onInvokeV(String signature, boolean isNative, Object caller) { } @@ -43,6 +44,7 @@ public class MethodAdapter implements MethodListener { * @see #onInvokeV(String, boolean, Object) * @return an integer, or a boolean, or a short or a byte. */ + @Override public int onInvokeI(String signature, boolean isNative, Object caller) { onInvokeV(signature, isNative, caller); return 0; @@ -53,6 +55,7 @@ public class MethodAdapter implements MethodListener { * @see #onInvokeV(String, boolean, Object) * @return a long. */ + @Override public long onInvokeL(String signature, boolean isNative, Object caller) { onInvokeV(signature, isNative, caller); return 0; @@ -63,6 +66,7 @@ public class MethodAdapter implements MethodListener { * @see #onInvokeV(String, boolean, Object) * @return a float. */ + @Override public float onInvokeF(String signature, boolean isNative, Object caller) { onInvokeV(signature, isNative, caller); return 0; @@ -73,6 +77,7 @@ public class MethodAdapter implements MethodListener { * @see #onInvokeV(String, boolean, Object) * @return a double. */ + @Override public double onInvokeD(String signature, boolean isNative, Object caller) { onInvokeV(signature, isNative, caller); return 0; @@ -83,6 +88,7 @@ public class MethodAdapter implements MethodListener { * @see #onInvokeV(String, boolean, Object) * @return an object. */ + @Override public Object onInvokeA(String signature, boolean isNative, Object caller) { onInvokeV(signature, isNative, caller); return null; diff --git a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java index f4ff389d41b2..7b76a5b2f914 100644 --- a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java +++ b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java @@ -65,24 +65,29 @@ public class AsmGeneratorTest { public void testClassRenaming() throws IOException, LogAbortException { ICreateInfo ci = new ICreateInfo() { + @Override public Class[] getInjectedClasses() { // classes to inject in the final JAR return new Class[0]; } + @Override public String[] getDelegateMethods() { return new String[0]; } + @Override public String[] getDelegateClassNatives() { return new String[0]; } + @Override public String[] getOverriddenMethods() { // methods to force override return new String[0]; } + @Override public String[] getRenamedClasses() { // classes to rename (so that we can replace them) return new String[] { @@ -91,6 +96,7 @@ public class AsmGeneratorTest { }; } + @Override public String[] getDeleteReturns() { // methods deleted from their return type. return new String[0]; -- cgit v1.2.3-59-g8ed1b