Rolls back r5075. It's causing mysterious failures, and nobody
is available to look into it immediately.
Review by: jlabanca
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5206 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java b/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
index 0f2a4e7..fa8eb9e 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
@@ -461,18 +461,8 @@
}
if (field.isFinal()) {
- Type logLevel;
- if (isManuallySerializable(field.getEnclosingType())) {
- /*
- * If the type has a custom serializer, assume the programmer knows
- * best.
- */
- logLevel = TreeLogger.DEBUG;
- } else {
- logLevel = TreeLogger.WARN;
- }
logger.branch(suppressNonStaticFinalFieldWarnings ? TreeLogger.DEBUG
- : logLevel, "Field '" + field.toString()
+ : TreeLogger.WARN, "Field '" + field.toString()
+ "' will not be serialized because it is final", null);
return false;
}
diff --git a/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java b/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
index 8ceb6fe..a7285fb 100644
--- a/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
+++ b/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
@@ -38,7 +38,6 @@
import com.google.gwt.dev.javac.TypeOracleTestingUtils;
import com.google.gwt.dev.javac.impl.JavaResourceBase;
import com.google.gwt.dev.javac.impl.SourceFileCompilationUnit;
-import com.google.gwt.dev.util.UnitTestTreeLogger;
import com.google.gwt.dev.util.log.PrintWriterTreeLogger;
import com.google.gwt.user.rebind.rpc.testcases.client.AbstractSerializableTypes;
import com.google.gwt.user.rebind.rpc.testcases.client.ClassWithTypeParameterThatErasesToObject;
@@ -106,13 +105,6 @@
private static final int EXPOSURE_NONE = TypeParameterExposureComputer.EXPOSURE_NONE;
- private static void addAnnotation(Set<CompilationUnit> units) {
- StringBuffer code = new StringBuffer();
- code.append("package java.lang.annotation;\n");
- code.append("public interface Annotation { }\n");
- units.add(createMockCompilationUnit("java.lang.annotation.Annotation", code));
- }
-
private static void addGwtTransient(Set<CompilationUnit> units) {
StringBuffer code = new StringBuffer();
code.append("package com.google.gwt.user.client.rpc;\n");
@@ -182,24 +174,7 @@
units.add(new SourceFileCompilationUnit(JavaResourceBase.MAP));
}
- private static void addSerializationStreamReader(Set<CompilationUnit> units) {
- StringBuffer code = new StringBuffer();
- code.append("package com.google.gwt.user.client.rpc;\n");
- code.append("public class SerializationStreamReader { }\n");
- units.add(createMockCompilationUnit(
- "com.google.gwt.user.client.rpc.SerializationStreamReader", code));
- }
-
- private static void addSerializationStreamWriter(Set<CompilationUnit> units) {
- StringBuffer code = new StringBuffer();
- code.append("package com.google.gwt.user.client.rpc;\n");
- code.append("public class SerializationStreamWriter { }\n");
- units.add(createMockCompilationUnit(
- "com.google.gwt.user.client.rpc.SerializationStreamWriter", code));
- }
-
private static void addStandardClasses(Set<CompilationUnit> units) {
- addAnnotation(units);
addGwtTransient(units);
addJavaIoSerializable(units);
addJavaLangObject(units);
@@ -333,6 +308,7 @@
public SerializableTypeOracleBuilderTest() throws UnableToCompleteException {
TreeLogger logger = createLogger();
+
moduleDef = ModuleDefLoader.createSyntheticModule(logger,
"com.google.gwt.user.rebind.rpc.testcases.RebindRPCTestCases.JUnit",
new String[] {
@@ -1431,63 +1407,6 @@
}
/**
- * Make sure that when serializing a class that has a custom field serializer,
- * the warning about final fields is disabled. See issue 2931.
- */
- public void testManualSerializerWithFinalField() throws NotFoundException,
- UnableToCompleteException {
- Set<CompilationUnit> units = new HashSet<CompilationUnit>();
- addStandardClasses(units);
- addSerializationStreamReader(units);
- addSerializationStreamWriter(units);
-
- {
- StringBuffer code = new StringBuffer();
- code.append("import java.io.Serializable;\n");
- code.append("class Bar implements Serializable { }\n");
- units.add(createMockCompilationUnit("Bar", code));
- }
- {
- StringBuffer code = new StringBuffer();
- code.append("import java.io.Serializable;\n");
- code.append("class Foo {\n");
- code.append(" final Bar bar = new Bar();\n");
- code.append("}\n");
- units.add(createMockCompilationUnit("Foo", code));
- }
- {
- StringBuffer code = new StringBuffer();
- code.append("import com.google.gwt.user.client.rpc.SerializationStreamReader;\n");
- code.append("import com.google.gwt.user.client.rpc.SerializationStreamWriter;\n");
- code.append("class Foo_CustomFieldSerializer {\n");
- code.append(" public static void serialize(SerializationStreamWriter ssw, Foo instance) {\n");
- code.append(" }\n");
- code.append("\n");
- code.append(" public static void deserialize(SerializationStreamReader ssr, Foo instance) {\n");
- code.append(" }\n");
- code.append("}\n");
- units.add(createMockCompilationUnit("Foo_CustomFieldSerializer", code));
- }
-
- UnitTestTreeLogger.Builder treeLoggerBuilder = new UnitTestTreeLogger.Builder();
- treeLoggerBuilder.setLowestLogLevel(TreeLogger.WARN);
- // expect no output
- UnitTestTreeLogger logger = treeLoggerBuilder.createLogger();
-
- TypeOracle to = TypeOracleTestingUtils.buildTypeOracle(logger, units);
-
- JClassType foo = to.getType("Foo");
-
- SerializableTypeOracleBuilder stob = createSerializableTypeOracleBuilder(
- logger, to);
- stob.addRootType(logger, foo);
- SerializableTypeOracle so = stob.build(logger);
-
- logger.assertCorrectLogEntries();
- assertSerializableTypes(so, foo);
- }
-
- /**
* Tests that a raw List (missing gwt.typeArgs) will not result in a failure.
* The set of types is not currently being checked.
*/