[pkg-eucalyptus-commits] r146 - gwt/trunk/debian/patches
Charles Plessy
plessy at alioth.debian.org
Wed Aug 24 02:36:06 UTC 2011
Author: plessy
Date: 2011-08-24 02:36:06 +0000 (Wed, 24 Aug 2011)
New Revision: 146
Removed:
gwt/trunk/debian/patches/issue-3510.patch
Log:
Applied in GWT 1.7.0.
http://code.google.com/p/google-web-toolkit/issues/detail?id=3510
https://bugs.launchpad.net/ubuntu/+source/gwt/+bug/418022
Deleted: gwt/trunk/debian/patches/issue-3510.patch
===================================================================
--- gwt/trunk/debian/patches/issue-3510.patch 2011-08-24 02:29:27 UTC (rev 145)
+++ gwt/trunk/debian/patches/issue-3510.patch 2011-08-24 02:36:06 UTC (rev 146)
@@ -1,250 +0,0 @@
-Index: dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
---- dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java (revision 2974)
-+++ dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java (working copy)
-@@ -18,6 +18,9 @@ package com.google.gwt.dev.jjs.ast;
- import com.google.gwt.dev.jjs.InternalCompilerException;
- import com.google.gwt.dev.jjs.SourceInfo;
-
-+import java.io.IOException;
-+import java.io.ObjectInputStream;
-+import java.io.ObjectOutputStream;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Set;
-@@ -46,7 +49,12 @@ public final class JMethod extends JNode implements HasEnclosingType, HasName,
-
- public final ArrayList<JParameter> params = new ArrayList<JParameter>();
- public final ArrayList<JClassType> thrownExceptions = new ArrayList<JClassType>();
-- private JAbstractMethodBody body = null;
-+
-+ /**
-+ * Special serialization treatment.
-+ */
-+ private transient JAbstractMethodBody body = null;
-+
- private final JReferenceType enclosingType;
- private final boolean isAbstract;
- private boolean isFinal;
-@@ -75,13 +83,13 @@ public final class JMethod extends JNode implements HasEnclosingType, HasName,
- }
-
- public void freezeParamTypes() {
-- List<JType> paramTypes = new ArrayList<JType>();
-+ List<JType> paramTypes = new ArrayList<JType>();
- for (JParameter param : params) {
- paramTypes.add(param.getType());
- }
- setOriginalParamTypes(paramTypes);
- }
--
-+
- public JAbstractMethodBody getBody() {
- return body;
- }
-@@ -150,7 +158,6 @@ public final class JMethod extends JNode implements HasEnclosingType, HasName,
- throw new InternalCompilerException("Param types already frozen");
- }
- originalParamTypes = paramTypes;
--
-
- // Determine if we should trace this method.
- if (enclosingType != null) {
-@@ -203,4 +210,24 @@ public final class JMethod extends JNode implements HasEnclosingType, HasName,
- }
- }
- }
-+
-+ /**
-+ * See {@link #writeBody(ObjectOutputStream)}.
-+ *
-+ * @see #writeBody(ObjectOutputStream)
-+ */
-+ void readBody(ObjectInputStream stream) throws IOException,
-+ ClassNotFoundException {
-+ body = (JAbstractMethodBody) stream.readObject();
-+ }
-+
-+ /**
-+ * After all types, fields, and methods are written to the stream, this method
-+ * writes method bodies to the stream.
-+ *
-+ * @see JProgram#writeObject(ObjectOutputStream)
-+ */
-+ void writeBody(ObjectOutputStream stream) throws IOException {
-+ stream.writeObject(body);
-+ }
- }
-Index: dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
---- dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (revision 3534)
-+++ dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (working copy)
-@@ -22,6 +22,9 @@ import com.google.gwt.dev.jjs.ast.js.JClassSeed;
- import com.google.gwt.dev.jjs.ast.js.JsniMethodBody;
- import com.google.gwt.dev.jjs.ast.js.JsonObject;
-
-+import java.io.IOException;
-+import java.io.ObjectInputStream;
-+import java.io.ObjectOutputStream;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Arrays;
-@@ -161,7 +164,10 @@ public class JProgram extends JNode {
- private final Set<JArrayType> allArrayTypes = new TreeSet<JArrayType>(
- ARRAYTYPE_COMPARATOR);
-
-- private final List<JReferenceType> allTypes = new ArrayList<JReferenceType>();
-+ /**
-+ * Special serialization treatment.
-+ */
-+ private transient List<JReferenceType> allTypes = new ArrayList<JReferenceType>();
-
- private final Map<JType, JClassLiteral> classLiterals = new IdentityHashMap<JType, JClassLiteral>();
-
-@@ -992,4 +998,59 @@ public class JProgram extends JNode {
- return count;
- }
-
-+ /**
-+ * See notes in {@link #writeObject(ObjectOutputStream)}.
-+ *
-+ * @see #writeObject(ObjectOutputStream)
-+ */
-+ @SuppressWarnings("unchecked")
-+ private void readObject(ObjectInputStream stream) throws IOException,
-+ ClassNotFoundException {
-+ allTypes = (List<JReferenceType>) stream.readObject();
-+ for (JReferenceType type : allTypes) {
-+ type.readMembers(stream);
-+ }
-+ for (JReferenceType type : allTypes) {
-+ type.readMethodBodies(stream);
-+ }
-+ stream.defaultReadObject();
-+ for (JMethod method : entryMethods) {
-+ method.readBody(stream);
-+ }
-+ }
-+
-+ /**
-+ * Serializing the Java AST is a multi-step process to avoid blowing out the
-+ * stack.
-+ *
-+ * <ol>
-+ * <li>Write all declared types in a lightweight manner to establish object
-+ * identity for types</li>
-+ * <li>Write all fields; write all methods in a lightweight manner to
-+ * establish object identity for methods</li>
-+ * <li>Write all method bodies</li>
-+ * <li>Write everything else, which will mostly refer to already-serialized
-+ * objects.</li>
-+ * <li>Write the bodies of the entry methods (unlike all other methods, these
-+ * are not contained by any type.</li>
-+ * </ol>
-+ *
-+ * The goal of this process to to avoid "running away" with the stack. Without
-+ * special logic here, lots of things would reference types, method body code
-+ * would reference both types and other methods, and really, really long
-+ * recursion chains would result.
-+ */
-+ private void writeObject(ObjectOutputStream stream) throws IOException {
-+ stream.writeObject(allTypes);
-+ for (JReferenceType type : allTypes) {
-+ type.writeMembers(stream);
-+ }
-+ for (JReferenceType type : allTypes) {
-+ type.writeMethodBodies(stream);
-+ }
-+ stream.defaultWriteObject();
-+ for (JMethod method : entryMethods) {
-+ method.writeBody(stream);
-+ }
-+ }
- }
-Index: dev/core/src/com/google/gwt/dev/jjs/ast/JReferenceType.java
---- dev/core/src/com/google/gwt/dev/jjs/ast/JReferenceType.java (revision 2145)
-+++ dev/core/src/com/google/gwt/dev/jjs/ast/JReferenceType.java (working copy)
-@@ -17,6 +17,9 @@ package com.google.gwt.dev.jjs.ast;
-
- import com.google.gwt.dev.jjs.SourceInfo;
-
-+import java.io.IOException;
-+import java.io.ObjectInputStream;
-+import java.io.ObjectOutputStream;
- import java.util.ArrayList;
- import java.util.List;
-
-@@ -25,11 +28,20 @@ import java.util.List;
- */
- public abstract class JReferenceType extends JType implements CanBeAbstract {
-
-- public List<JField> fields = new ArrayList<JField>();
-- public List<JMethod> methods = new ArrayList<JMethod>();
- public JClassType extnds;
-+
-+ /**
-+ * Special serialization treatment.
-+ */
-+ public transient List<JField> fields = new ArrayList<JField>();
-+
- public List<JInterfaceType> implments = new ArrayList<JInterfaceType>();
-
-+ /**
-+ * Special serialization treatment.
-+ */
-+ public transient List<JMethod> methods = new ArrayList<JMethod>();
-+
- public JReferenceType(JProgram program, SourceInfo info, String name) {
- super(program, info, name, program.getLiteralNull());
- }
-@@ -53,4 +65,51 @@ public abstract class JReferenceType extends JType implements CanBeAbstract {
- return name.substring(dotpos + 1);
- }
-
-+ /**
-+ * See {@link #writeMembers(ObjectOutputStream)}.
-+ *
-+ * @see #writeMembers(ObjectOutputStream)
-+ */
-+ @SuppressWarnings("unchecked")
-+ void readMembers(ObjectInputStream stream) throws IOException,
-+ ClassNotFoundException {
-+ fields = (List<JField>) stream.readObject();
-+ methods = (List<JMethod>) stream.readObject();
-+ }
-+
-+ /**
-+ * See {@link #writeMethodBodies(ObjectOutputStream).
-+ *
-+ * @see #writeMethodBodies(ObjectOutputStream)
-+ */
-+ void readMethodBodies(ObjectInputStream stream) throws IOException,
-+ ClassNotFoundException {
-+ for (JMethod method : methods) {
-+ method.readBody(stream);
-+ }
-+ }
-+
-+ /**
-+ * After all types are written to the stream without transient members, this
-+ * method actually writes fields and methods to the stream, which establishes
-+ * type identity for them.
-+ *
-+ * @see JProgram#writeObject(ObjectOutputStream)
-+ */
-+ void writeMembers(ObjectOutputStream stream) throws IOException {
-+ stream.writeObject(fields);
-+ stream.writeObject(methods);
-+ }
-+
-+ /**
-+ * After all types, fields, and methods are written to the stream, this method
-+ * writes method bodies to the stream.
-+ *
-+ * @see JProgram#writeObject(ObjectOutputStream)
-+ */
-+ void writeMethodBodies(ObjectOutputStream stream) throws IOException {
-+ for (JMethod method : methods) {
-+ method.writeBody(stream);
-+ }
-+ }
- }
-
More information about the pkg-eucalyptus-commits
mailing list