marking custom serialization methods with GwtIncompatible

Since json/impl classes are shared in client and server sides,
custom methods for serializing server objects should not be
considered by gwt compiler.

Renamed Serialization test to follow pattern used in build.xml
because it was not being run otherwise.

Change-Id: I44178bfb2dc3785afd7b74434fbd9350bbd6676d
diff --git a/elemental/src/elemental/json/impl/JreJsonArray.java b/elemental/src/elemental/json/impl/JreJsonArray.java
index c31ba33..581c7cc 100644
--- a/elemental/src/elemental/json/impl/JreJsonArray.java
+++ b/elemental/src/elemental/json/impl/JreJsonArray.java
@@ -169,6 +169,7 @@
     visitor.endVisit(this, ctx);
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void readObject(ObjectInputStream stream)
           throws IOException, ClassNotFoundException {
     JreJsonArray instance = parseJson(stream);
@@ -176,8 +177,8 @@
     this.arrayValues = instance.arrayValues;
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void writeObject(ObjectOutputStream stream) throws IOException {
     stream.writeObject(toJson());
   }
-
 }
diff --git a/elemental/src/elemental/json/impl/JreJsonBoolean.java b/elemental/src/elemental/json/impl/JreJsonBoolean.java
index e48895f..9a03159 100644
--- a/elemental/src/elemental/json/impl/JreJsonBoolean.java
+++ b/elemental/src/elemental/json/impl/JreJsonBoolean.java
@@ -19,7 +19,6 @@
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
-import elemental.json.Json;
 import elemental.json.JsonBoolean;
 import elemental.json.JsonType;
 import elemental.json.JsonValue;
@@ -77,12 +76,14 @@
     return String.valueOf(bool);
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void readObject(ObjectInputStream stream)
           throws IOException, ClassNotFoundException {
     JreJsonBoolean instance = parseJson(stream);
     this.bool = instance.bool;
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void writeObject(ObjectOutputStream stream) throws IOException {
     stream.writeObject(toJson());
   }
diff --git a/elemental/src/elemental/json/impl/JreJsonNull.java b/elemental/src/elemental/json/impl/JreJsonNull.java
index 7336417..7852370 100644
--- a/elemental/src/elemental/json/impl/JreJsonNull.java
+++ b/elemental/src/elemental/json/impl/JreJsonNull.java
@@ -15,9 +15,6 @@
  */
 package elemental.json.impl;
 
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
 import java.io.ObjectStreamException;
 
 import elemental.json.JsonNull;
@@ -70,8 +67,8 @@
     return null;
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private Object readResolve() throws ObjectStreamException {
     return NULL_INSTANCE;
   }
-
 }
diff --git a/elemental/src/elemental/json/impl/JreJsonNumber.java b/elemental/src/elemental/json/impl/JreJsonNumber.java
index 26c6e61..664ce5f 100644
--- a/elemental/src/elemental/json/impl/JreJsonNumber.java
+++ b/elemental/src/elemental/json/impl/JreJsonNumber.java
@@ -19,7 +19,6 @@
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
-import elemental.json.Json;
 import elemental.json.JsonNumber;
 import elemental.json.JsonType;
 import elemental.json.JsonValue;
@@ -82,12 +81,14 @@
     return toReturn;
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void readObject(ObjectInputStream stream)
           throws IOException, ClassNotFoundException {
     JreJsonNumber instance = parseJson(stream);
     this.number = instance.number;
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void writeObject(ObjectOutputStream stream) throws IOException {
     stream.writeObject(toJson());
   }
diff --git a/elemental/src/elemental/json/impl/JreJsonObject.java b/elemental/src/elemental/json/impl/JreJsonObject.java
old mode 100755
new mode 100644
index 732def2..cbc1faa
--- a/elemental/src/elemental/json/impl/JreJsonObject.java
+++ b/elemental/src/elemental/json/impl/JreJsonObject.java
@@ -182,6 +182,7 @@
     visitor.endVisit(this, ctx);
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void readObject(ObjectInputStream stream)
           throws IOException, ClassNotFoundException {
     JreJsonObject instance = parseJson(stream);
@@ -189,8 +190,8 @@
     this.map = instance.map;
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void writeObject(ObjectOutputStream stream) throws IOException {
     stream.writeObject(toJson());
   }
-
 }
diff --git a/elemental/src/elemental/json/impl/JreJsonString.java b/elemental/src/elemental/json/impl/JreJsonString.java
index 690ea10..857d6ee 100644
--- a/elemental/src/elemental/json/impl/JreJsonString.java
+++ b/elemental/src/elemental/json/impl/JreJsonString.java
@@ -19,7 +19,6 @@
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
-import elemental.json.Json;
 import elemental.json.JsonString;
 import elemental.json.JsonType;
 import elemental.json.JsonValue;
@@ -86,14 +85,15 @@
     return JsonUtil.quote(getString());
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void readObject(ObjectInputStream stream) throws IOException,
       ClassNotFoundException {
     JreJsonString instance = parseJson(stream);
     this.string = instance.string;
   }
 
+  @com.google.gwt.core.shared.GwtIncompatible
   private void writeObject(ObjectOutputStream stream) throws IOException {
     stream.writeObject(toJson());
   }
-
 }
diff --git a/elemental/tests/elemental/json/impl/JreJsonSerialization.java b/elemental/tests/elemental/json/impl/JsonSerializationJreTest.java
similarity index 97%
rename from elemental/tests/elemental/json/impl/JreJsonSerialization.java
rename to elemental/tests/elemental/json/impl/JsonSerializationJreTest.java
index a3097a7..8ba23da 100644
--- a/elemental/tests/elemental/json/impl/JreJsonSerialization.java
+++ b/elemental/tests/elemental/json/impl/JsonSerializationJreTest.java
@@ -13,7 +13,7 @@
 import elemental.json.JsonObject;
 import elemental.json.JsonValue;
 
-public class JreJsonSerialization extends TestCase {
+public class JsonSerializationJreTest extends TestCase {
 
   public void testSerializeNull() throws Exception {
     JsonNull null1 = Json.createNull();