Removed the RPC warning regarding exclusion of final fields from serialization. Also updated RemoteService.gwt.xml to document that the gwt.suppressNonStaticFinalFieldWarnings property is deprecated and ignored.
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1660 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/RemoteService.gwt.xml b/user/src/com/google/gwt/user/RemoteService.gwt.xml
index 45cc4f2..e03d3c4 100644
--- a/user/src/com/google/gwt/user/RemoteService.gwt.xml
+++ b/user/src/com/google/gwt/user/RemoteService.gwt.xml
@@ -29,12 +29,22 @@
<set-property name="gwt.enforceRPCTypeVersioning" value="true"/>
<!--
- Declare a property to determine whether or warnings for final instance
+ Declare a property to determine whether warnings for final instance
fields should be suppressed.
+
+ NOTE: We no longer emit warnings for final fields. This property has
+ been deprecated, is currently being ignored, and will be removed in a
+ future version of GWT.
-->
<define-property name="gwt.suppressNonStaticFinalFieldWarnings" values="true,false" />
- <!-- Default warning for non-static, final fields enabled -->
+ <!--
+ Default warning for non-static, final fields enabled
+
+ NOTE: We no longer emit a warning for final fields. This property has
+ been deprecated, is currently being ignored, and will be removed in a
+ future version of GWT.
+ -->
<set-property name="gwt.suppressNonStaticFinalFieldWarnings" value="false" />
<generate-with class="com.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGenerator">
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 1ce4f21..6d05759 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java
@@ -15,7 +15,6 @@
*/
package com.google.gwt.user.rebind.rpc;
-import com.google.gwt.core.ext.BadPropertyValueException;
import com.google.gwt.core.ext.PropertyOracle;
import com.google.gwt.core.ext.TreeLogger;
import com.google.gwt.core.ext.UnableToCompleteException;
@@ -548,12 +547,6 @@
*/
private final JClassType streamWriterClass;
- /**
- * If <code>true</code> we will not warn if a serializable type contains a
- * non-static final field. We warn because these fields are not serialized.
- */
- private boolean suppressNonStaticFinalFieldWarnings;
-
private final TypeOracle typeOracle;
/**
@@ -612,8 +605,6 @@
public SerializableTypeOracle build(PropertyOracle propertyOracle,
JClassType remoteService) throws UnableToCompleteException {
- initializeProperties(rootLogger, propertyOracle);
-
try {
// String is always instantiable.
JClassType stringType = typeOracle.getType(String.class.getName());
@@ -883,10 +874,8 @@
}
if (field.isFinal()) {
- if (!suppressNonStaticFinalFieldWarnings) {
- localLogger.branch(TreeLogger.WARN, "Field '" + field.toString()
- + "' will not be serialized because it is final", null);
- }
+ localLogger.branch(TreeLogger.DEBUG, "Field '" + field.toString()
+ + "' will not be serialized because it is final", null);
continue;
}
@@ -1107,21 +1096,6 @@
return tic;
}
- private void initializeProperties(TreeLogger logger,
- PropertyOracle propertyOracle) {
- suppressNonStaticFinalFieldWarnings = false;
- try {
- String propVal = propertyOracle.getPropertyValue(logger,
- "gwt.suppressNonStaticFinalFieldWarnings");
- if (propVal.equals("true")) {
- suppressNonStaticFinalFieldWarnings = true;
- }
- } catch (BadPropertyValueException e) {
- // Purposely ignored, because we do want to warn if non-static, final
- // are part of a serializable type
- }
- }
-
/**
* Returns <code>true</code> if the type is defined by the JRE.
*/