[pkg-eucalyptus-commits] r219 - in gwt/trunk/debian: . patches
Chris Halls
halls at alioth.debian.org
Wed Jul 4 12:08:23 UTC 2012
Author: halls
Date: 2012-07-04 12:08:23 +0000 (Wed, 04 Jul 2012)
New Revision: 219
Added:
gwt/trunk/debian/README.Debian
gwt/trunk/debian/patches/build-with-jdt35
gwt/trunk/debian/patches/generated-protobuf-class
Modified:
gwt/trunk/debian/ant.properties
gwt/trunk/debian/changelog
gwt/trunk/debian/control
gwt/trunk/debian/orig-tar.sh
gwt/trunk/debian/patches/build-with-jdt37
gwt/trunk/debian/patches/series
gwt/trunk/debian/rules
Log:
Add changes by Brian Thomason
Added: gwt/trunk/debian/README.Debian
===================================================================
--- gwt/trunk/debian/README.Debian (rev 0)
+++ gwt/trunk/debian/README.Debian 2012-07-04 12:08:23 UTC (rev 219)
@@ -0,0 +1,24 @@
+In order to run the test suite, you will need to checkout GWT TOOLS somewhere on your system:
+
+svn checkout http://google-web-toolkit.googlecode.com/svn/tools
+
+You will then need to compile ant-gwt:
+
+cd build-tools/ant-gwt && ant
+
+Lastly, the samples directory was intentionally stripped from the orig.tar.gz
+as it contained binary JAR files. However, these JARs are needed for certain
+test cases. You may download them official GWT build from Google here:
+
+http://code.google.com/webtoolkit/download.html
+
+You are now ready to run the test suites! For the development test suite:
+
+GWT_EXTTOOLS=/path/to/gwt/tools ant -propertyfile debian/ant.properties -DartifactVersion=2.4.0 -f dev/build.xml test
+
+For the runtime test suite (please note, it will take a while):
+
+GWT_EXTTOOLS=/path/to/gwt/tools ant -propertyfile debian/ant.properties -DartifactVersion=2.4.0 -f user/build.xml test
+
+Please note that certain date tests will fail as the format of the string
+output appears to have changed.
Modified: gwt/trunk/debian/ant.properties
===================================================================
--- gwt/trunk/debian/ant.properties 2012-07-04 12:08:19 UTC (rev 218)
+++ gwt/trunk/debian/ant.properties 2012-07-04 12:08:23 UTC (rev 219)
@@ -13,11 +13,11 @@
# Dev
ant.jar = /usr/share/java/ant.jar
-ecj.jar = /usr/share/java/ecj.jar
+#ecj.jar = /usr/share/java/eclipse-ecj.jar
# FIXME: Use wildcards here for jdt
#jdt.jar = /usr/lib/eclipse/plugins/org.eclipse.jdt.core_3.5.*.jar:/usr/lib/eclipse/dropins/jdt/plugins/org.eclipse.jdt.core_3.7.*.jar
#jdt.jar = /usr/lib/eclipse/plugins/org.eclipse.jdt.core_3.5.2.v_981_R35x.jar
-jdt.jar = /usr/lib/eclipse/dropins/jdt/plugins/org.eclipse.jdt.core_3.7.0.dist.jar
+jdt.jar = /usr/lib/eclipse/plugins/org.eclipse.jdt.core_3.7.1.dist.jar
protobuf.jar = /usr/share/java/protobuf-java.jar
commons-logging.jar = /usr/share/java/commons-logging.jar
@@ -28,7 +28,7 @@
# User
icu4j.jar = /usr/share/java/icu4j.jar
-jsilver.jar = /usr/share/java/jsilver.jar
+#jsilver.jar = /usr/share/java/jsilver.jar
flute.jar = /usr/share/java/flute.jar
json-simple.jar = /usr/share/java/json_simple.jar
geronimo-validation.jar = /usr/share/java/geronimo-validation.jar
Modified: gwt/trunk/debian/changelog
===================================================================
--- gwt/trunk/debian/changelog 2012-07-04 12:08:19 UTC (rev 218)
+++ gwt/trunk/debian/changelog 2012-07-04 12:08:23 UTC (rev 219)
@@ -1,5 +1,15 @@
-gwt (2.4.0-1) UNRELEASED; urgency=low
+gwt (2.4.0-0ubuntu1) precise; urgency=low
+ [ Brian Thomason ]
+ * Minor JDT 3.7 fix
+ * Minor packaging cleanup
+
+ [ Alexandre Rossi ]
+ * Added patch to build against JDT 3.5+
+ * Added patch to use JSON Simple
+ * Added patch to fix guava path
+
+ [ Charles Plessy ]
* New upstream release (Closes: #624205).
* Build-depends on libswt-gtk-3 instead of 3.5 (Closes: #629733).
* Switched to source format 3.0 (quilt) (debian/source/format,
@@ -9,7 +19,7 @@
* Removed XSBC-Original-Maintainer field (debian/control).
* Conforms to Policy 3.9.2 (debian/control, no other changes needed).
- -- Charles Plessy <plessy at debian.org> Wed, 24 Aug 2011 09:26:43 +0900
+ -- Brian Thomason <brian.thomason at eucalyptus.com> Thu, 09 Feb 2012 01:26:50 +0000
gwt (1.6.4-1) unstable; urgency=low
Modified: gwt/trunk/debian/control
===================================================================
--- gwt/trunk/debian/control 2012-07-04 12:08:19 UTC (rev 218)
+++ gwt/trunk/debian/control 2012-07-04 12:08:23 UTC (rev 219)
@@ -1,22 +1,34 @@
Source: gwt
Section: java
Priority: optional
-Maintainer: Debian Eucalyptus Maintainers <pkg-eucalyptus-maintainers at lists.alioth.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Eucalyptus Maintainers <pkg-eucalyptus-maintainers at lists.alioth.debian.org>
DM-Upload-Allowed: yes
-Uploaders: Chris Grzegorczyk <grze at eucalyptus.com>,
- Graziano Obertelli <graziano at eucalyptus.com>, Kyo Lee <kyo.lee at eucalyptus.com>
+Uploaders: Brian Thomason <brian.thomason at eucalyptus.com>
Build-Depends-Indep: default-jdk,
libcommons-collections3-java,
libservlet2.5-java,
- libjetty-java, libjetty-extra-java,
+ libjetty-java,
+ libjetty-extra-java,
libecj-java,
- libswt-gtk-3-java, libswt-gtk-3-java-gcj,
- junit
+ libswt-gtk-3-java,
+ libswt-gtk-3-java-gcj,
+ junit,
eclipse-jdt,
- libguava-java, libhtmlunit-java, libhtmlunit-core-js-java,
- libjetty-java, libprotobuf-java, protobuf-compiler, libcommons-logging-java,
- libgeronimo-validation-1.0-spec-java, libicu4j-java, libjson-simple-java,
- libflute-java, libjsilver-java
+ libguava-java,
+ libhtmlunit-java,
+ libhtmlunit-core-js-java,
+ libjetty-java,
+ libprotobuf-java,
+ protobuf-compiler,
+ libcommons-logging-java,
+ libgeronimo-validation-1.0-spec-java,
+ libicu4j-java,
+ libjson-simple-java,
+ libflute-java,
+ libhibernate-validator-java,
+ libhibernate3-java,
+ libjsilver-java
Build-Depends: ant, ant-contrib, debhelper (>= 5), cdbs (>= 0.4.5.3)
Standards-Version: 3.9.2
Vcs-Svn: svn://svn.debian.org/pkg-eucalyptus/gwt/trunk
@@ -25,8 +37,8 @@
Package: libgwt-user-java
Architecture: all
-Depends: default-jre-headless | java5-runtime-headless, ${misc:Depends}
-Description: Google Web Toolkit (GWT)
+Depends: ${misc:Depends}
+Description: Google Web Toolkit (GWT) runtime libs
Google Web Toolkit (GWT) allows developers to quickly build and maintain
complex JavaScript front-end applications in the Java programming language.
.
@@ -34,8 +46,8 @@
Package: libgwt-dev-java
Architecture: all
-Depends: default-jre-headless | java5-runtime-headless, libgwt-user-java, ${misc:Depends}
-Description: Google Web Toolkit (GWT)
+Depends: ${misc:Depends}
+Description: Google Web Toolkit (GWT) dev libs
Google Web Toolkit (GWT) allows developers to quickly build and maintain
complex JavaScript front-end applications in the Java programming language.
.
Modified: gwt/trunk/debian/orig-tar.sh
===================================================================
--- gwt/trunk/debian/orig-tar.sh 2012-07-04 12:08:19 UTC (rev 218)
+++ gwt/trunk/debian/orig-tar.sh 2012-07-04 12:08:23 UTC (rev 219)
@@ -10,6 +10,12 @@
svn export http://google-web-toolkit.googlecode.com/svn/tags/$2/ $TMP_DIRECTORY/$DIR
svn export http://google-web-toolkit.googlecode.com/svn/tools/lib/apache/tapestry-util-text-4.0.2-src.zip $TMP_DIRECTORY/tapestry-src.zip
unzip $TMP_DIRECTORY/tapestry-src.zip -d $TMP_DIRECTORY/$DIR/user/src
+#remove dirs containing compiled JARs
+cd $TMP_DIRECTORY/$DIR && rm -rf samples\
+ tools/api-checker/reference\
+ eclipse/settings/code-style/gwt-customchecks.jar\
+ dev/core/test/com/google/gwt/dev/resource/impl/testdata\
+ eclipse
cd $TMP_DIRECTORY && tar --create --gzip --file $TAR $DIR
# Move to directory 'tarballs' if available.
Added: gwt/trunk/debian/patches/build-with-jdt35
===================================================================
--- gwt/trunk/debian/patches/build-with-jdt35 (rev 0)
+++ gwt/trunk/debian/patches/build-with-jdt35 2012-07-04 12:08:23 UTC (rev 219)
@@ -0,0 +1,139 @@
+Index: gwt-2.4.0/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
+===================================================================
+--- gwt-2.4.0.orig/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java 2011-04-28 15:57:23.000000000 +0200
++++ gwt-2.4.0/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java 2011-08-30 12:46:52.014143804 +0200
+@@ -410,7 +410,7 @@
+ // Turn off all warnings, saves some memory / speed.
+ options.reportUnusedDeclaredThrownExceptionIncludeDocCommentReference = false;
+ options.reportUnusedDeclaredThrownExceptionExemptExceptionAndThrowable = false;
+- options.warningThreshold = 0;
++ options.suppressWarnings = true;
+ options.inlineJsrBytecode = true;
+ return options;
+ }
+Index: gwt-2.4.0/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java
+===================================================================
+--- gwt-2.4.0.orig/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java 2010-07-29 01:37:27.000000000 +0200
++++ gwt-2.4.0/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java 2011-08-30 12:46:52.014143804 +0200
+@@ -126,7 +126,7 @@
+ break;
+
+ case Binding.TYPE_PARAMETER :
+- ((TypeVariableBinding) type).resolve(environment);
++ ((TypeVariableBinding) type).resolve();
+ break;
+
+ case Binding.GENERIC_TYPE :
+@@ -595,7 +595,7 @@
+ pendingVariable = false;
+ int colon = CharOperation.indexOf(':', typeSignature, i);
+ char[] variableName = CharOperation.subarray(typeSignature, i, colon);
+- variables.add(new TypeVariableBinding(variableName, this, rank++));
++ variables.add(new TypeVariableBinding(variableName, this, rank++, this.environment));
+ }
+ }
+ }
+@@ -793,7 +793,7 @@
+ // NOTE: member types of binary types are resolved when needed
+ public TypeVariableBinding getTypeVariable(char[] variableName) {
+ TypeVariableBinding variable = super.getTypeVariable(variableName);
+- variable.resolve(this.environment);
++ variable.resolve();
+ return variable;
+ }
+ private void initializeTypeVariable(TypeVariableBinding variable, TypeVariableBinding[] existingVariables, SignatureWrapper wrapper, char[][][] missingTypeNames) {
+@@ -932,7 +932,7 @@
+ }
+ }
+ for (int i = method.typeVariables.length; --i >= 0;) {
+- method.typeVariables[i].resolve(this.environment);
++ method.typeVariables[i].resolve();
+ }
+ method.modifiers &= ~ExtraCompilerModifiers.AccUnresolved;
+ return method;
+@@ -981,7 +981,7 @@
+ return this.typeVariables;
+
+ for (int i = this.typeVariables.length; --i >= 0;)
+- this.typeVariables[i].resolve(this.environment);
++ this.typeVariables[i].resolve();
+ this.tagBits &= ~TagBits.HasUnresolvedTypeVariables;
+ return this.typeVariables;
+ }
+Index: gwt-2.4.0/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java
+===================================================================
+--- gwt-2.4.0.orig/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java 2011-01-06 15:20:30.000000000 +0100
++++ gwt-2.4.0/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java 2011-08-30 12:46:52.054141836 +0200
+@@ -736,7 +736,7 @@
+ this.declaringClass.storeAnnotations(this, annotations);
+ }
+ public void setAnnotations(AnnotationBinding[] annotations, AnnotationBinding[][] parameterAnnotations, Object defaultValue) {
+- this.declaringClass.storeAnnotationHolder(this, AnnotationHolder.storeAnnotations(annotations, parameterAnnotations, defaultValue));
++ this.declaringClass.storeAnnotationHolder(this, AnnotationHolder.storeAnnotations(annotations, parameterAnnotations, defaultValue, null));
+ }
+ public void setDefaultValue(Object defaultValue) {
+ MethodBinding originalMethod = this.original();
+@@ -851,7 +851,7 @@
+ */
+ public final char[] signature(ClassFile classFile) {
+ if (signature != null) {
+- if ((this.tagBits & TagBits.ContainsNestedTypesInSignature) != 0) {
++ if ((this.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
+ // we need to record inner classes references
+ boolean isConstructor = isConstructor();
+ TypeBinding[] targetParameters = this.parameters;
+@@ -918,7 +918,7 @@
+ for (int i = 0, count = syntheticArgumentTypes.length; i < count; i++) {
+ ReferenceBinding syntheticArgumentType = syntheticArgumentTypes[i];
+ if (syntheticArgumentType.isNestedType()) {
+- this.tagBits |= TagBits.ContainsNestedTypesInSignature;
++ this.tagBits |= TagBits.ContainsNestedTypeReferences;
+ classFile.recordInnerClasses(syntheticArgumentType);
+ }
+ buffer.append(syntheticArgumentType.signature());
+@@ -935,7 +935,7 @@
+ TypeBinding targetParameter = targetParameters[i];
+ TypeBinding leafTargetParameterType = targetParameter.leafComponentType();
+ if (leafTargetParameterType.isNestedType()) {
+- this.tagBits |= TagBits.ContainsNestedTypesInSignature;
++ this.tagBits |= TagBits.ContainsNestedTypeReferences;
+ classFile.recordInnerClasses(leafTargetParameterType);
+ }
+ buffer.append(targetParameter.signature());
+@@ -952,7 +952,7 @@
+ TypeBinding parameter = parameters[i];
+ TypeBinding leafParameterType = parameter.leafComponentType();
+ if (leafParameterType.isNestedType()) {
+- this.tagBits |= TagBits.ContainsNestedTypesInSignature;
++ this.tagBits |= TagBits.ContainsNestedTypeReferences;
+ classFile.recordInnerClasses(leafParameterType);
+ }
+ buffer.append(parameter.signature());
+@@ -962,7 +962,7 @@
+ if (this.returnType != null) {
+ TypeBinding ret = this.returnType.leafComponentType();
+ if (ret.isNestedType()) {
+- this.tagBits |= TagBits.ContainsNestedTypesInSignature;
++ this.tagBits |= TagBits.ContainsNestedTypeReferences;
+ classFile.recordInnerClasses(ret);
+ }
+ buffer.append(this.returnType.signature());
+Index: gwt-2.4.0/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
+===================================================================
+--- gwt-2.4.0.orig/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java 2009-10-28 17:10:53.000000000 +0100
++++ gwt-2.4.0/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java 2011-08-30 12:46:52.054141836 +0200
+@@ -366,12 +366,12 @@
+ SyntheticMethodBinding accessMethod = null;
+ SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(targetField);
+ if (accessors == null) {
+- accessMethod = new SyntheticMethodBinding(targetField, isReadAccess, this);
++ accessMethod = new SyntheticMethodBinding(targetField, isReadAccess, false, this);
+ this.synthetics[SourceTypeBinding.METHOD_EMUL].put(targetField, accessors = new SyntheticMethodBinding[2]);
+ accessors[isReadAccess ? 0 : 1] = accessMethod;
+ } else {
+ if ((accessMethod = accessors[isReadAccess ? 0 : 1]) == null) {
+- accessMethod = new SyntheticMethodBinding(targetField, isReadAccess, this);
++ accessMethod = new SyntheticMethodBinding(targetField, isReadAccess, false, this);
+ accessors[isReadAccess ? 0 : 1] = accessMethod;
+ }
+ }
Modified: gwt/trunk/debian/patches/build-with-jdt37
===================================================================
--- gwt/trunk/debian/patches/build-with-jdt37 2012-07-04 12:08:19 UTC (rev 218)
+++ gwt/trunk/debian/patches/build-with-jdt37 2012-07-04 12:08:23 UTC (rev 219)
@@ -1,6118 +1,40 @@
-Index: gwt-debian/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
-===================================================================
---- gwt-debian.orig/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java 2011-12-21 11:43:29.249247218 +0100
-+++ gwt-debian/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java 2011-12-21 11:44:39.305246214 +0100
-@@ -410,7 +410,7 @@
- // Turn off all warnings, saves some memory / speed.
- options.reportUnusedDeclaredThrownExceptionIncludeDocCommentReference = false;
- options.reportUnusedDeclaredThrownExceptionExemptExceptionAndThrowable = false;
-- options.warningThreshold = 0;
-+ options.suppressWarnings = true;
- options.inlineJsrBytecode = true;
- return options;
- }
-@@ -440,7 +440,7 @@
-
- if (type != null) {
- if (type instanceof UnresolvedReferenceBinding) {
-- type = BinaryTypeBinding.resolveType(type, lookupEnvironment, true);
-+ type = (ReferenceBinding) BinaryTypeBinding.resolveType(type, lookupEnvironment, true);
- }
- // found it
- return type;
-Index: gwt-debian/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
-===================================================================
---- gwt-debian.orig/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java 2011-12-21 11:43:29.229246303 +0100
-+++ gwt-debian/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java 2011-12-21 11:44:39.325245355 +0100
-@@ -1,12 +1,12 @@
- /*
- * Copyright 2010 Google Inc.
-- *
-+ *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
-- *
-+ *
- * http://www.apache.org/licenses/LICENSE-2.0
-- *
-+ *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-@@ -223,7 +223,7 @@
- * Visit the JDT AST and produce our own AST. By the end of this pass, the
- * produced AST should contain every piece of information we'll ever need
- * about the code. The JDT nodes should never again be referenced after this.
-- *
-+ *
- * NOTE ON JDT FORCED OPTIMIZATIONS - If JDT statically determines that a
- * section of code in unreachable, it won't fully resolve that section of
- * code. This invalid-state code causes us major problems. As a result, we
-@@ -543,7 +543,7 @@
- SourceInfo info = makeSourceInfo(x);
- JType type = typeMap.get(x.resolvedType);
- JExpression expression = pop(x.expression);
-- if (x.type instanceof NameReference) {
-+ if ((Expression)x.type instanceof NameReference) {
- pop(x.type);
- }
- push(new JCastOperation(info, type, expression));
-@@ -1917,7 +1917,7 @@
- * inherits that implements an interface method but that has a different
- * erased signature from the interface method.
- * </p>
-- *
-+ *
- * <p>
- * The need for these bridges was pointed out in issue 3064. The goal is
- * that virtual method calls through an interface type are translated to
-@@ -1932,7 +1932,7 @@
- * case, a bridge method should be added that overrides the interface method
- * and then calls the implementation method.
- * </p>
-- *
-+ *
- * <p>
- * This method should only be called once all regular, non-bridge methods
- * have been installed on the GWT types.
-@@ -2521,7 +2521,7 @@
- * primitive with a modified prototype. This requires funky handling of
- * constructor calls. We find a method named _String() whose signature
- * matches the requested constructor
-- *
-+ *
- * TODO(scottb): consider moving this to a later pass.
- */
- MethodBinding staticBinding =
-@@ -2649,7 +2649,7 @@
- /*
- * Make an inner class to hold a lazy-init name-value map. We use a
- * class to take advantage of its clinit.
-- *
-+ *
- * class Map { $MAP = Enum.createValueOfMap($VALUES); }
- */
- SourceInfo info = type.getSourceInfo();
-@@ -2751,7 +2751,7 @@
-
- /**
- * Manually tracked version count.
-- *
-+ *
- * TODO(zundel): something much more awesome?
- */
- private static final long AST_VERSION = 1;
-Index: gwt-debian/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java
-===================================================================
---- gwt-debian.orig/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java 2011-12-21 11:43:29.189246230 +0100
-+++ gwt-debian/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java 2011-12-21 11:44:39.313245223 +0100
-@@ -1,5 +1,5 @@
- /*******************************************************************************
-- * Copyright (c) 2000, 2008 IBM Corporation and others.
-+ * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
-@@ -51,19 +51,14 @@
- if (binaryValue == null) return null;
- if (binaryValue instanceof Constant)
- return binaryValue;
-- if (binaryValue instanceof ClassSignature) {
-- TypeBinding typeFromSignature = env.getTypeFromSignature(((ClassSignature) binaryValue).getTypeName(), 0, -1, false, null, missingTypeNames);
-- if (typeFromSignature.isBaseType()) {
-- return typeFromSignature;
-- }
-- return resolveType((ReferenceBinding) typeFromSignature, env, false);
-- }
-+ if (binaryValue instanceof ClassSignature)
-+ return env.getTypeFromSignature(((ClassSignature) binaryValue).getTypeName(), 0, -1, false, null, missingTypeNames);
- if (binaryValue instanceof IBinaryAnnotation)
- return createAnnotation((IBinaryAnnotation) binaryValue, env, missingTypeNames);
- if (binaryValue instanceof EnumConstantSignature) {
- EnumConstantSignature ref = (EnumConstantSignature) binaryValue;
- ReferenceBinding enumType = (ReferenceBinding) env.getTypeFromSignature(ref.getTypeName(), 0, -1, false, null, missingTypeNames);
-- enumType = resolveType(enumType, env, false);
-+ enumType = (ReferenceBinding) resolveType(enumType, env, false /* no raw conversion */);
- return enumType.getField(ref.getEnumConstantName(), false);
- }
- if (binaryValue instanceof Object[]) {
-@@ -79,6 +74,7 @@
- // should never reach here.
- throw new IllegalStateException();
- }
-+
- static AnnotationBinding createAnnotation(IBinaryAnnotation annotationInfo, LookupEnvironment env, char[][][] missingTypeNames) {
- IBinaryElementValuePair[] binaryPairs = annotationInfo.getElementValuePairs();
- int length = binaryPairs == null ? 0 : binaryPairs.length;
-@@ -90,6 +86,7 @@
- ReferenceBinding annotationType = env.getTypeFromConstantPoolName(typeName, 1, typeName.length - 1, false, missingTypeNames);
- return new UnresolvedAnnotationBinding(annotationType, pairs, env);
- }
-+
- public static AnnotationBinding[] createAnnotations(IBinaryAnnotation[] annotationInfos, LookupEnvironment env, char[][][] missingTypeNames) {
- int length = annotationInfos == null ? 0 : annotationInfos.length;
- AnnotationBinding[] result = length == 0 ? Binding.NO_ANNOTATIONS : new AnnotationBinding[length];
-@@ -97,46 +94,36 @@
- result[i] = createAnnotation(annotationInfos[i], env, missingTypeNames);
- return result;
- }
--public static ReferenceBinding resolveType(ReferenceBinding type, LookupEnvironment environment, boolean convertGenericToRawType) {
-- if (type instanceof UnresolvedReferenceBinding)
-- return ((UnresolvedReferenceBinding) type).resolve(environment, convertGenericToRawType);
-- switch (type.kind()) {
-- case Binding.PARAMETERIZED_TYPE :
-- return ((ParameterizedTypeBinding) type).resolve();
-- case Binding.WILDCARD_TYPE :
-- case Binding.INTERSECTION_TYPE :
-- return ((WildcardBinding) type).resolve();
-- }
-- if (convertGenericToRawType) // raw reference to generic ?
-- return (ReferenceBinding) environment.convertUnresolvedBinaryToRawType(type);
-- return type;
--}
--public static TypeBinding resolveType(TypeBinding type, LookupEnvironment environment, ParameterizedTypeBinding parameterizedType, int rank) {
-+
-+public static TypeBinding resolveType(TypeBinding type, LookupEnvironment environment, boolean convertGenericToRawType) {
- switch (type.kind()) {
--
- case Binding.PARAMETERIZED_TYPE :
-- return ((ParameterizedTypeBinding) type).resolve();
--
-+ ((ParameterizedTypeBinding) type).resolve();
-+ break;
-+
- case Binding.WILDCARD_TYPE :
- case Binding.INTERSECTION_TYPE :
- return ((WildcardBinding) type).resolve();
--
-+
- case Binding.ARRAY_TYPE :
-- resolveType(((ArrayBinding) type).leafComponentType, environment, parameterizedType, rank);
-+ resolveType(((ArrayBinding) type).leafComponentType, environment, convertGenericToRawType);
- break;
--
-+
- case Binding.TYPE_PARAMETER :
-- ((TypeVariableBinding) type).resolve(environment);
-+ ((TypeVariableBinding) type).resolve();
- break;
--
-+
- case Binding.GENERIC_TYPE :
-- if (parameterizedType == null) // raw reference to generic ?
-+ if (convertGenericToRawType) // raw reference to generic ?
- return environment.convertUnresolvedBinaryToRawType(type);
- break;
--
-- default:
-+
-+ default:
- if (type instanceof UnresolvedReferenceBinding)
-- return ((UnresolvedReferenceBinding) type).resolve(environment, parameterizedType == null);
-+ return ((UnresolvedReferenceBinding) type).resolve(environment, convertGenericToRawType);
-+ if (convertGenericToRawType) // raw reference to generic ?
-+ return environment.convertUnresolvedBinaryToRawType(type);
-+ break;
- }
- return type;
- }
-@@ -173,7 +160,7 @@
-
- if ((binaryType.getTagBits() & TagBits.HierarchyHasProblems) != 0)
- this.tagBits |= TagBits.HierarchyHasProblems;
--
-+
- if (binaryType.isAnonymous()) {
- this.tagBits |= TagBits.AnonymousTypeMask;
- } else if (binaryType.isLocal()) {
-@@ -188,11 +175,11 @@
- this.enclosingType = environment.getTypeFromConstantPoolName(enclosingTypeName, 0, -1, true, null /* could not be missing */); // pretend parameterized to avoid raw
- this.tagBits |= TagBits.MemberTypeMask; // must be a member type not a top-level or local type
- this.tagBits |= TagBits.HasUnresolvedEnclosingType;
-- if (this.enclosingType().isStrictfp())
-+ if (enclosingType().isStrictfp())
- this.modifiers |= ClassFileConstants.AccStrictfp;
-- if (this.enclosingType().isDeprecated())
-+ if (enclosingType().isDeprecated())
- this.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-- }
-+ }
- }
-
- /**
-@@ -200,7 +187,7 @@
- */
- public FieldBinding[] availableFields() {
- if ((this.tagBits & TagBits.AreFieldsComplete) != 0)
-- return fields;
-+ return this.fields;
-
- // lazily sort fields
- if ((this.tagBits & TagBits.AreFieldsSorted) == 0) {
-@@ -209,11 +196,11 @@
- ReferenceBinding.sortFields(this.fields, 0, length);
- this.tagBits |= TagBits.AreFieldsSorted;
- }
-- FieldBinding[] availableFields = new FieldBinding[fields.length];
-+ FieldBinding[] availableFields = new FieldBinding[this.fields.length];
- int count = 0;
-- for (int i = 0; i < fields.length; i++) {
-+ for (int i = 0; i < this.fields.length; i++) {
- try {
-- availableFields[count] = resolveTypeFor(fields[i]);
-+ availableFields[count] = resolveTypeFor(this.fields[i]);
- count++;
- } catch (AbortCompilation a){
- // silent abort
-@@ -229,7 +216,7 @@
- */
- public MethodBinding[] availableMethods() {
- if ((this.tagBits & TagBits.AreMethodsComplete) != 0)
-- return methods;
-+ return this.methods;
-
- // lazily sort methods
- if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-@@ -238,11 +225,11 @@
- ReferenceBinding.sortMethods(this.methods, 0, length);
- this.tagBits |= TagBits.AreMethodsSorted;
- }
-- MethodBinding[] availableMethods = new MethodBinding[methods.length];
-+ MethodBinding[] availableMethods = new MethodBinding[this.methods.length];
- int count = 0;
-- for (int i = 0; i < methods.length; i++) {
-+ for (int i = 0; i < this.methods.length; i++) {
- try {
-- availableMethods[count] = resolveTypesFor(methods[i]);
-+ availableMethods[count] = resolveTypesFor(this.methods[i]);
- count++;
- } catch (AbortCompilation a){
- // silent abort
-@@ -252,93 +239,120 @@
- System.arraycopy(availableMethods, 0, availableMethods = new MethodBinding[count], 0, count);
- return availableMethods;
- }
-+
- void cachePartsFrom(IBinaryType binaryType, boolean needFieldsAndMethods) {
-- // default initialization for super-interfaces early, in case some aborting compilation error occurs,
-- // and still want to use binaries passed that point (e.g. type hierarchy resolver, see bug 63748).
-- this.typeVariables = Binding.NO_TYPE_VARIABLES;
-- this.superInterfaces = Binding.NO_SUPERINTERFACES;
--
-- // must retrieve member types in case superclass/interfaces need them
-- this.memberTypes = Binding.NO_MEMBER_TYPES;
-- IBinaryNestedType[] memberTypeStructures = binaryType.getMemberTypes();
-- if (memberTypeStructures != null) {
-- int size = memberTypeStructures.length;
-- if (size > 0) {
-- this.memberTypes = new ReferenceBinding[size];
-- for (int i = 0; i < size; i++)
-- // attempt to find each member type if it exists in the cache (otherwise - resolve it when requested)
-- this.memberTypes[i] = environment.getTypeFromConstantPoolName(memberTypeStructures[i].getName(), 0, -1, false, null /* could not be missing */);
-- this.tagBits |= TagBits.HasUnresolvedMemberTypes;
-+ try {
-+ // default initialization for super-interfaces early, in case some aborting compilation error occurs,
-+ // and still want to use binaries passed that point (e.g. type hierarchy resolver, see bug 63748).
-+ this.typeVariables = Binding.NO_TYPE_VARIABLES;
-+ this.superInterfaces = Binding.NO_SUPERINTERFACES;
-+
-+ // must retrieve member types in case superclass/interfaces need them
-+ this.memberTypes = Binding.NO_MEMBER_TYPES;
-+ IBinaryNestedType[] memberTypeStructures = binaryType.getMemberTypes();
-+ if (memberTypeStructures != null) {
-+ int size = memberTypeStructures.length;
-+ if (size > 0) {
-+ this.memberTypes = new ReferenceBinding[size];
-+ for (int i = 0; i < size; i++)
-+ // attempt to find each member type if it exists in the cache (otherwise - resolve it when requested)
-+ this.memberTypes[i] = this.environment.getTypeFromConstantPoolName(memberTypeStructures[i].getName(), 0, -1, false, null /* could not be missing */);
-+ this.tagBits |= TagBits.HasUnresolvedMemberTypes;
-+ }
- }
-- }
-
--
-- long sourceLevel = environment.globalOptions.sourceLevel;
-- char[] typeSignature = null;
-- if (sourceLevel >= ClassFileConstants.JDK1_5) {
-- typeSignature = binaryType.getGenericSignature();
-- this.tagBits |= binaryType.getTagBits();
-- }
-- char[][][] missingTypeNames = binaryType.getMissingTypeNames();
-- if (typeSignature == null) {
-- char[] superclassName = binaryType.getSuperclassName();
-- if (superclassName != null) {
-+ long sourceLevel = this.environment.globalOptions.sourceLevel;
-+ char[] typeSignature = null;
-+ if (sourceLevel >= ClassFileConstants.JDK1_5) {
-+ typeSignature = binaryType.getGenericSignature();
-+ this.tagBits |= binaryType.getTagBits();
-+ }
-+ char[][][] missingTypeNames = binaryType.getMissingTypeNames();
-+ if (typeSignature == null) {
-+ char[] superclassName = binaryType.getSuperclassName();
-+ if (superclassName != null) {
-+ // attempt to find the superclass if it exists in the cache (otherwise - resolve it when requested)
-+ this.superclass = this.environment.getTypeFromConstantPoolName(superclassName, 0, -1, false, missingTypeNames);
-+ this.tagBits |= TagBits.HasUnresolvedSuperclass;
-+ }
-+
-+ this.superInterfaces = Binding.NO_SUPERINTERFACES;
-+ char[][] interfaceNames = binaryType.getInterfaceNames();
-+ if (interfaceNames != null) {
-+ int size = interfaceNames.length;
-+ if (size > 0) {
-+ this.superInterfaces = new ReferenceBinding[size];
-+ for (int i = 0; i < size; i++)
-+ // attempt to find each superinterface if it exists in the cache (otherwise - resolve it when requested)
-+ this.superInterfaces[i] = this.environment.getTypeFromConstantPoolName(interfaceNames[i], 0, -1, false, missingTypeNames);
-+ this.tagBits |= TagBits.HasUnresolvedSuperinterfaces;
-+ }
-+ }
-+ } else {
-+ // ClassSignature = ParameterPart(optional) super_TypeSignature interface_signature
-+ SignatureWrapper wrapper = new SignatureWrapper(typeSignature);
-+ if (wrapper.signature[wrapper.start] == '<') {
-+ // ParameterPart = '<' ParameterSignature(s) '>'
-+ wrapper.start++; // skip '<'
-+ this.typeVariables = createTypeVariables(wrapper, true, missingTypeNames);
-+ wrapper.start++; // skip '>'
-+ this.tagBits |= TagBits.HasUnresolvedTypeVariables;
-+ this.modifiers |= ExtraCompilerModifiers.AccGenericSignature;
-+ }
-+ TypeVariableBinding[] typeVars = Binding.NO_TYPE_VARIABLES;
-+ char[] methodDescriptor = binaryType.getEnclosingMethod();
-+ if (methodDescriptor != null) {
-+ MethodBinding enclosingMethod = findMethod(methodDescriptor, missingTypeNames);
-+ typeVars = enclosingMethod.typeVariables;
-+ }
-+
- // attempt to find the superclass if it exists in the cache (otherwise - resolve it when requested)
-- this.superclass = environment.getTypeFromConstantPoolName(superclassName, 0, -1, false, missingTypeNames);
-+ this.superclass = (ReferenceBinding) this.environment.getTypeFromTypeSignature(wrapper, typeVars, this, missingTypeNames);
- this.tagBits |= TagBits.HasUnresolvedSuperclass;
-- }
-
-- this.superInterfaces = Binding.NO_SUPERINTERFACES;
-- char[][] interfaceNames = binaryType.getInterfaceNames();
-- if (interfaceNames != null) {
-- int size = interfaceNames.length;
-- if (size > 0) {
-- this.superInterfaces = new ReferenceBinding[size];
-- for (int i = 0; i < size; i++)
-- // attempt to find each superinterface if it exists in the cache (otherwise - resolve it when requested)
-- this.superInterfaces[i] = environment.getTypeFromConstantPoolName(interfaceNames[i], 0, -1, false, missingTypeNames);
-+ this.superInterfaces = Binding.NO_SUPERINTERFACES;
-+ if (!wrapper.atEnd()) {
-+ // attempt to find each superinterface if it exists in the cache (otherwise - resolve it when requested)
-+ java.util.ArrayList types = new java.util.ArrayList(2);
-+ do {
-+ types.add(this.environment.getTypeFromTypeSignature(wrapper, typeVars, this, missingTypeNames));
-+ } while (!wrapper.atEnd());
-+ this.superInterfaces = new ReferenceBinding[types.size()];
-+ types.toArray(this.superInterfaces);
- this.tagBits |= TagBits.HasUnresolvedSuperinterfaces;
- }
- }
-- } else {
-- // ClassSignature = ParameterPart(optional) super_TypeSignature interface_signature
-- SignatureWrapper wrapper = new SignatureWrapper(typeSignature);
-- if (wrapper.signature[wrapper.start] == '<') {
-- // ParameterPart = '<' ParameterSignature(s) '>'
-- wrapper.start++; // skip '<'
-- this.typeVariables = createTypeVariables(wrapper, true, missingTypeNames);
-- wrapper.start++; // skip '>'
-- this.tagBits |= TagBits.HasUnresolvedTypeVariables;
-- this.modifiers |= ExtraCompilerModifiers.AccGenericSignature;
-- }
-
-- // attempt to find the superclass if it exists in the cache (otherwise - resolve it when requested)
-- this.superclass = (ReferenceBinding) environment.getTypeFromTypeSignature(wrapper, Binding.NO_TYPE_VARIABLES, this, missingTypeNames);
-- this.tagBits |= TagBits.HasUnresolvedSuperclass;
--
-- this.superInterfaces = Binding.NO_SUPERINTERFACES;
-- if (!wrapper.atEnd()) {
-- // attempt to find each superinterface if it exists in the cache (otherwise - resolve it when requested)
-- java.util.ArrayList types = new java.util.ArrayList(2);
-- do {
-- types.add(environment.getTypeFromTypeSignature(wrapper, Binding.NO_TYPE_VARIABLES, this, missingTypeNames));
-- } while (!wrapper.atEnd());
-- this.superInterfaces = new ReferenceBinding[types.size()];
-- types.toArray(this.superInterfaces);
-- this.tagBits |= TagBits.HasUnresolvedSuperinterfaces;
-+ if (needFieldsAndMethods) {
-+ createFields(binaryType.getFields(), sourceLevel, missingTypeNames);
-+ createMethods(binaryType.getMethods(), sourceLevel, missingTypeNames);
-+ boolean isViewedAsDeprecated = isViewedAsDeprecated();
-+ if (isViewedAsDeprecated) {
-+ for (int i = 0, max = this.fields.length; i < max; i++) {
-+ FieldBinding field = this.fields[i];
-+ if (!field.isDeprecated()) {
-+ field.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-+ }
-+ }
-+ for (int i = 0, max = this.methods.length; i < max; i++) {
-+ MethodBinding method = this.methods[i];
-+ if (!method.isDeprecated()) {
-+ method.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-+ }
-+ }
-+ }
- }
-+ if (this.environment.globalOptions.storeAnnotations)
-+ setAnnotations(createAnnotations(binaryType.getAnnotations(), this.environment, missingTypeNames));
-+ } finally {
-+ // protect against incorrect use of the needFieldsAndMethods flag, see 48459
-+ if (this.fields == null)
-+ this.fields = Binding.NO_FIELDS;
-+ if (this.methods == null)
-+ this.methods = Binding.NO_METHODS;
- }
--
-- if (needFieldsAndMethods) {
-- createFields(binaryType.getFields(), sourceLevel, missingTypeNames);
-- createMethods(binaryType.getMethods(), sourceLevel, missingTypeNames);
-- } else { // protect against incorrect use of the needFieldsAndMethods flag, see 48459
-- this.fields = Binding.NO_FIELDS;
-- this.methods = Binding.NO_METHODS;
-- }
-- if (this.environment.globalOptions.storeAnnotations)
-- setAnnotations(createAnnotations(binaryType.getAnnotations(), this.environment, missingTypeNames));
- }
-+
- private void createFields(IBinaryField[] iFields, long sourceLevel, char[][][] missingTypeNames) {
- this.fields = Binding.NO_FIELDS;
- if (iFields != null) {
-@@ -346,32 +360,29 @@
- if (size > 0) {
- this.fields = new FieldBinding[size];
- boolean use15specifics = sourceLevel >= ClassFileConstants.JDK1_5;
-- boolean isViewedAsDeprecated = isViewedAsDeprecated();
- boolean hasRestrictedAccess = hasRestrictedAccess();
- int firstAnnotatedFieldIndex = -1;
- for (int i = 0; i < size; i++) {
- IBinaryField binaryField = iFields[i];
- char[] fieldSignature = use15specifics ? binaryField.getGenericSignature() : null;
-- TypeBinding type = fieldSignature == null
-- ? environment.getTypeFromSignature(binaryField.getTypeName(), 0, -1, false, this, missingTypeNames)
-- : environment.getTypeFromTypeSignature(new SignatureWrapper(fieldSignature), Binding.NO_TYPE_VARIABLES, this, missingTypeNames);
-- FieldBinding field =
-+ TypeBinding type = fieldSignature == null
-+ ? this.environment.getTypeFromSignature(binaryField.getTypeName(), 0, -1, false, this, missingTypeNames)
-+ : this.environment.getTypeFromTypeSignature(new SignatureWrapper(fieldSignature), Binding.NO_TYPE_VARIABLES, this, missingTypeNames);
-+ FieldBinding field =
- new FieldBinding(
-- binaryField.getName(),
-- type,
-- binaryField.getModifiers() | ExtraCompilerModifiers.AccUnresolved,
-- this,
-+ binaryField.getName(),
-+ type,
-+ binaryField.getModifiers() | ExtraCompilerModifiers.AccUnresolved,
-+ this,
- binaryField.getConstant());
- if (firstAnnotatedFieldIndex < 0
-- && this.environment.globalOptions.storeAnnotations
-+ && this.environment.globalOptions.storeAnnotations
- && binaryField.getAnnotations() != null) {
- firstAnnotatedFieldIndex = i;
- }
- field.id = i; // ordinal
- if (use15specifics)
- field.tagBits |= binaryField.getTagBits();
-- if (isViewedAsDeprecated && !field.isDeprecated())
-- field.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
- if (hasRestrictedAccess)
- field.modifiers |= ExtraCompilerModifiers.AccRestrictedAccess;
- if (fieldSignature != null)
-@@ -388,6 +399,7 @@
- }
- }
- }
-+
- private MethodBinding createMethod(IBinaryMethod method, long sourceLevel, char[][][] missingTypeNames) {
- int methodModifiers = method.getModifiers() | ExtraCompilerModifiers.AccUnresolved;
- if (sourceLevel < ClassFileConstants.JDK1_5)
-@@ -395,7 +407,7 @@
- ReferenceBinding[] exceptions = Binding.NO_EXCEPTIONS;
- TypeBinding[] parameters = Binding.NO_PARAMETERS;
- TypeVariableBinding[] typeVars = Binding.NO_TYPE_VARIABLES;
-- AnnotationBinding[][] paramAnnotations = null;
-+ AnnotationBinding[][] paramAnnotations = null;
- TypeBinding returnType = null;
-
- final boolean use15specifics = sourceLevel >= ClassFileConstants.JDK1_5;
-@@ -404,7 +416,7 @@
- char[] methodDescriptor = method.getMethodDescriptor(); // of the form (I[Ljava/jang/String;)V
- int numOfParams = 0;
- char nextChar;
-- int index = 0; // first character is always '(' so skip it
-+ int index = 0; // first character is always '(' so skip it
- while ((nextChar = methodDescriptor[++index]) != ')') {
- if (nextChar != '[') {
- numOfParams++;
-@@ -413,8 +425,18 @@
- }
- }
-
-- // Ignore synthetic argument for member types.
-- int startIndex = (method.isConstructor() && isMemberType() && !isStatic()) ? 1 : 0;
-+ // Ignore synthetic argument for member types or enum types.
-+ int startIndex = 0;
-+ if (method.isConstructor()) {
-+ if (isMemberType() && !isStatic()) {
-+ // enclosing type
-+ startIndex++;
-+ }
-+ if (isEnum()) {
-+ // synthetic arguments (String, int)
-+ startIndex += 2;
-+ }
-+ }
- int size = numOfParams - startIndex;
- if (size > 0) {
- parameters = new TypeBinding[size];
-@@ -428,11 +450,11 @@
- while ((nextChar = methodDescriptor[++end]) != ';'){/*empty*/}
-
- if (i >= startIndex) { // skip the synthetic arg if necessary
-- parameters[i - startIndex] = environment.getTypeFromSignature(methodDescriptor, index, end, false, this, missingTypeNames);
-+ parameters[i - startIndex] = this.environment.getTypeFromSignature(methodDescriptor, index, end, false, this, missingTypeNames);
- // 'paramAnnotations' line up with 'parameters'
- // int parameter to method.getParameterAnnotations() include the synthetic arg
- if (paramAnnotations != null)
-- paramAnnotations[i - startIndex] = createAnnotations(method.getParameterAnnotations(i), this.environment, missingTypeNames);
-+ paramAnnotations[i - startIndex] = createAnnotations(method.getParameterAnnotations(i - startIndex), this.environment, missingTypeNames);
- }
- index = end + 1;
- }
-@@ -444,12 +466,12 @@
- if (size > 0) {
- exceptions = new ReferenceBinding[size];
- for (int i = 0; i < size; i++)
-- exceptions[i] = environment.getTypeFromConstantPoolName(exceptionTypes[i], 0, -1, false, missingTypeNames);
-+ exceptions[i] = this.environment.getTypeFromConstantPoolName(exceptionTypes[i], 0, -1, false, missingTypeNames);
- }
- }
-
- if (!method.isConstructor())
-- returnType = environment.getTypeFromSignature(methodDescriptor, index + 1, -1, false, this, missingTypeNames); // index is currently pointing at the ')'
-+ returnType = this.environment.getTypeFromSignature(methodDescriptor, index + 1, -1, false, this, missingTypeNames); // index is currently pointing at the ')'
- } else {
- methodModifiers |= ExtraCompilerModifiers.AccGenericSignature;
- // MethodTypeSignature = ParameterPart(optional) '(' TypeSignatures ')' return_typeSignature ['^' TypeSignature (optional)]
-@@ -469,7 +491,7 @@
- } else {
- java.util.ArrayList types = new java.util.ArrayList(2);
- while (wrapper.signature[wrapper.start] != ')')
-- types.add(environment.getTypeFromTypeSignature(wrapper, typeVars, this, missingTypeNames));
-+ types.add(this.environment.getTypeFromTypeSignature(wrapper, typeVars, this, missingTypeNames));
- wrapper.start++; // skip ')'
- int numParam = types.size();
- parameters = new TypeBinding[numParam];
-@@ -483,14 +505,14 @@
- }
-
- // always retrieve return type (for constructors, its V for void - will be ignored)
-- returnType = environment.getTypeFromTypeSignature(wrapper, typeVars, this, missingTypeNames);
-+ returnType = this.environment.getTypeFromTypeSignature(wrapper, typeVars, this, missingTypeNames);
-
- if (!wrapper.atEnd() && wrapper.signature[wrapper.start] == '^') {
- // attempt to find each exception if it exists in the cache (otherwise - resolve it when requested)
- java.util.ArrayList types = new java.util.ArrayList(2);
- do {
- wrapper.start++; // skip '^'
-- types.add(environment.getTypeFromTypeSignature(wrapper, typeVars, this, missingTypeNames));
-+ types.add(this.environment.getTypeFromTypeSignature(wrapper, typeVars, this, missingTypeNames));
- } while (!wrapper.atEnd() && wrapper.signature[wrapper.start] == '^');
- exceptions = new ReferenceBinding[types.size()];
- types.toArray(exceptions);
-@@ -501,7 +523,7 @@
- if (size > 0) {
- exceptions = new ReferenceBinding[size];
- for (int i = 0; i < size; i++)
-- exceptions[i] = environment.getTypeFromConstantPoolName(exceptionTypes[i], 0, -1, false, missingTypeNames);
-+ exceptions[i] = this.environment.getTypeFromConstantPoolName(exceptionTypes[i], 0, -1, false, missingTypeNames);
- }
- }
- }
-@@ -514,7 +536,8 @@
- result.setAnnotations(
- createAnnotations(method.getAnnotations(), this.environment, missingTypeNames),
- paramAnnotations,
-- isAnnotationType() ? convertMemberValue(method.getDefaultValue(), this.environment, missingTypeNames) : null);
-+ isAnnotationType() ? convertMemberValue(method.getDefaultValue(), this.environment, missingTypeNames) : null,
-+ this.environment);
-
- if (use15specifics)
- result.tagBits |= method.getTagBits();
-@@ -524,18 +547,20 @@
- typeVars[i].declaringElement = result;
- return result;
- }
-+
- /**
- * Create method bindings for binary type, filtering out <clinit> and synthetics
- */
--private void createMethods(IBinaryMethod[] iMethods, long sourceLevel, char[][][] missingTypeNames) {
-+private void createMethods(IBinaryMethod[] iMethods, long sourceLevel, char[][][] missingTypeNames) {
- if (iMethods == null) {
- this.methods = this.bridgeMethods = Binding.NO_METHODS;
- return;
-- }
-+ }
-+
- ArrayList<MethodBinding> methodBindings = new ArrayList<MethodBinding>(iMethods.length);
- ArrayList<MethodBinding> bridgeBindings = new ArrayList<MethodBinding>(iMethods.length);
- boolean isViewedAsDeprecated = isViewedAsDeprecated();
-- boolean hasRestrictedAccess = hasRestrictedAccess();
-+ boolean hasRestrictedAccess = hasRestrictedAccess();
- boolean discardedClinit = false;
-
- for (int i = 0; i < iMethods.length; ++i) {
-@@ -568,6 +593,7 @@
- this.methods = methodBindings.size() == 0 ? Binding.NO_METHODS : methodBindings.toArray(new MethodBinding[methodBindings.size()]);
- this.bridgeMethods = bridgeBindings.size() == 0 ? Binding.NO_METHODS : bridgeBindings.toArray(new MethodBinding[bridgeBindings.size()]);
- }
-+
- private TypeVariableBinding[] createTypeVariables(SignatureWrapper wrapper, boolean assignVariables, char[][][] missingTypeNames) {
- // detect all type variables first
- char[] typeSignature = wrapper.signature;
-@@ -579,10 +605,10 @@
- createVariables: {
- for (int i = 1; i < length; i++) {
- switch(typeSignature[i]) {
-- case '<' :
-+ case '<' :
- depth++;
- break;
-- case '>' :
-+ case '>' :
- if (--depth < 0)
- break createVariables;
- break;
-@@ -595,7 +621,7 @@
- pendingVariable = false;
- int colon = CharOperation.indexOf(':', typeSignature, i);
- char[] variableName = CharOperation.subarray(typeSignature, i, colon);
-- variables.add(new TypeVariableBinding(variableName, this, rank++));
-+ variables.add(new TypeVariableBinding(variableName, this, rank++, this.environment));
- }
- }
- }
-@@ -612,6 +638,7 @@
- }
- return result;
- }
-+
- /* Answer the receiver's enclosing type... null if the receiver is a top level type.
- *
- * NOTE: enclosingType of a binary type is resolved when needed
-@@ -621,14 +648,14 @@
- return this.enclosingType;
-
- // finish resolving the type
-- this.enclosingType = resolveType(this.enclosingType, this.environment, false);
-+ this.enclosingType = (ReferenceBinding) resolveType(this.enclosingType, this.environment, false /* no raw conversion */);
- this.tagBits &= ~TagBits.HasUnresolvedEnclosingType;
- return this.enclosingType;
- }
- // NOTE: the type of each field of a binary type is resolved when needed
- public FieldBinding[] fields() {
- if ((this.tagBits & TagBits.AreFieldsComplete) != 0)
-- return fields;
-+ return this.fields;
-
- // lazily sort fields
- if ((this.tagBits & TagBits.AreFieldsSorted) == 0) {
-@@ -637,17 +664,59 @@
- ReferenceBinding.sortFields(this.fields, 0, length);
- this.tagBits |= TagBits.AreFieldsSorted;
- }
-- for (int i = fields.length; --i >= 0;)
-- resolveTypeFor(fields[i]);
-+ for (int i = this.fields.length; --i >= 0;)
-+ resolveTypeFor(this.fields[i]);
- this.tagBits |= TagBits.AreFieldsComplete;
-- return fields;
-+ return this.fields;
-+}
-+
-+private MethodBinding findMethod(char[] methodDescriptor, char[][][] missingTypeNames) {
-+ int index = -1;
-+ while (methodDescriptor[++index] != '(') {
-+ // empty
-+ }
-+ char[] selector = new char[index];
-+ System.arraycopy(methodDescriptor, 0, selector, 0, index);
-+ TypeBinding[] parameters = Binding.NO_PARAMETERS;
-+ int numOfParams = 0;
-+ char nextChar;
-+ while ((nextChar = methodDescriptor[++index]) != ')') {
-+ if (nextChar != '[') {
-+ numOfParams++;
-+ if (nextChar == 'L')
-+ while ((nextChar = methodDescriptor[++index]) != ';'){/*empty*/}
-+ }
-+ }
-+
-+ int startIndex = 0;
-+ if (numOfParams > 0) {
-+ parameters = new TypeBinding[numOfParams];
-+ index = 1;
-+ int end = 0; // first character is always '(' so skip it
-+ for (int i = 0; i < numOfParams; i++) {
-+ while ((nextChar = methodDescriptor[++end]) == '['){/*empty*/}
-+ if (nextChar == 'L')
-+ while ((nextChar = methodDescriptor[++end]) != ';'){/*empty*/}
-+
-+ if (i >= startIndex) { // skip the synthetic arg if necessary
-+ parameters[i - startIndex] = this.environment.getTypeFromSignature(methodDescriptor, index, end, false, this, missingTypeNames);
-+ }
-+ index = end + 1;
-+ }
-+ }
-+
-+ return CharOperation.equals(selector, TypeConstants.INIT)
-+ ? this.enclosingType.getExactConstructor(parameters)
-+ : this.enclosingType.getExactMethod(selector, parameters, null);
- }
-+
- /**
- * @see org.eclipse.jdt.internal.compiler.lookup.TypeBinding#genericTypeSignature()
- */
- public char[] genericTypeSignature() {
- return computeGenericTypeSignature(this.typeVariables);
- }
-+
- //NOTE: the return type, arg & exception types of each method of a binary type are resolved when needed
- public MethodBinding getExactConstructor(TypeBinding[] argumentTypes) {
-
-@@ -661,8 +730,8 @@
- int argCount = argumentTypes.length;
- long range;
- if ((range = ReferenceBinding.binarySearch(TypeConstants.INIT, this.methods)) >= 0) {
-- nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-- MethodBinding method = methods[imethod];
-+ nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-+ MethodBinding method = this.methods[imethod];
- if (method.parameters.length == argCount) {
- resolveTypesFor(method);
- TypeBinding[] toMatch = method.parameters;
-@@ -671,7 +740,7 @@
- continue nextMethod;
- return method;
- }
-- }
-+ }
- }
- return null;
- }
-@@ -680,7 +749,7 @@
- //searches up the hierarchy as long as no potential (but not exact) match was found.
- public MethodBinding getExactMethod(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope) {
- // sender from refScope calls recordTypeReference(this)
--
-+
- // lazily sort methods
- if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
- int length = this.methods.length;
-@@ -694,8 +763,8 @@
-
- long range;
- if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-- nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-- MethodBinding method = methods[imethod];
-+ nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-+ MethodBinding method = this.methods[imethod];
- foundNothing = false; // inner type lookups must know that a method with this name exists
- if (method.parameters.length == argCount) {
- resolveTypesFor(method);
-@@ -711,13 +780,13 @@
- if (isInterface()) {
- if (superInterfaces().length == 1) { // ensure superinterfaces are resolved before checking
- if (refScope != null)
-- refScope.recordTypeReference(superInterfaces[0]);
-- return superInterfaces[0].getExactMethod(selector, argumentTypes, refScope);
-+ refScope.recordTypeReference(this.superInterfaces[0]);
-+ return this.superInterfaces[0].getExactMethod(selector, argumentTypes, refScope);
- }
- } else if (superclass() != null) { // ensure superclass is resolved before checking
- if (refScope != null)
-- refScope.recordTypeReference(superclass);
-- return superclass.getExactMethod(selector, argumentTypes, refScope);
-+ refScope.recordTypeReference(this.superclass);
-+ return this.superclass.getExactMethod(selector, argumentTypes, refScope);
- }
- }
- return null;
-@@ -745,7 +814,7 @@
- int prefixLength = this.compoundName[this.compoundName.length - 1].length + 1; // enclosing$
- if (name.length == (prefixLength + typeName.length)) // enclosing $ typeName
- if (CharOperation.fragmentEquals(typeName, name, prefixLength, true)) // only check trailing portion
-- return this.memberTypes[i] = resolveType(memberType, this.environment, false); // no raw conversion for now
-+ return this.memberTypes[i] = (ReferenceBinding) resolveType(memberType, this.environment, false /* no raw conversion for now */);
- } else if (CharOperation.equals(typeName, memberType.sourceName)) {
- return memberType;
- }
-@@ -761,7 +830,7 @@
- int length = end - start + 1;
- if ((this.tagBits & TagBits.AreMethodsComplete) != 0) {
- // simply clone method subset
-- MethodBinding[] result;
-+ MethodBinding[] result;
- System.arraycopy(this.methods, start, result = new MethodBinding[length], 0, length);
- return result;
- }
-@@ -782,18 +851,59 @@
- MethodBinding[] result = new MethodBinding[length];
- // iterate methods to resolve them
- for (int i = start, index = 0; i <= end; i++, index++)
-- result[index] = resolveTypesFor(methods[i]);
-+ result[index] = resolveTypesFor(this.methods[i]);
- return result;
- }
- return Binding.NO_METHODS;
- }
-+// Answer methods named selector, which take no more than the suggestedParameterLength.
-+// The suggested parameter length is optional and may not be guaranteed by every type.
-+public MethodBinding[] getMethods(char[] selector, int suggestedParameterLength) {
-+ if ((this.tagBits & TagBits.AreMethodsComplete) != 0)
-+ return getMethods(selector);
-+ // lazily sort methods
-+ if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-+ int length = this.methods.length;
-+ if (length > 1)
-+ ReferenceBinding.sortMethods(this.methods, 0, length);
-+ this.tagBits |= TagBits.AreMethodsSorted;
-+ }
-+ long range;
-+ if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-+ int start = (int) range, end = (int) (range >> 32);
-+ int length = end - start + 1;
-+ int count = 0;
-+ for (int i = start; i <= end; i++) {
-+ int len = this.methods[i].parameters.length;
-+ if (len <= suggestedParameterLength || (this.methods[i].isVarargs() && len == suggestedParameterLength + 1))
-+ count++;
-+ }
-+ if (count == 0) {
-+ MethodBinding[] result = new MethodBinding[length];
-+ // iterate methods to resolve them
-+ for (int i = start, index = 0; i <= end; i++)
-+ result[index++] = resolveTypesFor(this.methods[i]);
-+ return result;
-+ } else {
-+ MethodBinding[] result = new MethodBinding[count];
-+ // iterate methods to resolve them
-+ for (int i = start, index = 0; i <= end; i++) {
-+ int len = this.methods[i].parameters.length;
-+ if (len <= suggestedParameterLength || (this.methods[i].isVarargs() && len == suggestedParameterLength + 1))
-+ result[index++] = resolveTypesFor(this.methods[i]);
-+ }
-+ return result;
-+ }
-+ }
-+ return Binding.NO_METHODS;
-+}
- public boolean hasMemberTypes() {
- return this.memberTypes.length > 0;
- }
- // NOTE: member types of binary types are resolved when needed
- public TypeVariableBinding getTypeVariable(char[] variableName) {
- TypeVariableBinding variable = super.getTypeVariable(variableName);
-- variable.resolve(this.environment);
-+ variable.resolve();
- return variable;
- }
- private void initializeTypeVariable(TypeVariableBinding variable, TypeVariableBinding[] existingVariables, SignatureWrapper wrapper, char[][][] missingTypeNames) {
-@@ -804,9 +914,9 @@
- wrapper.start = colon + 1; // skip name + ':'
- ReferenceBinding type, firstBound = null;
- if (wrapper.signature[wrapper.start] == ':') {
-- type = environment.getResolvedType(TypeConstants.JAVA_LANG_OBJECT, null);
-+ type = this.environment.getResolvedType(TypeConstants.JAVA_LANG_OBJECT, null);
- } else {
-- type = (ReferenceBinding) environment.getTypeFromTypeSignature(wrapper, existingVariables, this, missingTypeNames);
-+ type = (ReferenceBinding) this.environment.getTypeFromTypeSignature(wrapper, existingVariables, this, missingTypeNames);
- firstBound = type;
- }
-
-@@ -819,7 +929,7 @@
- java.util.ArrayList types = new java.util.ArrayList(2);
- do {
- wrapper.start++; // skip ':'
-- types.add(environment.getTypeFromTypeSignature(wrapper, existingVariables, this, missingTypeNames));
-+ types.add(this.environment.getTypeFromTypeSignature(wrapper, existingVariables, this, missingTypeNames));
- } while (wrapper.signature[wrapper.start] == ':');
- bounds = new ReferenceBinding[types.size()];
- types.toArray(bounds);
-@@ -850,6 +960,9 @@
- public boolean isGenericType() {
- return this.typeVariables != Binding.NO_TYPE_VARIABLES;
- }
-+public boolean isHierarchyConnected() {
-+ return (this.tagBits & (TagBits.HasUnresolvedSuperclass | TagBits.HasUnresolvedSuperinterfaces)) == 0;
-+}
- public int kind() {
- if (this.typeVariables != Binding.NO_TYPE_VARIABLES)
- return Binding.GENERIC_TYPE;
-@@ -861,7 +974,7 @@
- return this.memberTypes;
-
- for (int i = this.memberTypes.length; --i >= 0;)
-- this.memberTypes[i] = resolveType(this.memberTypes[i], this.environment, false); // no raw conversion for now
-+ this.memberTypes[i] = (ReferenceBinding) resolveType(this.memberTypes[i], this.environment, false /* no raw conversion for now */);
- this.tagBits &= ~TagBits.HasUnresolvedMemberTypes;
- return this.memberTypes;
- }
-@@ -880,15 +993,15 @@
- ReferenceBinding.sortMethods(this.bridgeMethods, 0, length);
- this.tagBits |= TagBits.AreMethodsSorted;
- }
-- for (int i = methods.length; --i >= 0;)
-- resolveTypesFor(methods[i]);
-- for (int i = bridgeMethods.length; --i >= 0;)
-- resolveTypesFor(bridgeMethods[i]);
-- this.tagBits |= TagBits.AreMethodsComplete;
-+ for (int i = this.methods.length; --i >= 0;)
-+ resolveTypesFor(this.methods[i]);
-+ for (int i = this.bridgeMethods.length; --i >= 0;)
-+ resolveTypesFor(this.bridgeMethods[i]);
-+ this.tagBits |= TagBits.AreMethodsComplete;
- }
- public MethodBinding[] methods() {
- lazyInitMethods();
-- return methods;
-+ return this.methods;
- }
- public MethodBinding[] bridgeMethods() {
- lazyInitMethods();
-@@ -898,11 +1011,11 @@
- if ((field.modifiers & ExtraCompilerModifiers.AccUnresolved) == 0)
- return field;
-
-- TypeBinding resolvedType = resolveType(field.type, this.environment, null, 0);
-+ TypeBinding resolvedType = resolveType(field.type, this.environment, true /* raw conversion */);
- field.type = resolvedType;
- if ((resolvedType.tagBits & TagBits.HasMissingType) != 0) {
- field.tagBits |= TagBits.HasMissingType;
-- }
-+ }
- field.modifiers &= ~ExtraCompilerModifiers.AccUnresolved;
- return field;
- }
-@@ -911,28 +1024,28 @@
- return method;
-
- if (!method.isConstructor()) {
-- TypeBinding resolvedType = resolveType(method.returnType, this.environment, null, 0);
-+ TypeBinding resolvedType = resolveType(method.returnType, this.environment, true /* raw conversion */);
- method.returnType = resolvedType;
- if ((resolvedType.tagBits & TagBits.HasMissingType) != 0) {
- method.tagBits |= TagBits.HasMissingType;
-- }
-+ }
- }
- for (int i = method.parameters.length; --i >= 0;) {
-- TypeBinding resolvedType = resolveType(method.parameters[i], this.environment, null, 0);
-+ TypeBinding resolvedType = resolveType(method.parameters[i], this.environment, true /* raw conversion */);
- method.parameters[i] = resolvedType;
- if ((resolvedType.tagBits & TagBits.HasMissingType) != 0) {
- method.tagBits |= TagBits.HasMissingType;
-- }
-+ }
- }
- for (int i = method.thrownExceptions.length; --i >= 0;) {
-- ReferenceBinding resolvedType = resolveType(method.thrownExceptions[i], this.environment, true);
-+ ReferenceBinding resolvedType = (ReferenceBinding) resolveType(method.thrownExceptions[i], this.environment, true /* raw conversion */);
- method.thrownExceptions[i] = resolvedType;
- if ((resolvedType.tagBits & TagBits.HasMissingType) != 0) {
- method.tagBits |= TagBits.HasMissingType;
- }
- }
- for (int i = method.typeVariables.length; --i >= 0;) {
-- method.typeVariables[i].resolve(this.environment);
-+ method.typeVariables[i].resolve();
- }
- method.modifiers &= ~ExtraCompilerModifiers.AccUnresolved;
- return method;
-@@ -957,7 +1070,7 @@
- return this.superclass;
-
- // finish resolving the type
-- this.superclass = resolveType(this.superclass, this.environment, true);
-+ this.superclass = (ReferenceBinding) resolveType(this.superclass, this.environment, true /* raw conversion */);
- this.tagBits &= ~TagBits.HasUnresolvedSuperclass;
- if (this.superclass.problemId() == ProblemReasons.NotFound)
- this.tagBits |= TagBits.HierarchyHasProblems; // propagate type inconsistency
-@@ -969,7 +1082,7 @@
- return this.superInterfaces;
-
- for (int i = this.superInterfaces.length; --i >= 0;) {
-- this.superInterfaces[i] = resolveType(this.superInterfaces[i], this.environment, true);
-+ this.superInterfaces[i] = (ReferenceBinding) resolveType(this.superInterfaces[i], this.environment, true /* raw conversion */);
- if (this.superInterfaces[i].problemId() == ProblemReasons.NotFound)
- this.tagBits |= TagBits.HierarchyHasProblems; // propagate type inconsistency
- }
-@@ -981,7 +1094,7 @@
- return this.typeVariables;
-
- for (int i = this.typeVariables.length; --i >= 0;)
-- this.typeVariables[i].resolve(this.environment);
-+ this.typeVariables[i].resolve();
- this.tagBits &= ~TagBits.HasUnresolvedTypeVariables;
- return this.typeVariables;
- }
-@@ -999,8 +1112,8 @@
- if (isEnum()) buffer.append("enum "); //$NON-NLS-1$
- else if (isAnnotationType()) buffer.append("@interface "); //$NON-NLS-1$
- else if (isClass()) buffer.append("class "); //$NON-NLS-1$
-- else buffer.append("interface "); //$NON-NLS-1$
-- buffer.append((compoundName != null) ? CharOperation.toString(compoundName) : "UNNAMED TYPE"); //$NON-NLS-1$
-+ else buffer.append("interface "); //$NON-NLS-1$
-+ buffer.append((this.compoundName != null) ? CharOperation.toString(this.compoundName) : "UNNAMED TYPE"); //$NON-NLS-1$
-
- if (this.typeVariables == null) {
- buffer.append("<NULL TYPE VARIABLES>"); //$NON-NLS-1$
-@@ -1018,51 +1131,51 @@
- buffer.append(">"); //$NON-NLS-1$
- }
- buffer.append("\n\textends "); //$NON-NLS-1$
-- buffer.append((superclass != null) ? superclass.debugName() : "NULL TYPE"); //$NON-NLS-1$
-+ buffer.append((this.superclass != null) ? this.superclass.debugName() : "NULL TYPE"); //$NON-NLS-1$
-
-- if (superInterfaces != null) {
-- if (superInterfaces != Binding.NO_SUPERINTERFACES) {
-+ if (this.superInterfaces != null) {
-+ if (this.superInterfaces != Binding.NO_SUPERINTERFACES) {
- buffer.append("\n\timplements : "); //$NON-NLS-1$
-- for (int i = 0, length = superInterfaces.length; i < length; i++) {
-+ for (int i = 0, length = this.superInterfaces.length; i < length; i++) {
- if (i > 0)
- buffer.append(", "); //$NON-NLS-1$
-- buffer.append((superInterfaces[i] != null) ? superInterfaces[i].debugName() : "NULL TYPE"); //$NON-NLS-1$
-+ buffer.append((this.superInterfaces[i] != null) ? this.superInterfaces[i].debugName() : "NULL TYPE"); //$NON-NLS-1$
- }
- }
- } else {
- buffer.append("NULL SUPERINTERFACES"); //$NON-NLS-1$
- }
-
-- if (enclosingType != null) {
-+ if (this.enclosingType != null) {
- buffer.append("\n\tenclosing type : "); //$NON-NLS-1$
-- buffer.append(enclosingType.debugName());
-+ buffer.append(this.enclosingType.debugName());
- }
-
-- if (fields != null) {
-- if (fields != Binding.NO_FIELDS) {
-+ if (this.fields != null) {
-+ if (this.fields != Binding.NO_FIELDS) {
- buffer.append("\n/* fields */"); //$NON-NLS-1$
-- for (int i = 0, length = fields.length; i < length; i++)
-- buffer.append((fields[i] != null) ? "\n" + fields[i].toString() : "\nNULL FIELD"); //$NON-NLS-1$ //$NON-NLS-2$
-+ for (int i = 0, length = this.fields.length; i < length; i++)
-+ buffer.append((this.fields[i] != null) ? "\n" + this.fields[i].toString() : "\nNULL FIELD"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } else {
- buffer.append("NULL FIELDS"); //$NON-NLS-1$
- }
-
-- if (methods != null) {
-- if (methods != Binding.NO_METHODS) {
-+ if (this.methods != null) {
-+ if (this.methods != Binding.NO_METHODS) {
- buffer.append("\n/* methods */"); //$NON-NLS-1$
-- for (int i = 0, length = methods.length; i < length; i++)
-- buffer.append((methods[i] != null) ? "\n" + methods[i].toString() : "\nNULL METHOD"); //$NON-NLS-1$ //$NON-NLS-2$
-+ for (int i = 0, length = this.methods.length; i < length; i++)
-+ buffer.append((this.methods[i] != null) ? "\n" + this.methods[i].toString() : "\nNULL METHOD"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } else {
- buffer.append("NULL METHODS"); //$NON-NLS-1$
- }
-
-- if (memberTypes != null) {
-- if (memberTypes != Binding.NO_MEMBER_TYPES) {
-+ if (this.memberTypes != null) {
-+ if (this.memberTypes != Binding.NO_MEMBER_TYPES) {
- buffer.append("\n/* members */"); //$NON-NLS-1$
-- for (int i = 0, length = memberTypes.length; i < length; i++)
-- buffer.append((memberTypes[i] != null) ? "\n" + memberTypes[i].toString() : "\nNULL TYPE"); //$NON-NLS-1$ //$NON-NLS-2$
-+ for (int i = 0, length = this.memberTypes.length; i < length; i++)
-+ buffer.append((this.memberTypes[i] != null) ? "\n" + this.memberTypes[i].toString() : "\nNULL TYPE"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } else {
- buffer.append("NULL MEMBER TYPES"); //$NON-NLS-1$
-@@ -1072,6 +1185,6 @@
- return buffer.toString();
- }
- MethodBinding[] unResolvedMethods() { // for the MethodVerifier so it doesn't resolve types
-- return methods;
-+ return this.methods;
- }
- }
-Index: gwt-debian/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java
-===================================================================
---- gwt-debian.orig/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java 2011-12-21 11:43:29.177246756 +0100
-+++ gwt-debian/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java 2011-12-21 11:44:39.317245930 +0100
-@@ -1,5 +1,5 @@
- /*******************************************************************************
-- * Copyright (c) 2000, 2008 IBM Corporation and others.
-+ * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
-@@ -20,65 +20,66 @@
- import org.eclipse.jdt.internal.compiler.ast.TypeDeclaration;
- import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
- import org.eclipse.jdt.internal.compiler.codegen.ConstantPool;
-+import org.eclipse.jdt.internal.compiler.util.Util;
-
- public class MethodBinding extends Binding {
--
-- public int modifiers;
-- public char[] selector;
-- public TypeBinding returnType;
-- public TypeBinding[] parameters;
-- public ReferenceBinding[] thrownExceptions;
-- public ReferenceBinding declaringClass;
-- public TypeVariableBinding[] typeVariables = Binding.NO_TYPE_VARIABLES;
-- char[] signature;
-- public long tagBits;
--
-+
-+ public int modifiers;
-+ public char[] selector;
-+ public TypeBinding returnType;
-+ public TypeBinding[] parameters;
-+ public ReferenceBinding[] thrownExceptions;
-+ public ReferenceBinding declaringClass;
-+ public TypeVariableBinding[] typeVariables = Binding.NO_TYPE_VARIABLES;
-+ char[] signature;
-+ public long tagBits;
-+
- protected MethodBinding() {
-- // for creating problem or synthetic method
-+ // for creating problem or synthetic method
- }
- public MethodBinding(int modifiers, char[] selector, TypeBinding returnType, TypeBinding[] parameters, ReferenceBinding[] thrownExceptions, ReferenceBinding declaringClass) {
-- this.modifiers = modifiers;
-- this.selector = selector;
-- this.returnType = returnType;
-- this.parameters = (parameters == null || parameters.length == 0) ? Binding.NO_PARAMETERS : parameters;
-- this.thrownExceptions = (thrownExceptions == null || thrownExceptions.length == 0) ? Binding.NO_EXCEPTIONS : thrownExceptions;
-- this.declaringClass = declaringClass;
--
-- // propagate the strictfp & deprecated modifiers
-- if (this.declaringClass != null) {
-- if (this.declaringClass.isStrictfp())
-- if (!(isNative() || isAbstract()))
-- this.modifiers |= ClassFileConstants.AccStrictfp;
-- }
-+ this.modifiers = modifiers;
-+ this.selector = selector;
-+ this.returnType = returnType;
-+ this.parameters = (parameters == null || parameters.length == 0) ? Binding.NO_PARAMETERS : parameters;
-+ this.thrownExceptions = (thrownExceptions == null || thrownExceptions.length == 0) ? Binding.NO_EXCEPTIONS : thrownExceptions;
-+ this.declaringClass = declaringClass;
-+
-+ // propagate the strictfp & deprecated modifiers
-+ if (this.declaringClass != null) {
-+ if (this.declaringClass.isStrictfp())
-+ if (!(isNative() || isAbstract()))
-+ this.modifiers |= ClassFileConstants.AccStrictfp;
-+ }
- }
- public MethodBinding(int modifiers, TypeBinding[] parameters, ReferenceBinding[] thrownExceptions, ReferenceBinding declaringClass) {
-- this(modifiers, TypeConstants.INIT, TypeBinding.VOID, parameters, thrownExceptions, declaringClass);
-+ this(modifiers, TypeConstants.INIT, TypeBinding.VOID, parameters, thrownExceptions, declaringClass);
- }
- // special API used to change method declaring class for runtime visibility check
- public MethodBinding(MethodBinding initialMethodBinding, ReferenceBinding declaringClass) {
-- this.modifiers = initialMethodBinding.modifiers;
-- this.selector = initialMethodBinding.selector;
-- this.returnType = initialMethodBinding.returnType;
-- this.parameters = initialMethodBinding.parameters;
-- this.thrownExceptions = initialMethodBinding.thrownExceptions;
-- this.declaringClass = declaringClass;
-- declaringClass.storeAnnotationHolder(this, initialMethodBinding.declaringClass.retrieveAnnotationHolder(initialMethodBinding, true));
-+ this.modifiers = initialMethodBinding.modifiers;
-+ this.selector = initialMethodBinding.selector;
-+ this.returnType = initialMethodBinding.returnType;
-+ this.parameters = initialMethodBinding.parameters;
-+ this.thrownExceptions = initialMethodBinding.thrownExceptions;
-+ this.declaringClass = declaringClass;
-+ declaringClass.storeAnnotationHolder(this, initialMethodBinding.declaringClass.retrieveAnnotationHolder(initialMethodBinding, true));
- }
- /* Answer true if the argument types & the receiver's parameters have the same erasure
- */
- public final boolean areParameterErasuresEqual(MethodBinding method) {
-- TypeBinding[] args = method.parameters;
-- if (parameters == args)
-- return true;
--
-- int length = parameters.length;
-- if (length != args.length)
-- return false;
--
-- for (int i = 0; i < length; i++)
-- if (parameters[i] != args[i] && parameters[i].erasure() != args[i].erasure())
-- return false;
-- return true;
-+ TypeBinding[] args = method.parameters;
-+ if (this.parameters == args)
-+ return true;
-+
-+ int length = this.parameters.length;
-+ if (length != args.length)
-+ return false;
-+
-+ for (int i = 0; i < length; i++)
-+ if (this.parameters[i] != args[i] && this.parameters[i].erasure() != args[i].erasure())
-+ return false;
-+ return true;
- }
- /*
- * Returns true if given parameters are compatible with this method parameters.
-@@ -86,46 +87,46 @@
- * passed as argument matches this MethodBinding number of parameters
- */
- public final boolean areParametersCompatibleWith(TypeBinding[] arguments) {
-- int paramLength = this.parameters.length;
-- int argLength = arguments.length;
-- int lastIndex = argLength;
-- if (isVarargs()) {
-- lastIndex = paramLength - 1;
-- if (paramLength == argLength) { // accept X[] but not X or X[][]
-- TypeBinding varArgType = parameters[lastIndex]; // is an ArrayBinding by definition
-- TypeBinding lastArgument = arguments[lastIndex];
-- if (varArgType != lastArgument && !lastArgument.isCompatibleWith(varArgType))
-- return false;
-- } else if (paramLength < argLength) { // all remainig argument types must be compatible with the elementsType of varArgType
-- TypeBinding varArgType = ((ArrayBinding) parameters[lastIndex]).elementsType();
-- for (int i = lastIndex; i < argLength; i++)
-- if (varArgType != arguments[i] && !arguments[i].isCompatibleWith(varArgType))
-- return false;
-- } else if (lastIndex != argLength) { // can call foo(int i, X ... x) with foo(1) but NOT foo();
-- return false;
-- }
-- // now compare standard arguments from 0 to lastIndex
-- }
-- for (int i = 0; i < lastIndex; i++)
-- if (parameters[i] != arguments[i] && !arguments[i].isCompatibleWith(parameters[i]))
-- return false;
-- return true;
-+ int paramLength = this.parameters.length;
-+ int argLength = arguments.length;
-+ int lastIndex = argLength;
-+ if (isVarargs()) {
-+ lastIndex = paramLength - 1;
-+ if (paramLength == argLength) { // accept X[] but not X or X[][]
-+ TypeBinding varArgType = this.parameters[lastIndex]; // is an ArrayBinding by definition
-+ TypeBinding lastArgument = arguments[lastIndex];
-+ if (varArgType != lastArgument && !lastArgument.isCompatibleWith(varArgType))
-+ return false;
-+ } else if (paramLength < argLength) { // all remainig argument types must be compatible with the elementsType of varArgType
-+ TypeBinding varArgType = ((ArrayBinding) this.parameters[lastIndex]).elementsType();
-+ for (int i = lastIndex; i < argLength; i++)
-+ if (varArgType != arguments[i] && !arguments[i].isCompatibleWith(varArgType))
-+ return false;
-+ } else if (lastIndex != argLength) { // can call foo(int i, X ... x) with foo(1) but NOT foo();
-+ return false;
-+ }
-+ // now compare standard arguments from 0 to lastIndex
-+ }
-+ for (int i = 0; i < lastIndex; i++)
-+ if (this.parameters[i] != arguments[i] && !arguments[i].isCompatibleWith(this.parameters[i]))
-+ return false;
-+ return true;
- }
- /* Answer true if the argument types & the receiver's parameters are equal
- */
- public final boolean areParametersEqual(MethodBinding method) {
-- TypeBinding[] args = method.parameters;
-- if (parameters == args)
-- return true;
--
-- int length = parameters.length;
-- if (length != args.length)
-- return false;
--
-- for (int i = 0; i < length; i++)
-- if (parameters[i] != args[i])
-- return false;
-- return true;
-+ TypeBinding[] args = method.parameters;
-+ if (this.parameters == args)
-+ return true;
-+
-+ int length = this.parameters.length;
-+ if (length != args.length)
-+ return false;
-+
-+ for (int i = 0; i < length; i++)
-+ if (this.parameters[i] != args[i])
-+ return false;
-+ return true;
- }
-
- /* API
-@@ -135,18 +136,41 @@
- /* Answer true if the type variables have the same erasure
- */
- public final boolean areTypeVariableErasuresEqual(MethodBinding method) {
-- TypeVariableBinding[] vars = method.typeVariables;
-- if (this.typeVariables == vars)
-- return true;
--
-- int length = this.typeVariables.length;
-- if (length != vars.length)
-- return false;
--
-- for (int i = 0; i < length; i++)
-- if (this.typeVariables[i] != vars[i] && this.typeVariables[i].erasure() != vars[i].erasure())
-- return false;
-- return true;
-+ TypeVariableBinding[] vars = method.typeVariables;
-+ if (this.typeVariables == vars)
-+ return true;
-+
-+ int length = this.typeVariables.length;
-+ if (length != vars.length)
-+ return false;
-+
-+ for (int i = 0; i < length; i++)
-+ if (this.typeVariables[i] != vars[i] && this.typeVariables[i].erasure() != vars[i].erasure())
-+ return false;
-+ return true;
-+}
-+MethodBinding asRawMethod(LookupEnvironment env) {
-+ if (this.typeVariables == Binding.NO_TYPE_VARIABLES) return this;
-+
-+ // substitute type arguments with raw types
-+ int length = this.typeVariables.length;
-+ TypeBinding[] arguments = new TypeBinding[length];
-+ for (int i = 0; i < length; i++) {
-+ TypeVariableBinding var = this.typeVariables[i];
-+ if (var.boundsCount() <= 1) {
-+ arguments[i] = env.convertToRawType(var.upperBound(), false /*do not force conversion of enclosing types*/);
-+ } else {
-+ // use an intersection type to retain full bound information if more than 1 bound
-+ TypeBinding rawSuperclass = env.convertToRawType(var.superclass(), false);
-+ TypeBinding[] itsSuperinterfaces = var.superInterfaces();
-+ int superLength = itsSuperinterfaces.length;
-+ TypeBinding[] rawSuperinterfaces = new TypeBinding[superLength];
-+ for (int s = 0; s < superLength; s++)
-+ rawSuperinterfaces[s] = env.convertToRawType(itsSuperinterfaces[s], false);
-+ arguments[i] = env.createWildcard(null, 0, rawSuperclass, rawSuperinterfaces, org.eclipse.jdt.internal.compiler.ast.Wildcard.EXTENDS);
-+ }
-+ }
-+ return env.createParameterizedGenericMethod(this, arguments);
- }
- /* Answer true if the receiver is visible to the type provided by the scope.
- * InvocationSite implements isSuperAccess() to provide additional information
-@@ -158,45 +182,45 @@
- */
-
- public final boolean canBeSeenBy(InvocationSite invocationSite, Scope scope) {
-- if (isPublic()) return true;
--
-- SourceTypeBinding invocationType = scope.enclosingSourceType();
-- if (invocationType == declaringClass) return true;
-+ if (isPublic()) return true;
-
-- if (isProtected()) {
-- // answer true if the receiver is in the same package as the invocationType
-- if (invocationType.fPackage == declaringClass.fPackage) return true;
-- return invocationSite.isSuperAccess();
-- }
--
-- if (isPrivate()) {
-- // answer true if the invocationType and the declaringClass have a common enclosingType
-- // already know they are not the identical type
-- ReferenceBinding outerInvocationType = invocationType;
-- ReferenceBinding temp = outerInvocationType.enclosingType();
-- while (temp != null) {
-- outerInvocationType = temp;
-- temp = temp.enclosingType();
-- }
-+ SourceTypeBinding invocationType = scope.enclosingSourceType();
-+ if (invocationType == this.declaringClass) return true;
-
-- ReferenceBinding outerDeclaringClass = (ReferenceBinding)declaringClass.erasure();
-- temp = outerDeclaringClass.enclosingType();
-- while (temp != null) {
-- outerDeclaringClass = temp;
-- temp = temp.enclosingType();
-- }
-- return outerInvocationType == outerDeclaringClass;
-- }
-+ if (isProtected()) {
-+ // answer true if the receiver is in the same package as the invocationType
-+ if (invocationType.fPackage == this.declaringClass.fPackage) return true;
-+ return invocationSite.isSuperAccess();
-+ }
-+
-+ if (isPrivate()) {
-+ // answer true if the invocationType and the declaringClass have a common enclosingType
-+ // already know they are not the identical type
-+ ReferenceBinding outerInvocationType = invocationType;
-+ ReferenceBinding temp = outerInvocationType.enclosingType();
-+ while (temp != null) {
-+ outerInvocationType = temp;
-+ temp = temp.enclosingType();
-+ }
-+
-+ ReferenceBinding outerDeclaringClass = (ReferenceBinding)this.declaringClass.erasure();
-+ temp = outerDeclaringClass.enclosingType();
-+ while (temp != null) {
-+ outerDeclaringClass = temp;
-+ temp = temp.enclosingType();
-+ }
-+ return outerInvocationType == outerDeclaringClass;
-+ }
-
-- // isDefault()
-- return invocationType.fPackage == declaringClass.fPackage;
-+ // isDefault()
-+ return invocationType.fPackage == this.declaringClass.fPackage;
- }
- public final boolean canBeSeenBy(PackageBinding invocationPackage) {
-- if (isPublic()) return true;
-- if (isPrivate()) return false;
-+ if (isPublic()) return true;
-+ if (isPrivate()) return false;
-
-- // isProtected() or isDefault()
-- return invocationPackage == declaringClass.getPackage();
-+ // isProtected() or isDefault()
-+ return invocationPackage == this.declaringClass.getPackage();
- }
-
- /* Answer true if the receiver is visible to the type provided by the scope.
-@@ -206,133 +230,134 @@
- * NOTE: Cannot invoke this method with a compilation unit scope.
- */
- public final boolean canBeSeenBy(TypeBinding receiverType, InvocationSite invocationSite, Scope scope) {
-- if (isPublic()) return true;
-+ if (isPublic()) return true;
-
-- SourceTypeBinding invocationType = scope.enclosingSourceType();
-- if (invocationType == declaringClass && invocationType == receiverType) return true;
-+ SourceTypeBinding invocationType = scope.enclosingSourceType();
-+ if (invocationType == this.declaringClass && invocationType == receiverType) return true;
-
-- if (invocationType == null) // static import call
-- return !isPrivate() && scope.getCurrentPackage() == declaringClass.fPackage;
--
-- if (isProtected()) {
-- // answer true if the invocationType is the declaringClass or they are in the same package
-- // OR the invocationType is a subclass of the declaringClass
-- // AND the receiverType is the invocationType or its subclass
-- // OR the method is a static method accessed directly through a type
-- // OR previous assertions are true for one of the enclosing type
-- if (invocationType == declaringClass) return true;
-- if (invocationType.fPackage == declaringClass.fPackage) return true;
--
-- ReferenceBinding currentType = invocationType;
-- TypeBinding receiverErasure = receiverType.erasure();
-- ReferenceBinding declaringErasure = (ReferenceBinding) declaringClass.erasure();
-- int depth = 0;
-- do {
-- if (currentType.findSuperTypeOriginatingFrom(declaringErasure) != null) {
-- if (invocationSite.isSuperAccess())
-- return true;
-- // receiverType can be an array binding in one case... see if you can change it
-- if (receiverType instanceof ArrayBinding)
-- return false;
-- if (isStatic()) {
-- if (depth > 0) invocationSite.setDepth(depth);
-- return true; // see 1FMEPDL - return invocationSite.isTypeAccess();
-- }
-- if (currentType == receiverErasure || receiverErasure.findSuperTypeOriginatingFrom(currentType) != null) {
-- if (depth > 0) invocationSite.setDepth(depth);
-- return true;
-- }
-- }
-- depth++;
-- currentType = currentType.enclosingType();
-- } while (currentType != null);
-- return false;
-- }
--
-- if (isPrivate()) {
-- // answer true if the receiverType is the declaringClass
-- // AND the invocationType and the declaringClass have a common enclosingType
-- receiverCheck: {
-- if (receiverType != declaringClass) {
-- // special tolerance for type variable direct bounds
-- if (receiverType.isTypeVariable() && ((TypeVariableBinding) receiverType).isErasureBoundTo(declaringClass.erasure()))
-- break receiverCheck;
-- return false;
-- }
-- }
-+ if (invocationType == null) // static import call
-+ return !isPrivate() && scope.getCurrentPackage() == this.declaringClass.fPackage;
-
-- if (invocationType != declaringClass) {
-- ReferenceBinding outerInvocationType = invocationType;
-- ReferenceBinding temp = outerInvocationType.enclosingType();
-- while (temp != null) {
-- outerInvocationType = temp;
-- temp = temp.enclosingType();
-- }
--
-- ReferenceBinding outerDeclaringClass = (ReferenceBinding)declaringClass.erasure();
-- temp = outerDeclaringClass.enclosingType();
-- while (temp != null) {
-- outerDeclaringClass = temp;
-- temp = temp.enclosingType();
-- }
-- if (outerInvocationType != outerDeclaringClass) return false;
-- }
-- return true;
-- }
--
-- // isDefault()
-- PackageBinding declaringPackage = declaringClass.fPackage;
-- if (invocationType.fPackage != declaringPackage) return false;
--
-- // receiverType can be an array binding in one case... see if you can change it
-- if (receiverType instanceof ArrayBinding)
-- return false;
-- ReferenceBinding currentType = (ReferenceBinding) receiverType;
-- do {
-- if (declaringClass == currentType) return true;
-- PackageBinding currentPackage = currentType.fPackage;
-- // package could be null for wildcards/intersection types, ignore and recurse in superclass
-- if (currentPackage != null && currentPackage != declaringPackage) return false;
-- } while ((currentType = currentType.superclass()) != null);
-- return false;
-+ if (isProtected()) {
-+ // answer true if the invocationType is the declaringClass or they are in the same package
-+ // OR the invocationType is a subclass of the declaringClass
-+ // AND the receiverType is the invocationType or its subclass
-+ // OR the method is a static method accessed directly through a type
-+ // OR previous assertions are true for one of the enclosing type
-+ if (invocationType == this.declaringClass) return true;
-+ if (invocationType.fPackage == this.declaringClass.fPackage) return true;
-+
-+ ReferenceBinding currentType = invocationType;
-+ TypeBinding receiverErasure = receiverType.erasure();
-+ ReferenceBinding declaringErasure = (ReferenceBinding) this.declaringClass.erasure();
-+ int depth = 0;
-+ do {
-+ if (currentType.findSuperTypeOriginatingFrom(declaringErasure) != null) {
-+ if (invocationSite.isSuperAccess())
-+ return true;
-+ // receiverType can be an array binding in one case... see if you can change it
-+ if (receiverType instanceof ArrayBinding)
-+ return false;
-+ if (isStatic()) {
-+ if (depth > 0) invocationSite.setDepth(depth);
-+ return true; // see 1FMEPDL - return invocationSite.isTypeAccess();
-+ }
-+ if (currentType == receiverErasure || receiverErasure.findSuperTypeOriginatingFrom(currentType) != null) {
-+ if (depth > 0) invocationSite.setDepth(depth);
-+ return true;
-+ }
-+ }
-+ depth++;
-+ currentType = currentType.enclosingType();
-+ } while (currentType != null);
-+ return false;
-+ }
-+
-+ if (isPrivate()) {
-+ // answer true if the receiverType is the declaringClass
-+ // AND the invocationType and the declaringClass have a common enclosingType
-+ receiverCheck: {
-+ if (receiverType != this.declaringClass) {
-+ // special tolerance for type variable direct bounds
-+ if (receiverType.isTypeVariable() && ((TypeVariableBinding) receiverType).isErasureBoundTo(this.declaringClass.erasure()))
-+ break receiverCheck;
-+ return false;
-+ }
-+ }
-+
-+ if (invocationType != this.declaringClass) {
-+ ReferenceBinding outerInvocationType = invocationType;
-+ ReferenceBinding temp = outerInvocationType.enclosingType();
-+ while (temp != null) {
-+ outerInvocationType = temp;
-+ temp = temp.enclosingType();
-+ }
-+
-+ ReferenceBinding outerDeclaringClass = (ReferenceBinding)this.declaringClass.erasure();
-+ temp = outerDeclaringClass.enclosingType();
-+ while (temp != null) {
-+ outerDeclaringClass = temp;
-+ temp = temp.enclosingType();
-+ }
-+ if (outerInvocationType != outerDeclaringClass) return false;
-+ }
-+ return true;
-+ }
-+
-+ // isDefault()
-+ PackageBinding declaringPackage = this.declaringClass.fPackage;
-+ if (invocationType.fPackage != declaringPackage) return false;
-+
-+ // receiverType can be an array binding in one case... see if you can change it
-+ if (receiverType instanceof ArrayBinding)
-+ return false;
-+ TypeBinding originalDeclaringClass = this.declaringClass.original();
-+ ReferenceBinding currentType = (ReferenceBinding) receiverType;
-+ do {
-+ if (originalDeclaringClass == currentType.original()) return true;
-+ PackageBinding currentPackage = currentType.fPackage;
-+ // package could be null for wildcards/intersection types, ignore and recurse in superclass
-+ if (currentPackage != null && currentPackage != declaringPackage) return false;
-+ } while ((currentType = currentType.superclass()) != null);
-+ return false;
- }
-
- public List collectMissingTypes(List missingTypes) {
-- if ((this.tagBits & TagBits.HasMissingType) != 0) {
-- missingTypes = this.returnType.collectMissingTypes(missingTypes);
-- for (int i = 0, max = this.parameters.length; i < max; i++) {
-- missingTypes = this.parameters[i].collectMissingTypes(missingTypes);
-- }
-- for (int i = 0, max = this.thrownExceptions.length; i < max; i++) {
-- missingTypes = this.thrownExceptions[i].collectMissingTypes(missingTypes);
-- }
-- for (int i = 0, max = this.typeVariables.length; i < max; i++) {
-- TypeVariableBinding variable = this.typeVariables[i];
-- missingTypes = variable.superclass().collectMissingTypes(missingTypes);
-- ReferenceBinding[] interfaces = variable.superInterfaces();
-- for (int j = 0, length = interfaces.length; j < length; j++) {
-- missingTypes = interfaces[j].collectMissingTypes(missingTypes);
-- }
-- }
-- }
-- return missingTypes;
-+ if ((this.tagBits & TagBits.HasMissingType) != 0) {
-+ missingTypes = this.returnType.collectMissingTypes(missingTypes);
-+ for (int i = 0, max = this.parameters.length; i < max; i++) {
-+ missingTypes = this.parameters[i].collectMissingTypes(missingTypes);
-+ }
-+ for (int i = 0, max = this.thrownExceptions.length; i < max; i++) {
-+ missingTypes = this.thrownExceptions[i].collectMissingTypes(missingTypes);
-+ }
-+ for (int i = 0, max = this.typeVariables.length; i < max; i++) {
-+ TypeVariableBinding variable = this.typeVariables[i];
-+ missingTypes = variable.superclass().collectMissingTypes(missingTypes);
-+ ReferenceBinding[] interfaces = variable.superInterfaces();
-+ for (int j = 0, length = interfaces.length; j < length; j++) {
-+ missingTypes = interfaces[j].collectMissingTypes(missingTypes);
-+ }
-+ }
-+ }
-+ return missingTypes;
- }
-
- MethodBinding computeSubstitutedMethod(MethodBinding method, LookupEnvironment env) {
-- int length = this.typeVariables.length;
-- TypeVariableBinding[] vars = method.typeVariables;
-- if (length != vars.length)
-- return null;
--
-- // must substitute to detect cases like:
-- // <T1 extends X<T1>> void dup() {}
-- // <T2 extends X<T2>> Object dup() {return null;}
-- ParameterizedGenericMethodBinding substitute =
-- env.createParameterizedGenericMethod(method, this.typeVariables);
-- for (int i = 0; i < length; i++)
-- if (!this.typeVariables[i].isInterchangeableWith(vars[i], substitute))
-- return null;
-- return substitute;
-+ int length = this.typeVariables.length;
-+ TypeVariableBinding[] vars = method.typeVariables;
-+ if (length != vars.length)
-+ return null;
-+
-+ // must substitute to detect cases like:
-+ // <T1 extends X<T1>> void dup() {}
-+ // <T2 extends X<T2>> Object dup() {return null;}
-+ ParameterizedGenericMethodBinding substitute =
-+ env.createParameterizedGenericMethod(method, this.typeVariables);
-+ for (int i = 0; i < length; i++)
-+ if (!this.typeVariables[i].isInterchangeableWith(vars[i], substitute))
-+ return null;
-+ return substitute;
- }
-
- /*
-@@ -340,63 +365,55 @@
- * p.X { <T> void bar(X<T> t) } --> Lp/X;.bar<T:Ljava/lang/Object;>(LX<TT;>;)V
- */
- public char[] computeUniqueKey(boolean isLeaf) {
-- // declaring class
-- char[] declaringKey = this.declaringClass.computeUniqueKey(false/*not a leaf*/);
-- int declaringLength = declaringKey.length;
--
-- // selector
-- int selectorLength = this.selector == TypeConstants.INIT ? 0 : this.selector.length;
--
-- // generic signature
-- char[] sig = genericSignature();
-- boolean isGeneric = sig != null;
-- if (!isGeneric) sig = signature();
-- int signatureLength = sig.length;
--
-- // thrown exceptions
-- int thrownExceptionsLength = this.thrownExceptions.length;
-- int thrownExceptionsSignatureLength = 0;
-- char[][] thrownExceptionsSignatures = null;
-- boolean addThrownExceptions = thrownExceptionsLength > 0 && (!isGeneric || CharOperation.lastIndexOf('^', sig) < 0);
-- if (addThrownExceptions) {
-- thrownExceptionsSignatures = new char[thrownExceptionsLength][];
-- for (int i = 0; i < thrownExceptionsLength; i++) {
-- if (this.thrownExceptions[i] != null) {
-- thrownExceptionsSignatures[i] = this.thrownExceptions[i].signature();
-- thrownExceptionsSignatureLength += thrownExceptionsSignatures[i].length + 1; // add one char for separator
-- }
-- }
-- }
--
-- char[] uniqueKey = new char[declaringLength + 1 + selectorLength + signatureLength + thrownExceptionsSignatureLength];
-- int index = 0;
-- System.arraycopy(declaringKey, 0, uniqueKey, index, declaringLength);
-- index = declaringLength;
-- uniqueKey[index++] = '.';
-- System.arraycopy(this.selector, 0, uniqueKey, index, selectorLength);
-- index += selectorLength;
-- System.arraycopy(sig, 0, uniqueKey, index, signatureLength);
-- if (thrownExceptionsSignatureLength > 0) {
-- index += signatureLength;
-- for (int i = 0; i < thrownExceptionsLength; i++) {
-- char[] thrownExceptionSignature = thrownExceptionsSignatures[i];
-- if (thrownExceptionSignature != null) {
-- uniqueKey[index++] = '|';
-- int length = thrownExceptionSignature.length;
-- System.arraycopy(thrownExceptionSignature, 0, uniqueKey, index, length);
-- index += length;
-- }
-- }
-- }
-- return uniqueKey;
--}
--
--/*
-- * Answer the declaring class to use in the constant pool
-- * may not be a reference binding (see subtypes)
-- */
--public TypeBinding constantPoolDeclaringClass() {
-- return this.declaringClass;
-+ // declaring class
-+ char[] declaringKey = this.declaringClass.computeUniqueKey(false/*not a leaf*/);
-+ int declaringLength = declaringKey.length;
-+
-+ // selector
-+ int selectorLength = this.selector == TypeConstants.INIT ? 0 : this.selector.length;
-+
-+ // generic signature
-+ char[] sig = genericSignature();
-+ boolean isGeneric = sig != null;
-+ if (!isGeneric) sig = signature();
-+ int signatureLength = sig.length;
-+
-+ // thrown exceptions
-+ int thrownExceptionsLength = this.thrownExceptions.length;
-+ int thrownExceptionsSignatureLength = 0;
-+ char[][] thrownExceptionsSignatures = null;
-+ boolean addThrownExceptions = thrownExceptionsLength > 0 && (!isGeneric || CharOperation.lastIndexOf('^', sig) < 0);
-+ if (addThrownExceptions) {
-+ thrownExceptionsSignatures = new char[thrownExceptionsLength][];
-+ for (int i = 0; i < thrownExceptionsLength; i++) {
-+ if (this.thrownExceptions[i] != null) {
-+ thrownExceptionsSignatures[i] = this.thrownExceptions[i].signature();
-+ thrownExceptionsSignatureLength += thrownExceptionsSignatures[i].length + 1; // add one char for separator
-+ }
-+ }
-+ }
-+
-+ char[] uniqueKey = new char[declaringLength + 1 + selectorLength + signatureLength + thrownExceptionsSignatureLength];
-+ int index = 0;
-+ System.arraycopy(declaringKey, 0, uniqueKey, index, declaringLength);
-+ index = declaringLength;
-+ uniqueKey[index++] = '.';
-+ System.arraycopy(this.selector, 0, uniqueKey, index, selectorLength);
-+ index += selectorLength;
-+ System.arraycopy(sig, 0, uniqueKey, index, signatureLength);
-+ if (thrownExceptionsSignatureLength > 0) {
-+ index += signatureLength;
-+ for (int i = 0; i < thrownExceptionsLength; i++) {
-+ char[] thrownExceptionSignature = thrownExceptionsSignatures[i];
-+ if (thrownExceptionSignature != null) {
-+ uniqueKey[index++] = '|';
-+ int length = thrownExceptionSignature.length;
-+ System.arraycopy(thrownExceptionSignature, 0, uniqueKey, index, length);
-+ index += length;
-+ }
-+ }
-+ }
-+ return uniqueKey;
- }
-
- /* Answer the receiver's constant pool name.
-@@ -406,61 +423,78 @@
- * or the source name of the method
- */
- public final char[] constantPoolName() {
-- return selector;
-+ return this.selector;
-+}
-+
-+public MethodBinding findOriginalInheritedMethod(MethodBinding inheritedMethod) {
-+ MethodBinding inheritedOriginal = inheritedMethod.original();
-+ TypeBinding superType = this.declaringClass.findSuperTypeOriginatingFrom(inheritedOriginal.declaringClass);
-+ if (superType == null || !(superType instanceof ReferenceBinding)) return null;
-+
-+ if (inheritedOriginal.declaringClass != superType) {
-+ // must find inherited method with the same substituted variables
-+ MethodBinding[] superMethods = ((ReferenceBinding) superType).getMethods(inheritedOriginal.selector, inheritedOriginal.parameters.length);
-+ for (int m = 0, l = superMethods.length; m < l; m++)
-+ if (superMethods[m].original() == inheritedOriginal)
-+ return superMethods[m];
-+ }
-+ return inheritedOriginal;
- }
-
- /**
-+ * <pre>
- *<typeParam1 ... typeParamM>(param1 ... paramN)returnType thrownException1 ... thrownExceptionP
- * T foo(T t) throws X<T> ---> (TT;)TT;LX<TT;>;
- * void bar(X<T> t) --> (LX<TT;>;)V
- * <T> void bar(X<T> t) --> <T:Ljava.lang.Object;>(LX<TT;>;)V
-+ * </pre>
- */
- public char[] genericSignature() {
-- if ((this.modifiers & ExtraCompilerModifiers.AccGenericSignature) == 0) return null;
-- StringBuffer sig = new StringBuffer(10);
-- if (this.typeVariables != Binding.NO_TYPE_VARIABLES) {
-- sig.append('<');
-- for (int i = 0, length = this.typeVariables.length; i < length; i++) {
-- sig.append(this.typeVariables[i].genericSignature());
-- }
-- sig.append('>');
-- }
-- sig.append('(');
-- for (int i = 0, length = this.parameters.length; i < length; i++) {
-- sig.append(this.parameters[i].genericTypeSignature());
-- }
-- sig.append(')');
-- if (this.returnType != null)
-- sig.append(this.returnType.genericTypeSignature());
--
-- // only append thrown exceptions if any is generic/parameterized
-- boolean needExceptionSignatures = false;
-- int length = this.thrownExceptions.length;
-- for (int i = 0; i < length; i++) {
-- if((this.thrownExceptions[i].modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0) {
-- needExceptionSignatures = true;
-- break;
-- }
-- }
-- if (needExceptionSignatures) {
-- for (int i = 0; i < length; i++) {
-- sig.append('^');
-- sig.append(this.thrownExceptions[i].genericTypeSignature());
-- }
-- }
-- int sigLength = sig.length();
-- char[] genericSignature = new char[sigLength];
-- sig.getChars(0, sigLength, genericSignature, 0);
-- return genericSignature;
-+ if ((this.modifiers & ExtraCompilerModifiers.AccGenericSignature) == 0) return null;
-+ StringBuffer sig = new StringBuffer(10);
-+ if (this.typeVariables != Binding.NO_TYPE_VARIABLES) {
-+ sig.append('<');
-+ for (int i = 0, length = this.typeVariables.length; i < length; i++) {
-+ sig.append(this.typeVariables[i].genericSignature());
-+ }
-+ sig.append('>');
-+ }
-+ sig.append('(');
-+ for (int i = 0, length = this.parameters.length; i < length; i++) {
-+ sig.append(this.parameters[i].genericTypeSignature());
-+ }
-+ sig.append(')');
-+ if (this.returnType != null)
-+ sig.append(this.returnType.genericTypeSignature());
-+
-+ // only append thrown exceptions if any is generic/parameterized
-+ boolean needExceptionSignatures = false;
-+ int length = this.thrownExceptions.length;
-+ for (int i = 0; i < length; i++) {
-+ if((this.thrownExceptions[i].modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0) {
-+ needExceptionSignatures = true;
-+ break;
-+ }
-+ }
-+ if (needExceptionSignatures) {
-+ for (int i = 0; i < length; i++) {
-+ sig.append('^');
-+ sig.append(this.thrownExceptions[i].genericTypeSignature());
-+ }
-+ }
-+ int sigLength = sig.length();
-+ char[] genericSignature = new char[sigLength];
-+ sig.getChars(0, sigLength, genericSignature, 0);
-+ return genericSignature;
- }
-
- public final int getAccessFlags() {
-- return modifiers & ExtraCompilerModifiers.AccJustFlag;
-+ return this.modifiers & ExtraCompilerModifiers.AccJustFlag;
- }
-
- public AnnotationBinding[] getAnnotations() {
-- MethodBinding originalMethod = this.original();
-- return originalMethod.declaringClass.retrieveAnnotations(originalMethod);
-+ MethodBinding originalMethod = original();
-+ return originalMethod.declaringClass.retrieveAnnotations(originalMethod);
- }
-
- /**
-@@ -469,142 +503,226 @@
- * @see org.eclipse.jdt.internal.compiler.lookup.Binding#getAnnotationTagBits()
- */
- public long getAnnotationTagBits() {
-- MethodBinding originalMethod = this.original();
-- if ((originalMethod.tagBits & TagBits.AnnotationResolved) == 0 && originalMethod.declaringClass instanceof SourceTypeBinding) {
-- ClassScope scope = ((SourceTypeBinding) originalMethod.declaringClass).scope;
-- if (scope != null) {
-- TypeDeclaration typeDecl = scope.referenceContext;
-- AbstractMethodDeclaration methodDecl = typeDecl.declarationOf(originalMethod);
-- if (methodDecl != null)
-- ASTNode.resolveAnnotations(methodDecl.scope, methodDecl.annotations, originalMethod);
-- }
-- }
-- return originalMethod.tagBits;
-+ MethodBinding originalMethod = original();
-+ if ((originalMethod.tagBits & TagBits.AnnotationResolved) == 0 && originalMethod.declaringClass instanceof SourceTypeBinding) {
-+ ClassScope scope = ((SourceTypeBinding) originalMethod.declaringClass).scope;
-+ if (scope != null) {
-+ TypeDeclaration typeDecl = scope.referenceContext;
-+ AbstractMethodDeclaration methodDecl = typeDecl.declarationOf(originalMethod);
-+ if (methodDecl != null)
-+ ASTNode.resolveAnnotations(methodDecl.scope, methodDecl.annotations, originalMethod);
-+ }
-+ }
-+ return originalMethod.tagBits;
- }
-+
- /**
- * @return the default value for this annotation method or <code>null</code> if there is no default value
- */
- public Object getDefaultValue() {
-- MethodBinding originalMethod = this.original();
-- if ((originalMethod.tagBits & TagBits.DefaultValueResolved) == 0) {
-- //The method has not been resolved nor has its class been resolved.
-- //It can only be from a source type within compilation units to process.
-- if (originalMethod.declaringClass instanceof SourceTypeBinding) {
-- SourceTypeBinding sourceType = (SourceTypeBinding) originalMethod.declaringClass;
-- if (sourceType.scope != null) {
-- AbstractMethodDeclaration methodDeclaration = originalMethod.sourceMethod();
-- if (methodDeclaration != null && methodDeclaration.isAnnotationMethod()) {
-- methodDeclaration.resolve(sourceType.scope);
-- }
-- }
-- }
-- originalMethod.tagBits |= TagBits.DefaultValueResolved;
-- }
-- AnnotationHolder holder = originalMethod.declaringClass.retrieveAnnotationHolder(originalMethod, true);
-- return holder == null ? null : holder.getDefaultValue();
-+ MethodBinding originalMethod = original();
-+ if ((originalMethod.tagBits & TagBits.DefaultValueResolved) == 0) {
-+ //The method has not been resolved nor has its class been resolved.
-+ //It can only be from a source type within compilation units to process.
-+ if (originalMethod.declaringClass instanceof SourceTypeBinding) {
-+ SourceTypeBinding sourceType = (SourceTypeBinding) originalMethod.declaringClass;
-+ if (sourceType.scope != null) {
-+ AbstractMethodDeclaration methodDeclaration = originalMethod.sourceMethod();
-+ if (methodDeclaration != null && methodDeclaration.isAnnotationMethod()) {
-+ methodDeclaration.resolve(sourceType.scope);
-+ }
-+ }
-+ }
-+ originalMethod.tagBits |= TagBits.DefaultValueResolved;
-+ }
-+ AnnotationHolder holder = originalMethod.declaringClass.retrieveAnnotationHolder(originalMethod, true);
-+ return holder == null ? null : holder.getDefaultValue();
-+}
-+
-+/**
-+ * Return the highest method/constructor in supertype hierarchy with same selector and arguments
-+ */
-+public MethodBinding getHighestOverridenMethod(LookupEnvironment environment) {
-+ MethodBinding bestMethod = this;
-+ ReferenceBinding currentType = this.declaringClass;
-+ if (this.isConstructor()) {
-+ // walk superclasses - only
-+ do {
-+ MethodBinding superMethod = currentType.getExactConstructor(this.parameters);
-+ if (superMethod != null) {
-+ bestMethod = superMethod;
-+ }
-+ } while ((currentType = currentType.superclass()) != null);
-+ return bestMethod;
-+ }
-+ MethodVerifier verifier = environment.methodVerifier();
-+ // walk superclasses
-+ ReferenceBinding[] interfacesToVisit = null;
-+ int nextPosition = 0;
-+ do {
-+ MethodBinding[] superMethods = currentType.getMethods(this.selector);
-+ for (int i = 0, length = superMethods.length; i < length; i++) {
-+ if (verifier.doesMethodOverride(this, superMethods[i])) {
-+ bestMethod = superMethods[i];
-+ break;
-+ }
-+ }
-+ ReferenceBinding[] itsInterfaces = currentType.superInterfaces();
-+ if (itsInterfaces != null && itsInterfaces != Binding.NO_SUPERINTERFACES) {
-+ if (interfacesToVisit == null) {
-+ interfacesToVisit = itsInterfaces;
-+ nextPosition = interfacesToVisit.length;
-+ } else {
-+ int itsLength = itsInterfaces.length;
-+ if (nextPosition + itsLength >= interfacesToVisit.length)
-+ System.arraycopy(interfacesToVisit, 0, interfacesToVisit = new ReferenceBinding[nextPosition + itsLength + 5], 0, nextPosition);
-+ nextInterface : for (int a = 0; a < itsLength; a++) {
-+ ReferenceBinding next = itsInterfaces[a];
-+ for (int b = 0; b < nextPosition; b++)
-+ if (next == interfacesToVisit[b]) continue nextInterface;
-+ interfacesToVisit[nextPosition++] = next;
-+ }
-+ }
-+ }
-+ } while ((currentType = currentType.superclass()) != null);
-+ if (bestMethod.declaringClass.id == TypeIds.T_JavaLangObject) {
-+ return bestMethod;
-+ }
-+ // walk superinterfaces
-+ for (int i = 0; i < nextPosition; i++) {
-+ currentType = interfacesToVisit[i];
-+ MethodBinding[] superMethods = currentType.getMethods(this.selector);
-+ for (int j = 0, length = superMethods.length; j < length; j++) {
-+ MethodBinding superMethod = superMethods[j];
-+ if (verifier.doesMethodOverride(this, superMethod)) {
-+ TypeBinding bestReturnType = bestMethod.returnType;
-+ if (bestReturnType == superMethod.returnType
-+ || bestMethod.returnType.findSuperTypeOriginatingFrom(superMethod.returnType) != null) {
-+ bestMethod = superMethod;
-+ }
-+ break;
-+ }
-+ }
-+ ReferenceBinding[] itsInterfaces = currentType.superInterfaces();
-+ if (itsInterfaces != null && itsInterfaces != Binding.NO_SUPERINTERFACES) {
-+ int itsLength = itsInterfaces.length;
-+ if (nextPosition + itsLength >= interfacesToVisit.length)
-+ System.arraycopy(interfacesToVisit, 0, interfacesToVisit = new ReferenceBinding[nextPosition + itsLength + 5], 0, nextPosition);
-+ nextInterface : for (int a = 0; a < itsLength; a++) {
-+ ReferenceBinding next = itsInterfaces[a];
-+ for (int b = 0; b < nextPosition; b++)
-+ if (next == interfacesToVisit[b]) continue nextInterface;
-+ interfacesToVisit[nextPosition++] = next;
-+ }
-+ }
-+ }
-+ return bestMethod;
- }
-
- /**
- * @return the annotations for each of the method parameters or <code>null></code>
-- * if there's no parameter or no annotation at all.
-+ * if there's no parameter or no annotation at all.
- */
- public AnnotationBinding[][] getParameterAnnotations() {
-- int length = this.parameters.length;
-- if (this.parameters == null || length == 0) {
-- return null;
-- }
-- MethodBinding originalMethod = this.original();
-- AnnotationHolder holder = originalMethod.declaringClass.retrieveAnnotationHolder(originalMethod, true);
-- AnnotationBinding[][] allParameterAnnotations = holder == null ? null : holder.getParameterAnnotations();
-- if (allParameterAnnotations == null && (this.tagBits & TagBits.HasParameterAnnotations) != 0) {
-- allParameterAnnotations = new AnnotationBinding[length][];
-- // forward reference to method, where param annotations have not yet been associated to method
-- if (this.declaringClass instanceof SourceTypeBinding) {
-- SourceTypeBinding sourceType = (SourceTypeBinding) this.declaringClass;
-- if (sourceType.scope != null) {
-- AbstractMethodDeclaration methodDecl = sourceType.scope.referenceType().declarationOf(this);
-- for (int i = 0; i < length; i++) {
-- Argument argument = methodDecl.arguments[i];
-- if (argument.annotations != null) {
-- ASTNode.resolveAnnotations(methodDecl.scope, argument.annotations, argument.binding);
-- allParameterAnnotations[i] = argument.binding.getAnnotations();
-- } else {
-- allParameterAnnotations[i] = Binding.NO_ANNOTATIONS;
-- }
-- }
-- } else {
-- for (int i = 0; i < length; i++) {
-- allParameterAnnotations[i] = Binding.NO_ANNOTATIONS;
-- }
-- }
-- } else {
-- for (int i = 0; i < length; i++) {
-- allParameterAnnotations[i] = Binding.NO_ANNOTATIONS;
-- }
-- }
-- this.setParameterAnnotations(allParameterAnnotations);
-- }
-- return allParameterAnnotations;
-+ int length;
-+ if ((length = this.parameters.length) == 0) {
-+ return null;
-+ }
-+ MethodBinding originalMethod = original();
-+ AnnotationHolder holder = originalMethod.declaringClass.retrieveAnnotationHolder(originalMethod, true);
-+ AnnotationBinding[][] allParameterAnnotations = holder == null ? null : holder.getParameterAnnotations();
-+ if (allParameterAnnotations == null && (this.tagBits & TagBits.HasParameterAnnotations) != 0) {
-+ allParameterAnnotations = new AnnotationBinding[length][];
-+ // forward reference to method, where param annotations have not yet been associated to method
-+ if (this.declaringClass instanceof SourceTypeBinding) {
-+ SourceTypeBinding sourceType = (SourceTypeBinding) this.declaringClass;
-+ if (sourceType.scope != null) {
-+ AbstractMethodDeclaration methodDecl = sourceType.scope.referenceType().declarationOf(this);
-+ for (int i = 0; i < length; i++) {
-+ Argument argument = methodDecl.arguments[i];
-+ if (argument.annotations != null) {
-+ ASTNode.resolveAnnotations(methodDecl.scope, argument.annotations, argument.binding);
-+ allParameterAnnotations[i] = argument.binding.getAnnotations();
-+ } else {
-+ allParameterAnnotations[i] = Binding.NO_ANNOTATIONS;
-+ }
-+ }
-+ } else {
-+ for (int i = 0; i < length; i++) {
-+ allParameterAnnotations[i] = Binding.NO_ANNOTATIONS;
-+ }
-+ }
-+ } else {
-+ for (int i = 0; i < length; i++) {
-+ allParameterAnnotations[i] = Binding.NO_ANNOTATIONS;
-+ }
-+ }
-+ setParameterAnnotations(allParameterAnnotations);
-+ }
-+ return allParameterAnnotations;
- }
-+
- public TypeVariableBinding getTypeVariable(char[] variableName) {
-- for (int i = this.typeVariables.length; --i >= 0;)
-- if (CharOperation.equals(this.typeVariables[i].sourceName, variableName))
-- return this.typeVariables[i];
-- return null;
-+ for (int i = this.typeVariables.length; --i >= 0;)
-+ if (CharOperation.equals(this.typeVariables[i].sourceName, variableName))
-+ return this.typeVariables[i];
-+ return null;
- }
-+
- /**
- * Returns true if method got substituted parameter types
- * (see ParameterizedMethodBinding)
- */
- public boolean hasSubstitutedParameters() {
-- return false;
-+ return false;
- }
-+
- /* Answer true if the return type got substituted.
- */
- public boolean hasSubstitutedReturnType() {
-- return false;
-+ return false;
- }
-
- /* Answer true if the receiver is an abstract method
- */
- public final boolean isAbstract() {
-- return (modifiers & ClassFileConstants.AccAbstract) != 0;
-+ return (this.modifiers & ClassFileConstants.AccAbstract) != 0;
- }
-
- /* Answer true if the receiver is a bridge method
- */
- public final boolean isBridge() {
-- return (modifiers & ClassFileConstants.AccBridge) != 0;
-+ return (this.modifiers & ClassFileConstants.AccBridge) != 0;
- }
-
- /* Answer true if the receiver is a constructor
- */
- public final boolean isConstructor() {
-- return selector == TypeConstants.INIT;
-+ return this.selector == TypeConstants.INIT;
- }
-
- /* Answer true if the receiver has default visibility
- */
- public final boolean isDefault() {
-- return !isPublic() && !isProtected() && !isPrivate();
-+ return !isPublic() && !isProtected() && !isPrivate();
- }
-
- /* Answer true if the receiver is a system generated default abstract method
- */
- public final boolean isDefaultAbstract() {
-- return (modifiers & ExtraCompilerModifiers.AccDefaultAbstract) != 0;
-+ return (this.modifiers & ExtraCompilerModifiers.AccDefaultAbstract) != 0;
- }
-
- /* Answer true if the receiver is a deprecated method
- */
- public final boolean isDeprecated() {
-- return (modifiers & ClassFileConstants.AccDeprecated) != 0;
-+ return (this.modifiers & ClassFileConstants.AccDeprecated) != 0;
- }
-
- /* Answer true if the receiver is final and cannot be overridden
- */
- public final boolean isFinal() {
-- return (modifiers & ClassFileConstants.AccFinal) != 0;
-+ return (this.modifiers & ClassFileConstants.AccFinal) != 0;
- }
-
- /* Answer true if the receiver is implementing another method
-@@ -612,98 +730,107 @@
- * Only set for source methods
- */
- public final boolean isImplementing() {
-- return (modifiers & ExtraCompilerModifiers.AccImplementing) != 0;
-+ return (this.modifiers & ExtraCompilerModifiers.AccImplementing) != 0;
- }
-
- /*
- * Answer true if the receiver is a "public static void main(String[])" method
- */
- public final boolean isMain() {
-- if (this.selector.length == 4 && CharOperation.equals(this.selector, TypeConstants.MAIN)
-- && ((this.modifiers & (ClassFileConstants.AccPublic | ClassFileConstants.AccStatic)) != 0)
-- && TypeBinding.VOID == this.returnType
-- && this.parameters.length == 1) {
-- TypeBinding paramType = this.parameters[0];
-- if (paramType.dimensions() == 1 && paramType.leafComponentType().id == TypeIds.T_JavaLangString) {
-- return true;
-- }
-- }
-- return false;
-+ if (this.selector.length == 4 && CharOperation.equals(this.selector, TypeConstants.MAIN)
-+ && ((this.modifiers & (ClassFileConstants.AccPublic | ClassFileConstants.AccStatic)) != 0)
-+ && TypeBinding.VOID == this.returnType
-+ && this.parameters.length == 1) {
-+ TypeBinding paramType = this.parameters[0];
-+ if (paramType.dimensions() == 1 && paramType.leafComponentType().id == TypeIds.T_JavaLangString) {
-+ return true;
-+ }
-+ }
-+ return false;
- }
-
- /* Answer true if the receiver is a native method
- */
- public final boolean isNative() {
-- return (modifiers & ClassFileConstants.AccNative) != 0;
-+ return (this.modifiers & ClassFileConstants.AccNative) != 0;
- }
-
- /* Answer true if the receiver is overriding another method
- * Only set for source methods
- */
- public final boolean isOverriding() {
-- return (modifiers & ExtraCompilerModifiers.AccOverriding) != 0;
-+ return (this.modifiers & ExtraCompilerModifiers.AccOverriding) != 0;
- }
- /* Answer true if the receiver has private visibility
- */
- public final boolean isPrivate() {
-- return (modifiers & ClassFileConstants.AccPrivate) != 0;
-+ return (this.modifiers & ClassFileConstants.AccPrivate) != 0;
- }
-+
-+/* Answer true if the receiver has private visibility or if any of its enclosing types do.
-+*/
-+public final boolean isOrEnclosedByPrivateType() {
-+ if ((this.modifiers & ClassFileConstants.AccPrivate) != 0)
-+ return true;
-+ return this.declaringClass != null && this.declaringClass.isOrEnclosedByPrivateType();
-+}
-+
- /* Answer true if the receiver has protected visibility
- */
- public final boolean isProtected() {
-- return (modifiers & ClassFileConstants.AccProtected) != 0;
-+ return (this.modifiers & ClassFileConstants.AccProtected) != 0;
- }
-
- /* Answer true if the receiver has public visibility
- */
- public final boolean isPublic() {
-- return (modifiers & ClassFileConstants.AccPublic) != 0;
-+ return (this.modifiers & ClassFileConstants.AccPublic) != 0;
- }
-
- /* Answer true if the receiver is a static method
- */
- public final boolean isStatic() {
-- return (modifiers & ClassFileConstants.AccStatic) != 0;
-+ return (this.modifiers & ClassFileConstants.AccStatic) != 0;
- }
-
- /* Answer true if all float operations must adher to IEEE 754 float/double rules
- */
- public final boolean isStrictfp() {
-- return (modifiers & ClassFileConstants.AccStrictfp) != 0;
-+ return (this.modifiers & ClassFileConstants.AccStrictfp) != 0;
- }
-
- /* Answer true if the receiver is a synchronized method
- */
- public final boolean isSynchronized() {
-- return (modifiers & ClassFileConstants.AccSynchronized) != 0;
-+ return (this.modifiers & ClassFileConstants.AccSynchronized) != 0;
- }
-
- /* Answer true if the receiver has public visibility
- */
- public final boolean isSynthetic() {
-- return (modifiers & ClassFileConstants.AccSynthetic) != 0;
-+ return (this.modifiers & ClassFileConstants.AccSynthetic) != 0;
- }
-
- /* Answer true if the receiver has private visibility and is used locally
- */
- public final boolean isUsed() {
-- return (modifiers & ExtraCompilerModifiers.AccLocallyUsed) != 0;
-+ return (this.modifiers & ExtraCompilerModifiers.AccLocallyUsed) != 0;
- }
-
- /* Answer true if the receiver method has varargs
- */
- public final boolean isVarargs() {
-- return (modifiers & ClassFileConstants.AccVarargs) != 0;
-+ return (this.modifiers & ClassFileConstants.AccVarargs) != 0;
- }
-
- /* Answer true if the receiver's declaring type is deprecated (or any of its enclosing types)
- */
- public final boolean isViewedAsDeprecated() {
-- return (modifiers & (ClassFileConstants.AccDeprecated | ExtraCompilerModifiers.AccDeprecatedImplicitly)) != 0;
-+ return (this.modifiers & (ClassFileConstants.AccDeprecated | ExtraCompilerModifiers.AccDeprecatedImplicitly)) != 0;
- }
-
- public final int kind() {
-- return Binding.METHOD;
-+ return Binding.METHOD;
- }
- /* Answer true if the receiver is visible to the invocationPackage.
- */
-@@ -712,76 +839,76 @@
- * Returns the original method (as opposed to parameterized instances)
- */
- public MethodBinding original() {
-- return this;
-+ return this;
- }
-
- public char[] readableName() /* foo(int, Thread) */ {
-- StringBuffer buffer = new StringBuffer(parameters.length + 1 * 20);
-- if (isConstructor())
-- buffer.append(declaringClass.sourceName());
-- else
-- buffer.append(selector);
-- buffer.append('(');
-- if (parameters != Binding.NO_PARAMETERS) {
-- for (int i = 0, length = parameters.length; i < length; i++) {
-- if (i > 0)
-- buffer.append(", "); //$NON-NLS-1$
-- buffer.append(parameters[i].sourceName());
-- }
-- }
-- buffer.append(')');
-- return buffer.toString().toCharArray();
-+ StringBuffer buffer = new StringBuffer(this.parameters.length + 1 * 20);
-+ if (isConstructor())
-+ buffer.append(this.declaringClass.sourceName());
-+ else
-+ buffer.append(this.selector);
-+ buffer.append('(');
-+ if (this.parameters != Binding.NO_PARAMETERS) {
-+ for (int i = 0, length = this.parameters.length; i < length; i++) {
-+ if (i > 0)
-+ buffer.append(", "); //$NON-NLS-1$
-+ buffer.append(this.parameters[i].sourceName());
-+ }
-+ }
-+ buffer.append(')');
-+ return buffer.toString().toCharArray();
- }
- public void setAnnotations(AnnotationBinding[] annotations) {
-- this.declaringClass.storeAnnotations(this, annotations);
-+ this.declaringClass.storeAnnotations(this, annotations);
- }
--public void setAnnotations(AnnotationBinding[] annotations, AnnotationBinding[][] parameterAnnotations, Object defaultValue) {
-- this.declaringClass.storeAnnotationHolder(this, AnnotationHolder.storeAnnotations(annotations, parameterAnnotations, defaultValue));
-+public void setAnnotations(AnnotationBinding[] annotations, AnnotationBinding[][] parameterAnnotations, Object defaultValue, LookupEnvironment optionalEnv) {
-+ this.declaringClass.storeAnnotationHolder(this, AnnotationHolder.storeAnnotations(annotations, parameterAnnotations, defaultValue, optionalEnv));
- }
- public void setDefaultValue(Object defaultValue) {
-- MethodBinding originalMethod = this.original();
-- originalMethod.tagBits |= TagBits.DefaultValueResolved;
-+ MethodBinding originalMethod = original();
-+ originalMethod.tagBits |= TagBits.DefaultValueResolved;
-
-- AnnotationHolder holder = this.declaringClass.retrieveAnnotationHolder(this, false);
-- if (holder == null)
-- setAnnotations(null, null, defaultValue);
-- else
-- setAnnotations(holder.getAnnotations(), holder.getParameterAnnotations(), defaultValue);
-+ AnnotationHolder holder = this.declaringClass.retrieveAnnotationHolder(this, false);
-+ if (holder == null)
-+ setAnnotations(null, null, defaultValue, null);
-+ else
-+ setAnnotations(holder.getAnnotations(), holder.getParameterAnnotations(), defaultValue, null);
- }
- public void setParameterAnnotations(AnnotationBinding[][] parameterAnnotations) {
-- AnnotationHolder holder = this.declaringClass.retrieveAnnotationHolder(this, false);
-- if (holder == null)
-- setAnnotations(null, parameterAnnotations, null);
-- else
-- setAnnotations(holder.getAnnotations(), parameterAnnotations, holder.getDefaultValue());
-+ AnnotationHolder holder = this.declaringClass.retrieveAnnotationHolder(this, false);
-+ if (holder == null)
-+ setAnnotations(null, parameterAnnotations, null, null);
-+ else
-+ setAnnotations(holder.getAnnotations(), parameterAnnotations, holder.getDefaultValue(), null);
- }
- protected final void setSelector(char[] selector) {
-- this.selector = selector;
-- this.signature = null;
-+ this.selector = selector;
-+ this.signature = null;
- }
-
- /**
- * @see org.eclipse.jdt.internal.compiler.lookup.Binding#shortReadableName()
- */
- public char[] shortReadableName() {
-- StringBuffer buffer = new StringBuffer(parameters.length + 1 * 20);
-- if (isConstructor())
-- buffer.append(declaringClass.shortReadableName());
-- else
-- buffer.append(selector);
-- buffer.append('(');
-- if (parameters != Binding.NO_PARAMETERS) {
-- for (int i = 0, length = parameters.length; i < length; i++) {
-- if (i > 0)
-- buffer.append(", "); //$NON-NLS-1$
-- buffer.append(parameters[i].shortReadableName());
-- }
-- }
-- buffer.append(')');
-- int nameLength = buffer.length();
-- char[] shortReadableName = new char[nameLength];
-- buffer.getChars(0, nameLength, shortReadableName, 0);
-- return shortReadableName;
-+ StringBuffer buffer = new StringBuffer(this.parameters.length + 1 * 20);
-+ if (isConstructor())
-+ buffer.append(this.declaringClass.shortReadableName());
-+ else
-+ buffer.append(this.selector);
-+ buffer.append('(');
-+ if (this.parameters != Binding.NO_PARAMETERS) {
-+ for (int i = 0, length = this.parameters.length; i < length; i++) {
-+ if (i > 0)
-+ buffer.append(", "); //$NON-NLS-1$
-+ buffer.append(this.parameters[i].shortReadableName());
-+ }
-+ }
-+ buffer.append(')');
-+ int nameLength = buffer.length();
-+ char[] shortReadableName = new char[nameLength];
-+ buffer.getChars(0, nameLength, shortReadableName, 0);
-+ return shortReadableName;
- }
-
- /* Answer the receiver's signature.
-@@ -791,219 +918,219 @@
- * type changes, the cached state is invalid.
- */
- public final char[] signature() /* (ILjava/lang/Thread;)Ljava/lang/Object; */ {
-- if (signature != null)
-- return signature;
-+ if (this.signature != null)
-+ return this.signature;
-
-- StringBuffer buffer = new StringBuffer(parameters.length + 1 * 20);
-- buffer.append('(');
--
-- TypeBinding[] targetParameters = this.parameters;
-- boolean isConstructor = isConstructor();
-- if (isConstructor && declaringClass.isEnum()) { // insert String name,int ordinal
-- buffer.append(ConstantPool.JavaLangStringSignature);
-- buffer.append(TypeBinding.INT.signature());
-- }
-- boolean needSynthetics = isConstructor && declaringClass.isNestedType();
-- if (needSynthetics) {
-- // take into account the synthetic argument type signatures as well
-- ReferenceBinding[] syntheticArgumentTypes = declaringClass.syntheticEnclosingInstanceTypes();
-- if (syntheticArgumentTypes != null) {
-- for (int i = 0, count = syntheticArgumentTypes.length; i < count; i++) {
-- buffer.append(syntheticArgumentTypes[i].signature());
-- }
-- }
--
-- if (this instanceof SyntheticMethodBinding) {
-- targetParameters = ((SyntheticMethodBinding)this).targetMethod.parameters;
-- }
-- }
-+ StringBuffer buffer = new StringBuffer(this.parameters.length + 1 * 20);
-+ buffer.append('(');
-
-- if (targetParameters != Binding.NO_PARAMETERS) {
-- for (int i = 0; i < targetParameters.length; i++) {
-- buffer.append(targetParameters[i].signature());
-- }
-- }
-- if (needSynthetics) {
-- SyntheticArgumentBinding[] syntheticOuterArguments = declaringClass.syntheticOuterLocalVariables();
-- int count = syntheticOuterArguments == null ? 0 : syntheticOuterArguments.length;
-- for (int i = 0; i < count; i++) {
-- buffer.append(syntheticOuterArguments[i].type.signature());
-- }
-- // move the extra padding arguments of the synthetic constructor invocation to the end
-- for (int i = targetParameters.length, extraLength = parameters.length; i < extraLength; i++) {
-- buffer.append(parameters[i].signature());
-- }
-- }
-- buffer.append(')');
-- if (this.returnType != null)
-- buffer.append(this.returnType.signature());
-- int nameLength = buffer.length();
-- signature = new char[nameLength];
-- buffer.getChars(0, nameLength, signature, 0);
--
-- return signature;
-+ TypeBinding[] targetParameters = this.parameters;
-+ boolean isConstructor = isConstructor();
-+ if (isConstructor && this.declaringClass.isEnum()) { // insert String name,int ordinal
-+ buffer.append(ConstantPool.JavaLangStringSignature);
-+ buffer.append(TypeBinding.INT.signature());
-+ }
-+ boolean needSynthetics = isConstructor && this.declaringClass.isNestedType();
-+ if (needSynthetics) {
-+ // take into account the synthetic argument type signatures as well
-+ ReferenceBinding[] syntheticArgumentTypes = this.declaringClass.syntheticEnclosingInstanceTypes();
-+ if (syntheticArgumentTypes != null) {
-+ for (int i = 0, count = syntheticArgumentTypes.length; i < count; i++) {
-+ buffer.append(syntheticArgumentTypes[i].signature());
-+ }
-+ }
-+
-+ if (this instanceof SyntheticMethodBinding) {
-+ targetParameters = ((SyntheticMethodBinding)this).targetMethod.parameters;
-+ }
-+ }
-+
-+ if (targetParameters != Binding.NO_PARAMETERS) {
-+ for (int i = 0; i < targetParameters.length; i++) {
-+ buffer.append(targetParameters[i].signature());
-+ }
-+ }
-+ if (needSynthetics) {
-+ SyntheticArgumentBinding[] syntheticOuterArguments = this.declaringClass.syntheticOuterLocalVariables();
-+ int count = syntheticOuterArguments == null ? 0 : syntheticOuterArguments.length;
-+ for (int i = 0; i < count; i++) {
-+ buffer.append(syntheticOuterArguments[i].type.signature());
-+ }
-+ // move the extra padding arguments of the synthetic constructor invocation to the end
-+ for (int i = targetParameters.length, extraLength = this.parameters.length; i < extraLength; i++) {
-+ buffer.append(this.parameters[i].signature());
-+ }
-+ }
-+ buffer.append(')');
-+ if (this.returnType != null)
-+ buffer.append(this.returnType.signature());
-+ int nameLength = buffer.length();
-+ this.signature = new char[nameLength];
-+ buffer.getChars(0, nameLength, this.signature, 0);
-+
-+ return this.signature;
- }
- /*
- * This method is used to record references to nested types inside the method signature.
- * This is the one that must be used during code generation.
-- *
-+ *
- * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=171184
- */
- public final char[] signature(ClassFile classFile) {
-- if (signature != null) {
-- if ((this.tagBits & TagBits.ContainsNestedTypesInSignature) != 0) {
-- // we need to record inner classes references
-- boolean isConstructor = isConstructor();
-- TypeBinding[] targetParameters = this.parameters;
-- boolean needSynthetics = isConstructor && declaringClass.isNestedType();
-- if (needSynthetics) {
-- // take into account the synthetic argument type signatures as well
-- ReferenceBinding[] syntheticArgumentTypes = declaringClass.syntheticEnclosingInstanceTypes();
-- if (syntheticArgumentTypes != null) {
-- for (int i = 0, count = syntheticArgumentTypes.length; i < count; i++) {
-- ReferenceBinding syntheticArgumentType = syntheticArgumentTypes[i];
-- if (syntheticArgumentType.isNestedType()) {
-- classFile.recordInnerClasses(syntheticArgumentType);
-- }
-- }
-- }
-- if (this instanceof SyntheticMethodBinding) {
-- targetParameters = ((SyntheticMethodBinding)this).targetMethod.parameters;
-- }
-- }
--
-- if (targetParameters != Binding.NO_PARAMETERS) {
-- for (int i = 0; i < targetParameters.length; i++) {
-- TypeBinding targetParameter = targetParameters[i];
-- TypeBinding leafTargetParameterType = targetParameter.leafComponentType();
-- if (leafTargetParameterType.isNestedType()) {
-- classFile.recordInnerClasses(leafTargetParameterType);
-- }
-- }
-- }
-- if (needSynthetics) {
-- // move the extra padding arguments of the synthetic constructor invocation to the end
-- for (int i = targetParameters.length, extraLength = parameters.length; i < extraLength; i++) {
-- TypeBinding parameter = parameters[i];
-- TypeBinding leafParameterType = parameter.leafComponentType();
-- if (leafParameterType.isNestedType()) {
-- classFile.recordInnerClasses(leafParameterType);
-- }
-- }
-- }
-- if (this.returnType != null) {
-- TypeBinding ret = this.returnType.leafComponentType();
-- if (ret.isNestedType()) {
-- classFile.recordInnerClasses(ret);
-- }
-- }
-- }
-- return signature;
-- }
--
-- StringBuffer buffer = new StringBuffer(parameters.length + 1 * 20);
-- buffer.append('(');
--
-- TypeBinding[] targetParameters = this.parameters;
-- boolean isConstructor = isConstructor();
-- if (isConstructor && declaringClass.isEnum()) { // insert String name,int ordinal
-- buffer.append(ConstantPool.JavaLangStringSignature);
-- buffer.append(TypeBinding.INT.signature());
-- }
-- boolean needSynthetics = isConstructor && declaringClass.isNestedType();
-- if (needSynthetics) {
-- // take into account the synthetic argument type signatures as well
-- ReferenceBinding[] syntheticArgumentTypes = declaringClass.syntheticEnclosingInstanceTypes();
-- if (syntheticArgumentTypes != null) {
-- for (int i = 0, count = syntheticArgumentTypes.length; i < count; i++) {
-- ReferenceBinding syntheticArgumentType = syntheticArgumentTypes[i];
-- if (syntheticArgumentType.isNestedType()) {
-- this.tagBits |= TagBits.ContainsNestedTypesInSignature;
-- classFile.recordInnerClasses(syntheticArgumentType);
-- }
-- buffer.append(syntheticArgumentType.signature());
-- }
-- }
--
-- if (this instanceof SyntheticMethodBinding) {
-- targetParameters = ((SyntheticMethodBinding)this).targetMethod.parameters;
-- }
-- }
-+ if (this.signature != null) {
-+ if ((this.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ // we need to record inner classes references
-+ boolean isConstructor = isConstructor();
-+ TypeBinding[] targetParameters = this.parameters;
-+ boolean needSynthetics = isConstructor && this.declaringClass.isNestedType();
-+ if (needSynthetics) {
-+ // take into account the synthetic argument type signatures as well
-+ ReferenceBinding[] syntheticArgumentTypes = this.declaringClass.syntheticEnclosingInstanceTypes();
-+ if (syntheticArgumentTypes != null) {
-+ for (int i = 0, count = syntheticArgumentTypes.length; i < count; i++) {
-+ ReferenceBinding syntheticArgumentType = syntheticArgumentTypes[i];
-+ if ((syntheticArgumentType.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ Util.recordNestedType(classFile, syntheticArgumentType);
-+ }
-+ }
-+ }
-+ if (this instanceof SyntheticMethodBinding) {
-+ targetParameters = ((SyntheticMethodBinding)this).targetMethod.parameters;
-+ }
-+ }
-+
-+ if (targetParameters != Binding.NO_PARAMETERS) {
-+ for (int i = 0, max = targetParameters.length; i < max; i++) {
-+ TypeBinding targetParameter = targetParameters[i];
-+ TypeBinding leafTargetParameterType = targetParameter.leafComponentType();
-+ if ((leafTargetParameterType.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ Util.recordNestedType(classFile, leafTargetParameterType);
-+ }
-+ }
-+ }
-+ if (needSynthetics) {
-+ // move the extra padding arguments of the synthetic constructor invocation to the end
-+ for (int i = targetParameters.length, extraLength = this.parameters.length; i < extraLength; i++) {
-+ TypeBinding parameter = this.parameters[i];
-+ TypeBinding leafParameterType = parameter.leafComponentType();
-+ if ((leafParameterType.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ Util.recordNestedType(classFile, leafParameterType);
-+ }
-+ }
-+ }
-+ if (this.returnType != null) {
-+ TypeBinding ret = this.returnType.leafComponentType();
-+ if ((ret.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ Util.recordNestedType(classFile, ret);
-+ }
-+ }
-+ }
-+ return this.signature;
-+ }
-+
-+ StringBuffer buffer = new StringBuffer(this.parameters.length + 1 * 20);
-+ buffer.append('(');
-+
-+ TypeBinding[] targetParameters = this.parameters;
-+ boolean isConstructor = isConstructor();
-+ if (isConstructor && this.declaringClass.isEnum()) { // insert String name,int ordinal
-+ buffer.append(ConstantPool.JavaLangStringSignature);
-+ buffer.append(TypeBinding.INT.signature());
-+ }
-+ boolean needSynthetics = isConstructor && this.declaringClass.isNestedType();
-+ if (needSynthetics) {
-+ // take into account the synthetic argument type signatures as well
-+ ReferenceBinding[] syntheticArgumentTypes = this.declaringClass.syntheticEnclosingInstanceTypes();
-+ if (syntheticArgumentTypes != null) {
-+ for (int i = 0, count = syntheticArgumentTypes.length; i < count; i++) {
-+ ReferenceBinding syntheticArgumentType = syntheticArgumentTypes[i];
-+ if ((syntheticArgumentType.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ this.tagBits |= TagBits.ContainsNestedTypeReferences;
-+ Util.recordNestedType(classFile, syntheticArgumentType);
-+ }
-+ buffer.append(syntheticArgumentType.signature());
-+ }
-+ }
-+
-+ if (this instanceof SyntheticMethodBinding) {
-+ targetParameters = ((SyntheticMethodBinding)this).targetMethod.parameters;
-+ }
-+ }
-+
-+ if (targetParameters != Binding.NO_PARAMETERS) {
-+ for (int i = 0, max = targetParameters.length; i < max; i++) {
-+ TypeBinding targetParameter = targetParameters[i];
-+ TypeBinding leafTargetParameterType = targetParameter.leafComponentType();
-+ if ((leafTargetParameterType.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ this.tagBits |= TagBits.ContainsNestedTypeReferences;
-+ Util.recordNestedType(classFile, leafTargetParameterType);
-+ }
-+ buffer.append(targetParameter.signature());
-+ }
-+ }
-+ if (needSynthetics) {
-+ SyntheticArgumentBinding[] syntheticOuterArguments = this.declaringClass.syntheticOuterLocalVariables();
-+ int count = syntheticOuterArguments == null ? 0 : syntheticOuterArguments.length;
-+ for (int i = 0; i < count; i++) {
-+ buffer.append(syntheticOuterArguments[i].type.signature());
-+ }
-+ // move the extra padding arguments of the synthetic constructor invocation to the end
-+ for (int i = targetParameters.length, extraLength = this.parameters.length; i < extraLength; i++) {
-+ TypeBinding parameter = this.parameters[i];
-+ TypeBinding leafParameterType = parameter.leafComponentType();
-+ if ((leafParameterType.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ this.tagBits |= TagBits.ContainsNestedTypeReferences;
-+ Util.recordNestedType(classFile, leafParameterType);
-+ }
-+ buffer.append(parameter.signature());
-+ }
-+ }
-+ buffer.append(')');
-+ if (this.returnType != null) {
-+ TypeBinding ret = this.returnType.leafComponentType();
-+ if ((ret.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
-+ this.tagBits |= TagBits.ContainsNestedTypeReferences;
-+ Util.recordNestedType(classFile, ret);
-+ }
-+ buffer.append(this.returnType.signature());
-+ }
-+ int nameLength = buffer.length();
-+ this.signature = new char[nameLength];
-+ buffer.getChars(0, nameLength, this.signature, 0);
-
-- if (targetParameters != Binding.NO_PARAMETERS) {
-- for (int i = 0; i < targetParameters.length; i++) {
-- TypeBinding targetParameter = targetParameters[i];
-- TypeBinding leafTargetParameterType = targetParameter.leafComponentType();
-- if (leafTargetParameterType.isNestedType()) {
-- this.tagBits |= TagBits.ContainsNestedTypesInSignature;
-- classFile.recordInnerClasses(leafTargetParameterType);
-- }
-- buffer.append(targetParameter.signature());
-- }
-- }
-- if (needSynthetics) {
-- SyntheticArgumentBinding[] syntheticOuterArguments = declaringClass.syntheticOuterLocalVariables();
-- int count = syntheticOuterArguments == null ? 0 : syntheticOuterArguments.length;
-- for (int i = 0; i < count; i++) {
-- buffer.append(syntheticOuterArguments[i].type.signature());
-- }
-- // move the extra padding arguments of the synthetic constructor invocation to the end
-- for (int i = targetParameters.length, extraLength = parameters.length; i < extraLength; i++) {
-- TypeBinding parameter = parameters[i];
-- TypeBinding leafParameterType = parameter.leafComponentType();
-- if (leafParameterType.isNestedType()) {
-- this.tagBits |= TagBits.ContainsNestedTypesInSignature;
-- classFile.recordInnerClasses(leafParameterType);
-- }
-- buffer.append(parameter.signature());
-- }
-- }
-- buffer.append(')');
-- if (this.returnType != null) {
-- TypeBinding ret = this.returnType.leafComponentType();
-- if (ret.isNestedType()) {
-- this.tagBits |= TagBits.ContainsNestedTypesInSignature;
-- classFile.recordInnerClasses(ret);
-- }
-- buffer.append(this.returnType.signature());
-- }
-- int nameLength = buffer.length();
-- signature = new char[nameLength];
-- buffer.getChars(0, nameLength, signature, 0);
--
-- return signature;
-+ return this.signature;
- }
- public final int sourceEnd() {
-- AbstractMethodDeclaration method = sourceMethod();
-- if (method == null) {
-- if (this.declaringClass instanceof SourceTypeBinding)
-- return ((SourceTypeBinding) this.declaringClass).sourceEnd();
-- return 0;
-- }
-- return method.sourceEnd;
-+ AbstractMethodDeclaration method = sourceMethod();
-+ if (method == null) {
-+ if (this.declaringClass instanceof SourceTypeBinding)
-+ return ((SourceTypeBinding) this.declaringClass).sourceEnd();
-+ return 0;
-+ }
-+ return method.sourceEnd;
- }
- public AbstractMethodDeclaration sourceMethod() {
-- SourceTypeBinding sourceType;
-- try {
-- sourceType = (SourceTypeBinding) declaringClass;
-- } catch (ClassCastException e) {
-- return null;
-- }
--
-- AbstractMethodDeclaration[] methods = sourceType.scope.referenceContext.methods;
-- for (int i = methods.length; --i >= 0;)
-- if (this == methods[i].binding)
-- return methods[i];
-- return null;
-+ SourceTypeBinding sourceType;
-+ try {
-+ sourceType = (SourceTypeBinding) this.declaringClass;
-+ } catch (ClassCastException e) {
-+ return null;
-+ }
-+
-+ AbstractMethodDeclaration[] methods = sourceType.scope.referenceContext.methods;
-+ for (int i = methods.length; --i >= 0;)
-+ if (this == methods[i].binding)
-+ return methods[i];
-+ return null;
- }
- public final int sourceStart() {
-- AbstractMethodDeclaration method = sourceMethod();
-- if (method == null) {
-- if (this.declaringClass instanceof SourceTypeBinding)
-- return ((SourceTypeBinding) this.declaringClass).sourceStart();
-- return 0;
-- }
-- return method.sourceStart;
-+ AbstractMethodDeclaration method = sourceMethod();
-+ if (method == null) {
-+ if (this.declaringClass instanceof SourceTypeBinding)
-+ return ((SourceTypeBinding) this.declaringClass).sourceStart();
-+ return 0;
-+ }
-+ return method.sourceStart;
- }
-
- /**
-@@ -1011,46 +1138,46 @@
- * For generic method invocations, tiebreak needs to use generic method with erasure substitutes.
- */
- public MethodBinding tiebreakMethod() {
-- return this;
-+ return this;
- }
- public String toString() {
-- StringBuffer output = new StringBuffer(10);
-- if ((this.modifiers & ExtraCompilerModifiers.AccUnresolved) != 0) {
-- output.append("[unresolved] "); //$NON-NLS-1$
-- }
-- ASTNode.printModifiers(this.modifiers, output);
-- output.append(returnType != null ? returnType.debugName() : "<no type>"); //$NON-NLS-1$
-- output.append(" "); //$NON-NLS-1$
-- output.append(selector != null ? new String(selector) : "<no selector>"); //$NON-NLS-1$
-- output.append("("); //$NON-NLS-1$
-- if (parameters != null) {
-- if (parameters != Binding.NO_PARAMETERS) {
-- for (int i = 0, length = parameters.length; i < length; i++) {
-- if (i > 0)
-- output.append(", "); //$NON-NLS-1$
-- output.append(parameters[i] != null ? parameters[i].debugName() : "<no argument type>"); //$NON-NLS-1$
-- }
-- }
-- } else {
-- output.append("<no argument types>"); //$NON-NLS-1$
-- }
-- output.append(") "); //$NON-NLS-1$
--
-- if (thrownExceptions != null) {
-- if (thrownExceptions != Binding.NO_EXCEPTIONS) {
-- output.append("throws "); //$NON-NLS-1$
-- for (int i = 0, length = thrownExceptions.length; i < length; i++) {
-- if (i > 0)
-- output.append(", "); //$NON-NLS-1$
-- output.append((thrownExceptions[i] != null) ? thrownExceptions[i].debugName() : "<no exception type>"); //$NON-NLS-1$
-- }
-- }
-- } else {
-- output.append("<no exception types>"); //$NON-NLS-1$
-- }
-- return output.toString();
-+ StringBuffer output = new StringBuffer(10);
-+ if ((this.modifiers & ExtraCompilerModifiers.AccUnresolved) != 0) {
-+ output.append("[unresolved] "); //$NON-NLS-1$
-+ }
-+ ASTNode.printModifiers(this.modifiers, output);
-+ output.append(this.returnType != null ? this.returnType.debugName() : "<no type>"); //$NON-NLS-1$
-+ output.append(" "); //$NON-NLS-1$
-+ output.append(this.selector != null ? new String(this.selector) : "<no selector>"); //$NON-NLS-1$
-+ output.append("("); //$NON-NLS-1$
-+ if (this.parameters != null) {
-+ if (this.parameters != Binding.NO_PARAMETERS) {
-+ for (int i = 0, length = this.parameters.length; i < length; i++) {
-+ if (i > 0)
-+ output.append(", "); //$NON-NLS-1$
-+ output.append(this.parameters[i] != null ? this.parameters[i].debugName() : "<no argument type>"); //$NON-NLS-1$
-+ }
-+ }
-+ } else {
-+ output.append("<no argument types>"); //$NON-NLS-1$
-+ }
-+ output.append(") "); //$NON-NLS-1$
-+
-+ if (this.thrownExceptions != null) {
-+ if (this.thrownExceptions != Binding.NO_EXCEPTIONS) {
-+ output.append("throws "); //$NON-NLS-1$
-+ for (int i = 0, length = this.thrownExceptions.length; i < length; i++) {
-+ if (i > 0)
-+ output.append(", "); //$NON-NLS-1$
-+ output.append((this.thrownExceptions[i] != null) ? this.thrownExceptions[i].debugName() : "<no exception type>"); //$NON-NLS-1$
-+ }
-+ }
-+ } else {
-+ output.append("<no exception types>"); //$NON-NLS-1$
-+ }
-+ return output.toString();
- }
- public TypeVariableBinding[] typeVariables() {
-- return this.typeVariables;
-+ return this.typeVariables;
- }
- }
-Index: gwt-debian/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
-===================================================================
---- gwt-debian.orig/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java 2011-12-21 11:43:29.209247312 +0100
-+++ gwt-debian/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java 2011-12-21 11:44:39.325245355 +0100
-@@ -1,5 +1,5 @@
- /*******************************************************************************
-- * Copyright (c) 2000, 2008 IBM Corporation and others.
-+ * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
-@@ -10,7 +10,7 @@
- *******************************************************************************/
- package org.eclipse.jdt.internal.compiler.lookup;
-
--import com.google.gwt.dev.util.collect.HashMap;
-+import java.util.Iterator;
-
- import org.eclipse.jdt.core.compiler.CharOperation;
- import org.eclipse.jdt.internal.compiler.ast.ASTNode;
-@@ -27,626 +27,624 @@
+Description: Minor fix to build with JDT 3.7
+Author: Brian Thomason <brian.thomason at eucalyptus.com>
+Bug-Debian: http://bugs.debian.org/624205
+Bug-Debian: http://bugs.debian.org/629733
+
+--- gwt-2.4.0.orig/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
++++ gwt-2.4.0/dev/core/src/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
+@@ -26,6 +26,7 @@ import org.eclipse.jdt.internal.compiler
+ import org.eclipse.jdt.internal.compiler.impl.Constant;
import org.eclipse.jdt.internal.compiler.util.SimpleLookupTable;
import org.eclipse.jdt.internal.compiler.util.Util;
++import org.eclipse.jdt.internal.compiler.problem.ProblemSeverities;
--import java.util.Hashtable;
--import java.util.Iterator;
-+import com.google.gwt.dev.util.collect.HashMap;
-
- public class SourceTypeBinding extends ReferenceBinding {
-- public ReferenceBinding superclass;
-- public ReferenceBinding[] superInterfaces;
-- private FieldBinding[] fields;
-- private MethodBinding[] methods;
-- public ReferenceBinding[] memberTypes;
-- public TypeVariableBinding[] typeVariables;
--
-- public ClassScope scope;
--
-- // Synthetics are separated into 5 categories: methods, super methods, fields, class literals, changed declaring type bindings and bridge methods
-- // if a new category is added, also increment MAX_SYNTHETICS
-- private final static int METHOD_EMUL = 0;
-- private final static int FIELD_EMUL = 1;
-- private final static int CLASS_LITERAL_EMUL = 2;
-- private final static int RECEIVER_TYPE_EMUL = 3;
--
-- private final static int MAX_SYNTHETICS = 4;
-+ public ReferenceBinding superclass;
-+ public ReferenceBinding[] superInterfaces;
-+ private FieldBinding[] fields;
-+ private MethodBinding[] methods;
-+ public ReferenceBinding[] memberTypes;
-+ public TypeVariableBinding[] typeVariables;
-+
-+ public ClassScope scope;
-+
-+ // Synthetics are separated into 4 categories: methods, super methods, fields, class literals and bridge methods
-+ // if a new category is added, also increment MAX_SYNTHETICS
-+ private final static int METHOD_EMUL = 0;
-+ private final static int FIELD_EMUL = 1;
-+ private final static int CLASS_LITERAL_EMUL = 2;
-+
-+ private final static int MAX_SYNTHETICS = 3;
-
-- HashMap[] synthetics;
-- char[] genericReferenceTypeSignature;
-+ HashMap[] synthetics;
-+ char[] genericReferenceTypeSignature;
-
-- private SimpleLookupTable storedAnnotations = null; // keys are this ReferenceBinding & its fields and methods, value is an AnnotationHolder
-+ private SimpleLookupTable storedAnnotations = null; // keys are this ReferenceBinding & its fields and methods, value is an AnnotationHolder
-
- public SourceTypeBinding(char[][] compoundName, PackageBinding fPackage, ClassScope scope) {
-- this.compoundName = compoundName;
-- this.fPackage = fPackage;
-- this.fileName = scope.referenceCompilationUnit().getFileName();
-- this.modifiers = scope.referenceContext.modifiers;
-- this.sourceName = scope.referenceContext.name;
-- this.scope = scope;
--
-- // expect the fields & methods to be initialized correctly later
-- this.fields = Binding.UNINITIALIZED_FIELDS;
-- this.methods = Binding.UNINITIALIZED_METHODS;
-+ this.compoundName = compoundName;
-+ this.fPackage = fPackage;
-+ this.fileName = scope.referenceCompilationUnit().getFileName();
-+ this.modifiers = scope.referenceContext.modifiers;
-+ this.sourceName = scope.referenceContext.name;
-+ this.scope = scope;
-+
-+ // expect the fields & methods to be initialized correctly later
-+ this.fields = Binding.UNINITIALIZED_FIELDS;
-+ this.methods = Binding.UNINITIALIZED_METHODS;
-
-- computeId();
-+ computeId();
- }
-
- private void addDefaultAbstractMethods() {
-- if ((this.tagBits & TagBits.KnowsDefaultAbstractMethods) != 0) return;
-+ if ((this.tagBits & TagBits.KnowsDefaultAbstractMethods) != 0) return;
-
-- this.tagBits |= TagBits.KnowsDefaultAbstractMethods;
-- if (isClass() && isAbstract()) {
-- if (this.scope.compilerOptions().targetJDK >= ClassFileConstants.JDK1_2)
-- return; // no longer added for post 1.2 targets
--
-- ReferenceBinding[] itsInterfaces = superInterfaces();
-- if (itsInterfaces != Binding.NO_SUPERINTERFACES) {
-- MethodBinding[] defaultAbstracts = null;
-- int defaultAbstractsCount = 0;
-- ReferenceBinding[] interfacesToVisit = itsInterfaces;
-- int nextPosition = interfacesToVisit.length;
-- for (int i = 0; i < nextPosition; i++) {
-- ReferenceBinding superType = interfacesToVisit[i];
-- if (superType.isValidBinding()) {
-- MethodBinding[] superMethods = superType.methods();
-- nextAbstractMethod: for (int m = superMethods.length; --m >= 0;) {
-- MethodBinding method = superMethods[m];
-- // explicitly implemented ?
-- if (implementsMethod(method))
-- continue nextAbstractMethod;
-- if (defaultAbstractsCount == 0) {
-- defaultAbstracts = new MethodBinding[5];
-- } else {
-- // already added as default abstract ?
-- for (int k = 0; k < defaultAbstractsCount; k++) {
-- MethodBinding alreadyAdded = defaultAbstracts[k];
-- if (CharOperation.equals(alreadyAdded.selector, method.selector) && alreadyAdded.areParametersEqual(method))
-- continue nextAbstractMethod;
-- }
-- }
-- MethodBinding defaultAbstract = new MethodBinding(
-- method.modifiers | ExtraCompilerModifiers.AccDefaultAbstract | ClassFileConstants.AccSynthetic,
-- method.selector,
-- method.returnType,
-- method.parameters,
-- method.thrownExceptions,
-- this);
-- if (defaultAbstractsCount == defaultAbstracts.length)
-- System.arraycopy(defaultAbstracts, 0, defaultAbstracts = new MethodBinding[2 * defaultAbstractsCount], 0, defaultAbstractsCount);
-- defaultAbstracts[defaultAbstractsCount++] = defaultAbstract;
-- }
--
-- if ((itsInterfaces = superType.superInterfaces()) != Binding.NO_SUPERINTERFACES) {
-- int itsLength = itsInterfaces.length;
-- if (nextPosition + itsLength >= interfacesToVisit.length)
-- System.arraycopy(interfacesToVisit, 0, interfacesToVisit = new ReferenceBinding[nextPosition + itsLength + 5], 0, nextPosition);
-- nextInterface : for (int a = 0; a < itsLength; a++) {
-- ReferenceBinding next = itsInterfaces[a];
-- for (int b = 0; b < nextPosition; b++)
-- if (next == interfacesToVisit[b]) continue nextInterface;
-- interfacesToVisit[nextPosition++] = next;
-- }
-- }
-- }
-- }
-- if (defaultAbstractsCount > 0) {
-- int length = this.methods.length;
-- System.arraycopy(this.methods, 0, this.methods = new MethodBinding[length + defaultAbstractsCount], 0, length);
-- System.arraycopy(defaultAbstracts, 0, this.methods, length, defaultAbstractsCount);
-- // re-sort methods
-- length = length + defaultAbstractsCount;
-- if (length > 1)
-- ReferenceBinding.sortMethods(this.methods, 0, length);
-- // this.tagBits |= TagBits.AreMethodsSorted; -- already set in #methods()
-- }
-- }
-- }
-+ this.tagBits |= TagBits.KnowsDefaultAbstractMethods;
-+ if (isClass() && isAbstract()) {
-+ if (this.scope.compilerOptions().targetJDK >= ClassFileConstants.JDK1_2)
-+ return; // no longer added for post 1.2 targets
-+
-+ ReferenceBinding[] itsInterfaces = superInterfaces();
-+ if (itsInterfaces != Binding.NO_SUPERINTERFACES) {
-+ MethodBinding[] defaultAbstracts = null;
-+ int defaultAbstractsCount = 0;
-+ ReferenceBinding[] interfacesToVisit = itsInterfaces;
-+ int nextPosition = interfacesToVisit.length;
-+ for (int i = 0; i < nextPosition; i++) {
-+ ReferenceBinding superType = interfacesToVisit[i];
-+ if (superType.isValidBinding()) {
-+ MethodBinding[] superMethods = superType.methods();
-+ nextAbstractMethod: for (int m = superMethods.length; --m >= 0;) {
-+ MethodBinding method = superMethods[m];
-+ // explicitly implemented ?
-+ if (implementsMethod(method))
-+ continue nextAbstractMethod;
-+ if (defaultAbstractsCount == 0) {
-+ defaultAbstracts = new MethodBinding[5];
-+ } else {
-+ // already added as default abstract ?
-+ for (int k = 0; k < defaultAbstractsCount; k++) {
-+ MethodBinding alreadyAdded = defaultAbstracts[k];
-+ if (CharOperation.equals(alreadyAdded.selector, method.selector) && alreadyAdded.areParametersEqual(method))
-+ continue nextAbstractMethod;
-+ }
-+ }
-+ MethodBinding defaultAbstract = new MethodBinding(
-+ method.modifiers | ExtraCompilerModifiers.AccDefaultAbstract | ClassFileConstants.AccSynthetic,
-+ method.selector,
-+ method.returnType,
-+ method.parameters,
-+ method.thrownExceptions,
-+ this);
-+ if (defaultAbstractsCount == defaultAbstracts.length)
-+ System.arraycopy(defaultAbstracts, 0, defaultAbstracts = new MethodBinding[2 * defaultAbstractsCount], 0, defaultAbstractsCount);
-+ defaultAbstracts[defaultAbstractsCount++] = defaultAbstract;
-+ }
-+
-+ if ((itsInterfaces = superType.superInterfaces()) != Binding.NO_SUPERINTERFACES) {
-+ int itsLength = itsInterfaces.length;
-+ if (nextPosition + itsLength >= interfacesToVisit.length)
-+ System.arraycopy(interfacesToVisit, 0, interfacesToVisit = new ReferenceBinding[nextPosition + itsLength + 5], 0, nextPosition);
-+ nextInterface : for (int a = 0; a < itsLength; a++) {
-+ ReferenceBinding next = itsInterfaces[a];
-+ for (int b = 0; b < nextPosition; b++)
-+ if (next == interfacesToVisit[b]) continue nextInterface;
-+ interfacesToVisit[nextPosition++] = next;
-+ }
-+ }
-+ }
-+ }
-+ if (defaultAbstractsCount > 0) {
-+ int length = this.methods.length;
-+ System.arraycopy(this.methods, 0, this.methods = new MethodBinding[length + defaultAbstractsCount], 0, length);
-+ System.arraycopy(defaultAbstracts, 0, this.methods, length, defaultAbstractsCount);
-+ // re-sort methods
-+ length = length + defaultAbstractsCount;
-+ if (length > 1)
-+ ReferenceBinding.sortMethods(this.methods, 0, length);
-+ // this.tagBits |= TagBits.AreMethodsSorted; -- already set in #methods()
-+ }
-+ }
-+ }
- }
- /* Add a new synthetic field for <actualOuterLocalVariable>.
--* Answer the new field or the existing field if one already existed.
-+* Answer the new field or the existing field if one already existed.
- */
- public FieldBinding addSyntheticFieldForInnerclass(LocalVariableBinding actualOuterLocalVariable) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
-- this.synthetics[SourceTypeBinding.FIELD_EMUL] = new HashMap();
--
-- FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(actualOuterLocalVariable);
-- if (synthField == null) {
-- synthField = new SyntheticFieldBinding(
-- CharOperation.concat(TypeConstants.SYNTHETIC_OUTER_LOCAL_PREFIX, actualOuterLocalVariable.name),
-- actualOuterLocalVariable.type,
-- ClassFileConstants.AccPrivate | ClassFileConstants.AccFinal | ClassFileConstants.AccSynthetic,
-- this,
-- Constant.NotAConstant,
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].put(actualOuterLocalVariable, synthField);
-- }
--
-- // ensure there is not already such a field defined by the user
-- boolean needRecheck;
-- int index = 1;
-- do {
-- needRecheck = false;
-- FieldBinding existingField;
-- if ((existingField = this.getField(synthField.name, true /*resolve*/)) != null) {
-- TypeDeclaration typeDecl = this.scope.referenceContext;
-- for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-- FieldDeclaration fieldDecl = typeDecl.fields[i];
-- if (fieldDecl.binding == existingField) {
-- synthField.name = CharOperation.concat(
-- TypeConstants.SYNTHETIC_OUTER_LOCAL_PREFIX,
-- actualOuterLocalVariable.name,
-- ("$" + String.valueOf(index++)).toCharArray()); //$NON-NLS-1$
-- needRecheck = true;
-- break;
-- }
-- }
-- }
-- } while (needRecheck);
-- return synthField;
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL] = new HashMap();
-+
-+ FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(actualOuterLocalVariable);
-+ if (synthField == null) {
-+ synthField = new SyntheticFieldBinding(
-+ CharOperation.concat(TypeConstants.SYNTHETIC_OUTER_LOCAL_PREFIX, actualOuterLocalVariable.name),
-+ actualOuterLocalVariable.type,
-+ ClassFileConstants.AccPrivate | ClassFileConstants.AccFinal | ClassFileConstants.AccSynthetic,
-+ this,
-+ Constant.NotAConstant,
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].put(actualOuterLocalVariable, synthField);
-+ }
-+
-+ // ensure there is not already such a field defined by the user
-+ boolean needRecheck;
-+ int index = 1;
-+ do {
-+ needRecheck = false;
-+ FieldBinding existingField;
-+ if ((existingField = getField(synthField.name, true /*resolve*/)) != null) {
-+ TypeDeclaration typeDecl = this.scope.referenceContext;
-+ for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-+ FieldDeclaration fieldDecl = typeDecl.fields[i];
-+ if (fieldDecl.binding == existingField) {
-+ synthField.name = CharOperation.concat(
-+ TypeConstants.SYNTHETIC_OUTER_LOCAL_PREFIX,
-+ actualOuterLocalVariable.name,
-+ ("$" + String.valueOf(index++)).toCharArray()); //$NON-NLS-1$
-+ needRecheck = true;
-+ break;
-+ }
-+ }
-+ }
-+ } while (needRecheck);
-+ return synthField;
- }
- /* Add a new synthetic field for <enclosingType>.
--* Answer the new field or the existing field if one already existed.
-+* Answer the new field or the existing field if one already existed.
- */
- public FieldBinding addSyntheticFieldForInnerclass(ReferenceBinding enclosingType) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
- this.synthetics[SourceTypeBinding.FIELD_EMUL] = new HashMap();
-
-- FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(enclosingType);
-- if (synthField == null) {
-- synthField = new SyntheticFieldBinding(
-- CharOperation.concat(
-- TypeConstants.SYNTHETIC_ENCLOSING_INSTANCE_PREFIX,
-- String.valueOf(enclosingType.depth()).toCharArray()),
-- enclosingType,
-- ClassFileConstants.AccDefault | ClassFileConstants.AccFinal | ClassFileConstants.AccSynthetic,
-- this,
-- Constant.NotAConstant,
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].put(enclosingType, synthField);
-- }
-- // ensure there is not already such a field defined by the user
-- boolean needRecheck;
-- do {
-- needRecheck = false;
-- FieldBinding existingField;
-- if ((existingField = this.getField(synthField.name, true /*resolve*/)) != null) {
-- TypeDeclaration typeDecl = this.scope.referenceContext;
-- for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-- FieldDeclaration fieldDecl = typeDecl.fields[i];
-- if (fieldDecl.binding == existingField) {
-- if (this.scope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_5) {
-- synthField.name = CharOperation.concat(
-- synthField.name,
-- "$".toCharArray()); //$NON-NLS-1$
-- needRecheck = true;
-- } else {
-- this.scope.problemReporter().duplicateFieldInType(this, fieldDecl);
-- }
-- break;
-- }
-- }
-- }
-- } while (needRecheck);
-- return synthField;
-+ FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(enclosingType);
-+ if (synthField == null) {
-+ synthField = new SyntheticFieldBinding(
-+ CharOperation.concat(
-+ TypeConstants.SYNTHETIC_ENCLOSING_INSTANCE_PREFIX,
-+ String.valueOf(enclosingType.depth()).toCharArray()),
-+ enclosingType,
-+ ClassFileConstants.AccDefault | ClassFileConstants.AccFinal | ClassFileConstants.AccSynthetic,
-+ this,
-+ Constant.NotAConstant,
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].put(enclosingType, synthField);
-+ }
-+ // ensure there is not already such a field defined by the user
-+ boolean needRecheck;
-+ do {
-+ needRecheck = false;
-+ FieldBinding existingField;
-+ if ((existingField = getField(synthField.name, true /*resolve*/)) != null) {
-+ TypeDeclaration typeDecl = this.scope.referenceContext;
-+ for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-+ FieldDeclaration fieldDecl = typeDecl.fields[i];
-+ if (fieldDecl.binding == existingField) {
-+ if (this.scope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_5) {
-+ synthField.name = CharOperation.concat(
-+ synthField.name,
-+ "$".toCharArray()); //$NON-NLS-1$
-+ needRecheck = true;
-+ } else {
-+ this.scope.problemReporter().duplicateFieldInType(this, fieldDecl);
-+ }
-+ break;
-+ }
-+ }
-+ }
-+ } while (needRecheck);
-+ return synthField;
- }
- /* Add a new synthetic field for a class literal access.
--* Answer the new field or the existing field if one already existed.
-+* Answer the new field or the existing field if one already existed.
- */
- public FieldBinding addSyntheticFieldForClassLiteral(TypeBinding targetType, BlockScope blockScope) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL] == null)
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL] == null)
- this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL] = new HashMap();
-
-- // use a different table than FIELDS, given there might be a collision between emulation of X.this$0 and X.class.
-- FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].get(targetType);
-- if (synthField == null) {
-- synthField = new SyntheticFieldBinding(
-- CharOperation.concat(
-- TypeConstants.SYNTHETIC_CLASS,
-- String.valueOf(this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].size()).toCharArray()),
-- blockScope.getJavaLangClass(),
-- ClassFileConstants.AccDefault | ClassFileConstants.AccStatic | ClassFileConstants.AccSynthetic,
-- this,
-- Constant.NotAConstant,
-- this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].size());
-- this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].put(targetType, synthField);
-- }
-- // ensure there is not already such a field defined by the user
-- FieldBinding existingField;
-- if ((existingField = this.getField(synthField.name, true /*resolve*/)) != null) {
-- TypeDeclaration typeDecl = blockScope.referenceType();
-- for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-- FieldDeclaration fieldDecl = typeDecl.fields[i];
-- if (fieldDecl.binding == existingField) {
-- blockScope.problemReporter().duplicateFieldInType(this, fieldDecl);
-- break;
-- }
-- }
-- }
-- return synthField;
-+ // use a different table than FIELDS, given there might be a collision between emulation of X.this$0 and X.class.
-+ FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].get(targetType);
-+ if (synthField == null) {
-+ synthField = new SyntheticFieldBinding(
-+ CharOperation.concat(
-+ TypeConstants.SYNTHETIC_CLASS,
-+ String.valueOf(this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].size()).toCharArray()),
-+ blockScope.getJavaLangClass(),
-+ ClassFileConstants.AccDefault | ClassFileConstants.AccStatic | ClassFileConstants.AccSynthetic,
-+ this,
-+ Constant.NotAConstant,
-+ this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].size());
-+ this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].put(targetType, synthField);
-+ }
-+ // ensure there is not already such a field defined by the user
-+ FieldBinding existingField;
-+ if ((existingField = getField(synthField.name, true /*resolve*/)) != null) {
-+ TypeDeclaration typeDecl = blockScope.referenceType();
-+ for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-+ FieldDeclaration fieldDecl = typeDecl.fields[i];
-+ if (fieldDecl.binding == existingField) {
-+ blockScope.problemReporter().duplicateFieldInType(this, fieldDecl);
-+ break;
-+ }
-+ }
-+ }
-+ return synthField;
- }
- /* Add a new synthetic field for the emulation of the assert statement.
--* Answer the new field or the existing field if one already existed.
-+* Answer the new field or the existing field if one already existed.
- */
- public FieldBinding addSyntheticFieldForAssert(BlockScope blockScope) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
- this.synthetics[SourceTypeBinding.FIELD_EMUL] = new HashMap();
-
-- FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get("assertionEmulation"); //$NON-NLS-1$
-- if (synthField == null) {
-- synthField = new SyntheticFieldBinding(
-- TypeConstants.SYNTHETIC_ASSERT_DISABLED,
-- TypeBinding.BOOLEAN,
-- ClassFileConstants.AccDefault | ClassFileConstants.AccStatic | ClassFileConstants.AccSynthetic | ClassFileConstants.AccFinal,
-- this,
-- Constant.NotAConstant,
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].put("assertionEmulation", synthField); //$NON-NLS-1$
-- }
-- // ensure there is not already such a field defined by the user
-- // ensure there is not already such a field defined by the user
-- boolean needRecheck;
-- int index = 0;
-- do {
-- needRecheck = false;
-- FieldBinding existingField;
-- if ((existingField = this.getField(synthField.name, true /*resolve*/)) != null) {
-- TypeDeclaration typeDecl = this.scope.referenceContext;
-- for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-- FieldDeclaration fieldDecl = typeDecl.fields[i];
-- if (fieldDecl.binding == existingField) {
-- synthField.name = CharOperation.concat(
-- TypeConstants.SYNTHETIC_ASSERT_DISABLED,
-- ("_" + String.valueOf(index++)).toCharArray()); //$NON-NLS-1$
-- needRecheck = true;
-- break;
-- }
-- }
-- }
-- } while (needRecheck);
-- return synthField;
-+ FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get("assertionEmulation"); //$NON-NLS-1$
-+ if (synthField == null) {
-+ synthField = new SyntheticFieldBinding(
-+ TypeConstants.SYNTHETIC_ASSERT_DISABLED,
-+ TypeBinding.BOOLEAN,
-+ ClassFileConstants.AccDefault | ClassFileConstants.AccStatic | ClassFileConstants.AccSynthetic | ClassFileConstants.AccFinal,
-+ this,
-+ Constant.NotAConstant,
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].put("assertionEmulation", synthField); //$NON-NLS-1$
-+ }
-+ // ensure there is not already such a field defined by the user
-+ // ensure there is not already such a field defined by the user
-+ boolean needRecheck;
-+ int index = 0;
-+ do {
-+ needRecheck = false;
-+ FieldBinding existingField;
-+ if ((existingField = getField(synthField.name, true /*resolve*/)) != null) {
-+ TypeDeclaration typeDecl = this.scope.referenceContext;
-+ for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-+ FieldDeclaration fieldDecl = typeDecl.fields[i];
-+ if (fieldDecl.binding == existingField) {
-+ synthField.name = CharOperation.concat(
-+ TypeConstants.SYNTHETIC_ASSERT_DISABLED,
-+ ("_" + String.valueOf(index++)).toCharArray()); //$NON-NLS-1$
-+ needRecheck = true;
-+ break;
-+ }
-+ }
-+ }
-+ } while (needRecheck);
-+ return synthField;
- }
- /* Add a new synthetic field for recording all enum constant values
--* Answer the new field or the existing field if one already existed.
-+* Answer the new field or the existing field if one already existed.
- */
- public FieldBinding addSyntheticFieldForEnumValues() {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
- this.synthetics[SourceTypeBinding.FIELD_EMUL] = new HashMap();
-
-- FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get("enumConstantValues"); //$NON-NLS-1$
-- if (synthField == null) {
-- synthField = new SyntheticFieldBinding(
-- TypeConstants.SYNTHETIC_ENUM_VALUES,
-- this.scope.createArrayType(this,1),
-- ClassFileConstants.AccPrivate | ClassFileConstants.AccStatic | ClassFileConstants.AccSynthetic | ClassFileConstants.AccFinal,
-- this,
-- Constant.NotAConstant,
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].put("enumConstantValues", synthField); //$NON-NLS-1$
-- }
-- // ensure there is not already such a field defined by the user
-- // ensure there is not already such a field defined by the user
-- boolean needRecheck;
-- int index = 0;
-- do {
-- needRecheck = false;
-- FieldBinding existingField;
-- if ((existingField = this.getField(synthField.name, true /*resolve*/)) != null) {
-- TypeDeclaration typeDecl = this.scope.referenceContext;
-- for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-- FieldDeclaration fieldDecl = typeDecl.fields[i];
-- if (fieldDecl.binding == existingField) {
-- synthField.name = CharOperation.concat(
-- TypeConstants.SYNTHETIC_ENUM_VALUES,
-- ("_" + String.valueOf(index++)).toCharArray()); //$NON-NLS-1$
-- needRecheck = true;
-- break;
-- }
-- }
-- }
-- } while (needRecheck);
-- return synthField;
-+ FieldBinding synthField = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get("enumConstantValues"); //$NON-NLS-1$
-+ if (synthField == null) {
-+ synthField = new SyntheticFieldBinding(
-+ TypeConstants.SYNTHETIC_ENUM_VALUES,
-+ this.scope.createArrayType(this,1),
-+ ClassFileConstants.AccPrivate | ClassFileConstants.AccStatic | ClassFileConstants.AccSynthetic | ClassFileConstants.AccFinal,
-+ this,
-+ Constant.NotAConstant,
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].put("enumConstantValues", synthField); //$NON-NLS-1$
-+ }
-+ // ensure there is not already such a field defined by the user
-+ // ensure there is not already such a field defined by the user
-+ boolean needRecheck;
-+ int index = 0;
-+ do {
-+ needRecheck = false;
-+ FieldBinding existingField;
-+ if ((existingField = getField(synthField.name, true /*resolve*/)) != null) {
-+ TypeDeclaration typeDecl = this.scope.referenceContext;
-+ for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-+ FieldDeclaration fieldDecl = typeDecl.fields[i];
-+ if (fieldDecl.binding == existingField) {
-+ synthField.name = CharOperation.concat(
-+ TypeConstants.SYNTHETIC_ENUM_VALUES,
-+ ("_" + String.valueOf(index++)).toCharArray()); //$NON-NLS-1$
-+ needRecheck = true;
-+ break;
-+ }
-+ }
-+ }
-+ } while (needRecheck);
-+ return synthField;
- }
- /* Add a new synthetic access method for read/write access to <targetField>.
-- Answer the new method or the existing method if one already existed.
-+ Answer the new method or the existing method if one already existed.
- */
--public SyntheticMethodBinding addSyntheticMethod(FieldBinding targetField, boolean isReadAccess) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null)
-+public SyntheticMethodBinding addSyntheticMethod(FieldBinding targetField, boolean isReadAccess, boolean isSuperAccess) {
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null)
- this.synthetics[SourceTypeBinding.METHOD_EMUL] = new HashMap();
-
-- SyntheticMethodBinding accessMethod = null;
-- SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(targetField);
-- if (accessors == null) {
-- accessMethod = new SyntheticMethodBinding(targetField, isReadAccess, this);
-- this.synthetics[SourceTypeBinding.METHOD_EMUL].put(targetField, accessors = new SyntheticMethodBinding[2]);
-- accessors[isReadAccess ? 0 : 1] = accessMethod;
-- } else {
-- if ((accessMethod = accessors[isReadAccess ? 0 : 1]) == null) {
-- accessMethod = new SyntheticMethodBinding(targetField, isReadAccess, this);
-- accessors[isReadAccess ? 0 : 1] = accessMethod;
-- }
-- }
-- return accessMethod;
-+ SyntheticMethodBinding accessMethod = null;
-+ SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(targetField);
-+ if (accessors == null) {
-+ accessMethod = new SyntheticMethodBinding(targetField, isReadAccess, isSuperAccess, this);
-+ this.synthetics[SourceTypeBinding.METHOD_EMUL].put(targetField, accessors = new SyntheticMethodBinding[2]);
-+ accessors[isReadAccess ? 0 : 1] = accessMethod;
-+ } else {
-+ if ((accessMethod = accessors[isReadAccess ? 0 : 1]) == null) {
-+ accessMethod = new SyntheticMethodBinding(targetField, isReadAccess, isSuperAccess, this);
-+ accessors[isReadAccess ? 0 : 1] = accessMethod;
-+ }
-+ }
-+ return accessMethod;
- }
- /* Add a new synthetic method the enum type. Selector can either be 'values' or 'valueOf'.
- * char[] constants from TypeConstants must be used: TypeConstants.VALUES/VALUEOF
- */
- public SyntheticMethodBinding addSyntheticEnumMethod(char[] selector) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null)
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null)
- this.synthetics[SourceTypeBinding.METHOD_EMUL] = new HashMap();
-
-- SyntheticMethodBinding accessMethod = null;
-- SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(selector);
-- if (accessors == null) {
-- accessMethod = new SyntheticMethodBinding(this, selector);
-- this.synthetics[SourceTypeBinding.METHOD_EMUL].put(selector, accessors = new SyntheticMethodBinding[2]);
-- accessors[0] = accessMethod;
-- } else {
-- if ((accessMethod = accessors[0]) == null) {
-- accessMethod = new SyntheticMethodBinding(this, selector);
-- accessors[0] = accessMethod;
-- }
-- }
-- return accessMethod;
-+ SyntheticMethodBinding accessMethod = null;
-+ SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(selector);
-+ if (accessors == null) {
-+ accessMethod = new SyntheticMethodBinding(this, selector);
-+ this.synthetics[SourceTypeBinding.METHOD_EMUL].put(selector, accessors = new SyntheticMethodBinding[2]);
-+ accessors[0] = accessMethod;
-+ } else {
-+ if ((accessMethod = accessors[0]) == null) {
-+ accessMethod = new SyntheticMethodBinding(this, selector);
-+ accessors[0] = accessMethod;
-+ }
-+ }
-+ return accessMethod;
- }
- /*
-- * Add a synthetic field to handle the cache of the switch translation table for the corresponding enum type
-+ * Add a synthetic field to handle the cache of the switch translation table for the corresponding enum type
- */
- public SyntheticFieldBinding addSyntheticFieldForSwitchEnum(char[] fieldName, String key) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.FIELD_EMUL] == null)
- this.synthetics[SourceTypeBinding.FIELD_EMUL] = new HashMap();
-
-- SyntheticFieldBinding synthField = (SyntheticFieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(key);
-- if (synthField == null) {
-- synthField = new SyntheticFieldBinding(
-- fieldName,
-- this.scope.createArrayType(TypeBinding.INT,1),
-- ClassFileConstants.AccPrivate | ClassFileConstants.AccStatic | ClassFileConstants.AccSynthetic,
-- this,
-- Constant.NotAConstant,
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-- this.synthetics[SourceTypeBinding.FIELD_EMUL].put(key, synthField);
-- }
-- // ensure there is not already such a field defined by the user
-- boolean needRecheck;
-- int index = 0;
-- do {
-- needRecheck = false;
-- FieldBinding existingField;
-- if ((existingField = this.getField(synthField.name, true /*resolve*/)) != null) {
-- TypeDeclaration typeDecl = this.scope.referenceContext;
-- for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-- FieldDeclaration fieldDecl = typeDecl.fields[i];
-- if (fieldDecl.binding == existingField) {
-- synthField.name = CharOperation.concat(
-- fieldName,
-- ("_" + String.valueOf(index++)).toCharArray()); //$NON-NLS-1$
-- needRecheck = true;
-- break;
-- }
-- }
-- }
-- } while (needRecheck);
-- return synthField;
-+ SyntheticFieldBinding synthField = (SyntheticFieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(key);
-+ if (synthField == null) {
-+ synthField = new SyntheticFieldBinding(
-+ fieldName,
-+ this.scope.createArrayType(TypeBinding.INT,1),
-+ ClassFileConstants.AccPrivate | ClassFileConstants.AccStatic | ClassFileConstants.AccSynthetic,
-+ this,
-+ Constant.NotAConstant,
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].size());
-+ this.synthetics[SourceTypeBinding.FIELD_EMUL].put(key, synthField);
-+ }
-+ // ensure there is not already such a field defined by the user
-+ boolean needRecheck;
-+ int index = 0;
-+ do {
-+ needRecheck = false;
-+ FieldBinding existingField;
-+ if ((existingField = getField(synthField.name, true /*resolve*/)) != null) {
-+ TypeDeclaration typeDecl = this.scope.referenceContext;
-+ for (int i = 0, max = typeDecl.fields.length; i < max; i++) {
-+ FieldDeclaration fieldDecl = typeDecl.fields[i];
-+ if (fieldDecl.binding == existingField) {
-+ synthField.name = CharOperation.concat(
-+ fieldName,
-+ ("_" + String.valueOf(index++)).toCharArray()); //$NON-NLS-1$
-+ needRecheck = true;
-+ break;
-+ }
-+ }
-+ }
-+ } while (needRecheck);
-+ return synthField;
- }
- /* Add a new synthetic method the enum type. Selector can either be 'values' or 'valueOf'.
- * char[] constants from TypeConstants must be used: TypeConstants.VALUES/VALUEOF
- */
- public SyntheticMethodBinding addSyntheticMethodForSwitchEnum(TypeBinding enumBinding) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null)
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null)
- this.synthetics[SourceTypeBinding.METHOD_EMUL] = new HashMap();
-
-- SyntheticMethodBinding accessMethod = null;
-- char[] selector = CharOperation.concat(TypeConstants.SYNTHETIC_SWITCH_ENUM_TABLE, enumBinding.constantPoolName());
-- CharOperation.replace(selector, '/', '$');
-- final String key = new String(selector);
-- SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(key);
-- // first add the corresponding synthetic field
-- if (accessors == null) {
-- // then create the synthetic method
-- final SyntheticFieldBinding fieldBinding = this.addSyntheticFieldForSwitchEnum(selector, key);
-- accessMethod = new SyntheticMethodBinding(fieldBinding, this, enumBinding, selector);
-- this.synthetics[SourceTypeBinding.METHOD_EMUL].put(key, accessors = new SyntheticMethodBinding[2]);
-- accessors[0] = accessMethod;
-- } else {
-- if ((accessMethod = accessors[0]) == null) {
-- final SyntheticFieldBinding fieldBinding = this.addSyntheticFieldForSwitchEnum(selector, key);
-- accessMethod = new SyntheticMethodBinding(fieldBinding, this, enumBinding, selector);
-- accessors[0] = accessMethod;
-- }
-- }
-- return accessMethod;
-+ SyntheticMethodBinding accessMethod = null;
-+ char[] selector = CharOperation.concat(TypeConstants.SYNTHETIC_SWITCH_ENUM_TABLE, enumBinding.constantPoolName());
-+ CharOperation.replace(selector, '/', '$');
-+ final String key = new String(selector);
-+ SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(key);
-+ // first add the corresponding synthetic field
-+ if (accessors == null) {
-+ // then create the synthetic method
-+ final SyntheticFieldBinding fieldBinding = addSyntheticFieldForSwitchEnum(selector, key);
-+ accessMethod = new SyntheticMethodBinding(fieldBinding, this, enumBinding, selector);
-+ this.synthetics[SourceTypeBinding.METHOD_EMUL].put(key, accessors = new SyntheticMethodBinding[2]);
-+ accessors[0] = accessMethod;
-+ } else {
-+ if ((accessMethod = accessors[0]) == null) {
-+ final SyntheticFieldBinding fieldBinding = addSyntheticFieldForSwitchEnum(selector, key);
-+ accessMethod = new SyntheticMethodBinding(fieldBinding, this, enumBinding, selector);
-+ accessors[0] = accessMethod;
-+ }
-+ }
-+ return accessMethod;
- }
- /* Add a new synthetic access method for access to <targetMethod>.
- * Must distinguish access method used for super access from others (need to use invokespecial bytecode)
-- Answer the new method or the existing method if one already existed.
-+ Answer the new method or the existing method if one already existed.
- */
- public SyntheticMethodBinding addSyntheticMethod(MethodBinding targetMethod, boolean isSuperAccess) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null)
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null)
- this.synthetics[SourceTypeBinding.METHOD_EMUL] = new HashMap();
-
-- SyntheticMethodBinding accessMethod = null;
-- SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(targetMethod);
-- if (accessors == null) {
-- accessMethod = new SyntheticMethodBinding(targetMethod, isSuperAccess, this);
-- this.synthetics[SourceTypeBinding.METHOD_EMUL].put(targetMethod, accessors = new SyntheticMethodBinding[2]);
-- accessors[isSuperAccess ? 0 : 1] = accessMethod;
-- } else {
-- if ((accessMethod = accessors[isSuperAccess ? 0 : 1]) == null) {
-- accessMethod = new SyntheticMethodBinding(targetMethod, isSuperAccess, this);
-- accessors[isSuperAccess ? 0 : 1] = accessMethod;
-- }
-- }
-- return accessMethod;
-+ SyntheticMethodBinding accessMethod = null;
-+ SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(targetMethod);
-+ if (accessors == null) {
-+ accessMethod = new SyntheticMethodBinding(targetMethod, isSuperAccess, this);
-+ this.synthetics[SourceTypeBinding.METHOD_EMUL].put(targetMethod, accessors = new SyntheticMethodBinding[2]);
-+ accessors[isSuperAccess ? 0 : 1] = accessMethod;
-+ } else {
-+ if ((accessMethod = accessors[isSuperAccess ? 0 : 1]) == null) {
-+ accessMethod = new SyntheticMethodBinding(targetMethod, isSuperAccess, this);
-+ accessors[isSuperAccess ? 0 : 1] = accessMethod;
-+ }
-+ }
-+ return accessMethod;
- }
--/*
-+/*
- * Record the fact that bridge methods need to be generated to override certain inherited methods
- */
- public SyntheticMethodBinding addSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge, MethodBinding targetMethod) {
-- if (isInterface()) return null; // only classes & enums get bridge methods
-- // targetMethod may be inherited
-- if (inheritedMethodToBridge.returnType.erasure() == targetMethod.returnType.erasure()
-- && inheritedMethodToBridge.areParameterErasuresEqual(targetMethod)) {
-- return null; // do not need bridge method
-- }
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null) {
-+ if (isInterface()) return null; // only classes & enums get bridge methods
-+ // targetMethod may be inherited
-+ if (inheritedMethodToBridge.returnType.erasure() == targetMethod.returnType.erasure()
-+ && inheritedMethodToBridge.areParameterErasuresEqual(targetMethod)) {
-+ return null; // do not need bridge method
-+ }
-+ if (this.synthetics == null)
-+ this.synthetics = new HashMap[MAX_SYNTHETICS];
-+ if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null) {
- this.synthetics[SourceTypeBinding.METHOD_EMUL] = new HashMap();
-- } else {
-- // check to see if there is another equivalent inheritedMethod already added
-- Iterator synthMethods = this.synthetics[SourceTypeBinding.METHOD_EMUL].keySet().iterator();
-- while (synthMethods.hasNext()) {
-- Object synthetic = synthMethods.next();
-- if (synthetic instanceof MethodBinding) {
-- MethodBinding method = (MethodBinding) synthetic;
-- if (CharOperation.equals(inheritedMethodToBridge.selector, method.selector)
-- && inheritedMethodToBridge.returnType.erasure() == method.returnType.erasure()
-- && inheritedMethodToBridge.areParameterErasuresEqual(method)) {
-- return null;
-- }
-- }
-- }
-- }
--
-- SyntheticMethodBinding accessMethod = null;
-- SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(inheritedMethodToBridge);
-- if (accessors == null) {
-- accessMethod = new SyntheticMethodBinding(inheritedMethodToBridge, targetMethod, this);
-- this.synthetics[SourceTypeBinding.METHOD_EMUL].put(inheritedMethodToBridge, accessors = new SyntheticMethodBinding[2]);
-- accessors[1] = accessMethod;
-- } else {
-- if ((accessMethod = accessors[1]) == null) {
-- accessMethod = new SyntheticMethodBinding(inheritedMethodToBridge, targetMethod, this);
-- accessors[1] = accessMethod;
-- }
-- }
-- return accessMethod;
-+ } else {
-+ // check to see if there is another equivalent inheritedMethod already added
-+ Iterator synthMethods = this.synthetics[SourceTypeBinding.METHOD_EMUL].keySet().iterator();
-+ while (synthMethods.hasNext()) {
-+ Object synthetic = synthMethods.next();
-+ if (synthetic instanceof MethodBinding) {
-+ MethodBinding method = (MethodBinding) synthetic;
-+ if (CharOperation.equals(inheritedMethodToBridge.selector, method.selector)
-+ && inheritedMethodToBridge.returnType.erasure() == method.returnType.erasure()
-+ && inheritedMethodToBridge.areParameterErasuresEqual(method)) {
-+ return null;
-+ }
-+ }
-+ }
-+ }
-+
-+ SyntheticMethodBinding accessMethod = null;
-+ SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(inheritedMethodToBridge);
-+ if (accessors == null) {
-+ accessMethod = new SyntheticMethodBinding(inheritedMethodToBridge, targetMethod, this);
-+ this.synthetics[SourceTypeBinding.METHOD_EMUL].put(inheritedMethodToBridge, accessors = new SyntheticMethodBinding[2]);
-+ accessors[1] = accessMethod;
-+ } else {
-+ if ((accessMethod = accessors[1]) == null) {
-+ accessMethod = new SyntheticMethodBinding(inheritedMethodToBridge, targetMethod, this);
-+ accessors[1] = accessMethod;
-+ }
-+ }
-+ return accessMethod;
- }
- boolean areFieldsInitialized() {
-- return this.fields != Binding.UNINITIALIZED_FIELDS;
-+ return this.fields != Binding.UNINITIALIZED_FIELDS;
- }
- boolean areMethodsInitialized() {
-- return this.methods != Binding.UNINITIALIZED_METHODS;
-+ return this.methods != Binding.UNINITIALIZED_METHODS;
- }
- public int kind() {
-- if (this.typeVariables != Binding.NO_TYPE_VARIABLES) return Binding.GENERIC_TYPE;
-- return Binding.TYPE;
-+ if (this.typeVariables != Binding.NO_TYPE_VARIABLES) return Binding.GENERIC_TYPE;
-+ return Binding.TYPE;
- }
-
- public char[] computeUniqueKey(boolean isLeaf) {
-- char[] uniqueKey = super.computeUniqueKey(isLeaf);
-- if (uniqueKey.length == 2) return uniqueKey; // problem type's unique key is "L;"
-- if (Util.isClassFileName(this.fileName)) return uniqueKey; // no need to insert compilation unit name for a .class file
--
-- // insert compilation unit name if the type name is not the main type name
-- int end = CharOperation.lastIndexOf('.', this.fileName);
-- if (end != -1) {
-- int start = CharOperation.lastIndexOf('/', this.fileName) + 1;
-- char[] mainTypeName = CharOperation.subarray(this.fileName, start, end);
-- start = CharOperation.lastIndexOf('/', uniqueKey) + 1;
-- if (start == 0)
-- start = 1; // start after L
-- end = CharOperation.indexOf('$', uniqueKey, start);
-- if (end == -1)
-- end = CharOperation.indexOf('<', uniqueKey, start);
-- if (end == -1)
-- end = CharOperation.indexOf(';', uniqueKey, start);
-- char[] topLevelType = CharOperation.subarray(uniqueKey, start, end);
-- if (!CharOperation.equals(topLevelType, mainTypeName)) {
-- StringBuffer buffer = new StringBuffer();
-- buffer.append(uniqueKey, 0, start);
-- buffer.append(mainTypeName);
-- buffer.append('~');
-- buffer.append(topLevelType);
-- buffer.append(uniqueKey, end, uniqueKey.length - end);
-- int length = buffer.length();
-- uniqueKey = new char[length];
-- buffer.getChars(0, length, uniqueKey, 0);
-- return uniqueKey;
-- }
-- }
-- return uniqueKey;
-+ char[] uniqueKey = super.computeUniqueKey(isLeaf);
-+ if (uniqueKey.length == 2) return uniqueKey; // problem type's unique key is "L;"
-+ if (Util.isClassFileName(this.fileName)) return uniqueKey; // no need to insert compilation unit name for a .class file
-+
-+ // insert compilation unit name if the type name is not the main type name
-+ int end = CharOperation.lastIndexOf('.', this.fileName);
-+ if (end != -1) {
-+ int start = CharOperation.lastIndexOf('/', this.fileName) + 1;
-+ char[] mainTypeName = CharOperation.subarray(this.fileName, start, end);
-+ start = CharOperation.lastIndexOf('/', uniqueKey) + 1;
-+ if (start == 0)
-+ start = 1; // start after L
-+ end = CharOperation.indexOf('$', uniqueKey, start);
-+ if (end == -1)
-+ end = CharOperation.indexOf('<', uniqueKey, start);
-+ if (end == -1)
-+ end = CharOperation.indexOf(';', uniqueKey, start);
-+ char[] topLevelType = CharOperation.subarray(uniqueKey, start, end);
-+ if (!CharOperation.equals(topLevelType, mainTypeName)) {
-+ StringBuffer buffer = new StringBuffer();
-+ buffer.append(uniqueKey, 0, start);
-+ buffer.append(mainTypeName);
-+ buffer.append('~');
-+ buffer.append(topLevelType);
-+ buffer.append(uniqueKey, end, uniqueKey.length - end);
-+ int length = buffer.length();
-+ uniqueKey = new char[length];
-+ buffer.getChars(0, length, uniqueKey, 0);
-+ return uniqueKey;
-+ }
-+ }
-+ return uniqueKey;
- }
-
- void faultInTypesForFieldsAndMethods() {
-- // check @Deprecated annotation
-- getAnnotationTagBits(); // marks as deprecated by side effect
-- ReferenceBinding enclosingType = this.enclosingType();
-- if (enclosingType != null && enclosingType.isViewedAsDeprecated() && !this.isDeprecated())
-- this.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-- fields();
-- methods();
-+ // check @Deprecated annotation
-+ getAnnotationTagBits(); // marks as deprecated by side effect
-+ ReferenceBinding enclosingType = enclosingType();
-+ if (enclosingType != null && enclosingType.isViewedAsDeprecated() && !isDeprecated())
-+ this.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-+ fields();
-+ methods();
-
-- for (int i = 0, length = this.memberTypes.length; i < length; i++)
-- ((SourceTypeBinding) this.memberTypes[i]).faultInTypesForFieldsAndMethods();
-+ for (int i = 0, length = this.memberTypes.length; i < length; i++)
-+ ((SourceTypeBinding) this.memberTypes[i]).faultInTypesForFieldsAndMethods();
- }
- // NOTE: the type of each field of a source type is resolved when needed
- public FieldBinding[] fields() {
-- if ((this.tagBits & TagBits.AreFieldsComplete) != 0)
-- return this.fields;
-+ if ((this.tagBits & TagBits.AreFieldsComplete) != 0)
-+ return this.fields;
-
-- int failed = 0;
-- FieldBinding[] resolvedFields = this.fields;
-- try {
-- // lazily sort fields
-- if ((this.tagBits & TagBits.AreFieldsSorted) == 0) {
-- int length = this.fields.length;
-- if (length > 1)
-- ReferenceBinding.sortFields(this.fields, 0, length);
-- this.tagBits |= TagBits.AreFieldsSorted;
-- }
-- for (int i = 0, length = this.fields.length; i < length; i++) {
-- if (resolveTypeFor(this.fields[i]) == null) {
-- // do not alter original field array until resolution is over, due to reentrance (143259)
-- if (resolvedFields == this.fields) {
-- System.arraycopy(this.fields, 0, resolvedFields = new FieldBinding[length], 0, length);
-- }
-- resolvedFields[i] = null;
-- failed++;
-- }
-- }
-- } finally {
-- if (failed > 0) {
-- // ensure fields are consistent reqardless of the error
-- int newSize = resolvedFields.length - failed;
-- if (newSize == 0)
-- return this.fields = Binding.NO_FIELDS;
--
-- FieldBinding[] newFields = new FieldBinding[newSize];
-- for (int i = 0, j = 0, length = resolvedFields.length; i < length; i++) {
-- if (resolvedFields[i] != null)
-- newFields[j++] = resolvedFields[i];
-- }
-- this.fields = newFields;
-- }
-- }
-- this.tagBits |= TagBits.AreFieldsComplete;
-- return this.fields;
-+ int failed = 0;
-+ FieldBinding[] resolvedFields = this.fields;
-+ try {
-+ // lazily sort fields
-+ if ((this.tagBits & TagBits.AreFieldsSorted) == 0) {
-+ int length = this.fields.length;
-+ if (length > 1)
-+ ReferenceBinding.sortFields(this.fields, 0, length);
-+ this.tagBits |= TagBits.AreFieldsSorted;
-+ }
-+ for (int i = 0, length = this.fields.length; i < length; i++) {
-+ if (resolveTypeFor(this.fields[i]) == null) {
-+ // do not alter original field array until resolution is over, due to reentrance (143259)
-+ if (resolvedFields == this.fields) {
-+ System.arraycopy(this.fields, 0, resolvedFields = new FieldBinding[length], 0, length);
-+ }
-+ resolvedFields[i] = null;
-+ failed++;
-+ }
-+ }
-+ } finally {
-+ if (failed > 0) {
-+ // ensure fields are consistent reqardless of the error
-+ int newSize = resolvedFields.length - failed;
-+ if (newSize == 0)
-+ return this.fields = Binding.NO_FIELDS;
-+
-+ FieldBinding[] newFields = new FieldBinding[newSize];
-+ for (int i = 0, j = 0, length = resolvedFields.length; i < length; i++) {
-+ if (resolvedFields[i] != null)
-+ newFields[j++] = resolvedFields[i];
-+ }
-+ this.fields = newFields;
-+ }
-+ }
-+ this.tagBits |= TagBits.AreFieldsComplete;
-+ return this.fields;
- }
- /**
- * @see org.eclipse.jdt.internal.compiler.lookup.TypeBinding#genericTypeSignature()
- */
- public char[] genericTypeSignature() {
- if (this.genericReferenceTypeSignature == null)
-- this.genericReferenceTypeSignature = computeGenericTypeSignature(this.typeVariables);
-+ this.genericReferenceTypeSignature = computeGenericTypeSignature(this.typeVariables);
- return this.genericReferenceTypeSignature;
- }
- /**
-@@ -655,29 +653,29 @@
- */
- public char[] genericSignature() {
- StringBuffer sig = null;
-- if (this.typeVariables != Binding.NO_TYPE_VARIABLES) {
-- sig = new StringBuffer(10);
-- sig.append('<');
-- for (int i = 0, length = this.typeVariables.length; i < length; i++)
-- sig.append(this.typeVariables[i].genericSignature());
-- sig.append('>');
-- } else {
-- // could still need a signature if any of supertypes is parameterized
-- noSignature: if (this.superclass == null || !this.superclass.isParameterizedType()) {
-- for (int i = 0, length = this.superInterfaces.length; i < length; i++)
-- if (this.superInterfaces[i].isParameterizedType())
-- break noSignature;
-- return null;
-- }
-- sig = new StringBuffer(10);
-- }
-- if (this.superclass != null)
-- sig.append(this.superclass.genericTypeSignature());
-- else // interface scenario only (as Object cannot be generic) - 65953
-- sig.append(this.scope.getJavaLangObject().genericTypeSignature());
-+ if (this.typeVariables != Binding.NO_TYPE_VARIABLES) {
-+ sig = new StringBuffer(10);
-+ sig.append('<');
-+ for (int i = 0, length = this.typeVariables.length; i < length; i++)
-+ sig.append(this.typeVariables[i].genericSignature());
-+ sig.append('>');
-+ } else {
-+ // could still need a signature if any of supertypes is parameterized
-+ noSignature: if (this.superclass == null || !this.superclass.isParameterizedType()) {
-+ for (int i = 0, length = this.superInterfaces.length; i < length; i++)
-+ if (this.superInterfaces[i].isParameterizedType())
-+ break noSignature;
-+ return null;
-+ }
-+ sig = new StringBuffer(10);
-+ }
-+ if (this.superclass != null)
-+ sig.append(this.superclass.genericTypeSignature());
-+ else // interface scenario only (as Object cannot be generic) - 65953
-+ sig.append(this.scope.getJavaLangObject().genericTypeSignature());
- for (int i = 0, length = this.superInterfaces.length; i < length; i++)
- sig.append(this.superInterfaces[i].genericTypeSignature());
-- return sig.toString().toCharArray();
-+ return sig.toString().toCharArray();
- }
-
- /**
-@@ -686,330 +684,330 @@
- * @see org.eclipse.jdt.internal.compiler.lookup.Binding#getAnnotationTagBits()
- */
- public long getAnnotationTagBits() {
-- if ((this.tagBits & TagBits.AnnotationResolved) == 0 && this.scope != null) {
-- TypeDeclaration typeDecl = this.scope.referenceContext;
-- boolean old = typeDecl.staticInitializerScope.insideTypeAnnotation;
-- try {
-- typeDecl.staticInitializerScope.insideTypeAnnotation = true;
-- ASTNode.resolveAnnotations(typeDecl.staticInitializerScope, typeDecl.annotations, this);
-- } finally {
-- typeDecl.staticInitializerScope.insideTypeAnnotation = old;
-- }
-- if ((this.tagBits & TagBits.AnnotationDeprecated) != 0)
-- this.modifiers |= ClassFileConstants.AccDeprecated;
-- }
-- return this.tagBits;
-+ if ((this.tagBits & TagBits.AnnotationResolved) == 0 && this.scope != null) {
-+ TypeDeclaration typeDecl = this.scope.referenceContext;
-+ boolean old = typeDecl.staticInitializerScope.insideTypeAnnotation;
-+ try {
-+ typeDecl.staticInitializerScope.insideTypeAnnotation = true;
-+ ASTNode.resolveAnnotations(typeDecl.staticInitializerScope, typeDecl.annotations, this);
-+ } finally {
-+ typeDecl.staticInitializerScope.insideTypeAnnotation = old;
-+ }
-+ if ((this.tagBits & TagBits.AnnotationDeprecated) != 0)
-+ this.modifiers |= ClassFileConstants.AccDeprecated;
-+ }
-+ return this.tagBits;
- }
- public MethodBinding[] getDefaultAbstractMethods() {
-- int count = 0;
-- for (int i = this.methods.length; --i >= 0;)
-- if (this.methods[i].isDefaultAbstract())
-- count++;
-- if (count == 0) return Binding.NO_METHODS;
--
-- MethodBinding[] result = new MethodBinding[count];
-- count = 0;
-- for (int i = this.methods.length; --i >= 0;)
-- if (this.methods[i].isDefaultAbstract())
-- result[count++] = this.methods[i];
-- return result;
-+ int count = 0;
-+ for (int i = this.methods.length; --i >= 0;)
-+ if (this.methods[i].isDefaultAbstract())
-+ count++;
-+ if (count == 0) return Binding.NO_METHODS;
-+
-+ MethodBinding[] result = new MethodBinding[count];
-+ count = 0;
-+ for (int i = this.methods.length; --i >= 0;)
-+ if (this.methods[i].isDefaultAbstract())
-+ result[count++] = this.methods[i];
-+ return result;
- }
- // NOTE: the return type, arg & exception types of each method of a source type are resolved when needed
- public MethodBinding getExactConstructor(TypeBinding[] argumentTypes) {
-- int argCount = argumentTypes.length;
-- if ((this.tagBits & TagBits.AreMethodsComplete) != 0) { // have resolved all arg types & return type of the methods
-- long range;
-- if ((range = ReferenceBinding.binarySearch(TypeConstants.INIT, this.methods)) >= 0) {
-- nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-- MethodBinding method = this.methods[imethod];
-- if (method.parameters.length == argCount) {
-- TypeBinding[] toMatch = method.parameters;
-- for (int iarg = 0; iarg < argCount; iarg++)
-- if (toMatch[iarg] != argumentTypes[iarg])
-- continue nextMethod;
-- return method;
-- }
-- }
-- }
-- } else {
-- // lazily sort methods
-- if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-- int length = this.methods.length;
-- if (length > 1)
-- ReferenceBinding.sortMethods(this.methods, 0, length);
-- this.tagBits |= TagBits.AreMethodsSorted;
-- }
-- long range;
-- if ((range = ReferenceBinding.binarySearch(TypeConstants.INIT, this.methods)) >= 0) {
-- nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-- MethodBinding method = this.methods[imethod];
-- if (resolveTypesFor(method) == null || method.returnType == null) {
-- methods();
-- return getExactConstructor(argumentTypes); // try again since the problem methods have been removed
-- }
-- if (method.parameters.length == argCount) {
-- TypeBinding[] toMatch = method.parameters;
-- for (int iarg = 0; iarg < argCount; iarg++)
-- if (toMatch[iarg] != argumentTypes[iarg])
-- continue nextMethod;
-- return method;
-- }
-- }
-- }
-- }
-- return null;
-+ int argCount = argumentTypes.length;
-+ if ((this.tagBits & TagBits.AreMethodsComplete) != 0) { // have resolved all arg types & return type of the methods
-+ long range;
-+ if ((range = ReferenceBinding.binarySearch(TypeConstants.INIT, this.methods)) >= 0) {
-+ nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-+ MethodBinding method = this.methods[imethod];
-+ if (method.parameters.length == argCount) {
-+ TypeBinding[] toMatch = method.parameters;
-+ for (int iarg = 0; iarg < argCount; iarg++)
-+ if (toMatch[iarg] != argumentTypes[iarg])
-+ continue nextMethod;
-+ return method;
-+ }
-+ }
-+ }
-+ } else {
-+ // lazily sort methods
-+ if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-+ int length = this.methods.length;
-+ if (length > 1)
-+ ReferenceBinding.sortMethods(this.methods, 0, length);
-+ this.tagBits |= TagBits.AreMethodsSorted;
-+ }
-+ long range;
-+ if ((range = ReferenceBinding.binarySearch(TypeConstants.INIT, this.methods)) >= 0) {
-+ nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-+ MethodBinding method = this.methods[imethod];
-+ if (resolveTypesFor(method) == null || method.returnType == null) {
-+ methods();
-+ return getExactConstructor(argumentTypes); // try again since the problem methods have been removed
-+ }
-+ if (method.parameters.length == argCount) {
-+ TypeBinding[] toMatch = method.parameters;
-+ for (int iarg = 0; iarg < argCount; iarg++)
-+ if (toMatch[iarg] != argumentTypes[iarg])
-+ continue nextMethod;
-+ return method;
-+ }
-+ }
-+ }
-+ }
-+ return null;
- }
-
- //NOTE: the return type, arg & exception types of each method of a source type are resolved when needed
- //searches up the hierarchy as long as no potential (but not exact) match was found.
- public MethodBinding getExactMethod(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope) {
-- // sender from refScope calls recordTypeReference(this)
-- int argCount = argumentTypes.length;
-- boolean foundNothing = true;
--
-- if ((this.tagBits & TagBits.AreMethodsComplete) != 0) { // have resolved all arg types & return type of the methods
-- long range;
-- if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-- nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-- MethodBinding method = this.methods[imethod];
-- foundNothing = false; // inner type lookups must know that a method with this name exists
-- if (method.parameters.length == argCount) {
-- TypeBinding[] toMatch = method.parameters;
-- for (int iarg = 0; iarg < argCount; iarg++)
-- if (toMatch[iarg] != argumentTypes[iarg])
-- continue nextMethod;
-- return method;
-- }
-- }
-- }
-- } else {
-- // lazily sort methods
-- if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-- int length = this.methods.length;
-- if (length > 1)
-- ReferenceBinding.sortMethods(this.methods, 0, length);
-- this.tagBits |= TagBits.AreMethodsSorted;
-- }
--
-- long range;
-- if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-- // check unresolved method
-- int start = (int) range, end = (int) (range >> 32);
-- for (int imethod = start; imethod <= end; imethod++) {
-- MethodBinding method = this.methods[imethod];
-- if (resolveTypesFor(method) == null || method.returnType == null) {
-- methods();
-- return getExactMethod(selector, argumentTypes, refScope); // try again since the problem methods have been removed
-- }
-- }
-- // check dup collisions
-- boolean isSource15 = this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5;
-- for (int i = start; i <= end; i++) {
-- MethodBinding method1 = this.methods[i];
-- for (int j = end; j > i; j--) {
-- MethodBinding method2 = this.methods[j];
-- boolean paramsMatch = isSource15
-- ? method1.areParameterErasuresEqual(method2)
-- : method1.areParametersEqual(method2);
-- if (paramsMatch) {
-- methods();
-- return getExactMethod(selector, argumentTypes, refScope); // try again since the problem methods have been removed
-- }
-- }
-- }
-- nextMethod: for (int imethod = start; imethod <= end; imethod++) {
-- MethodBinding method = this.methods[imethod];
-- TypeBinding[] toMatch = method.parameters;
-- if (toMatch.length == argCount) {
-- for (int iarg = 0; iarg < argCount; iarg++)
-- if (toMatch[iarg] != argumentTypes[iarg])
-- continue nextMethod;
-- return method;
-- }
-- }
-- }
-- }
--
-- if (foundNothing) {
-- if (isInterface()) {
-- if (this.superInterfaces.length == 1) {
-- if (refScope != null)
-- refScope.recordTypeReference(this.superInterfaces[0]);
-- return this.superInterfaces[0].getExactMethod(selector, argumentTypes, refScope);
-- }
-- } else if (this.superclass != null) {
-- if (refScope != null)
-- refScope.recordTypeReference(this.superclass);
-- return this.superclass.getExactMethod(selector, argumentTypes, refScope);
-- }
-- }
-- return null;
-+ // sender from refScope calls recordTypeReference(this)
-+ int argCount = argumentTypes.length;
-+ boolean foundNothing = true;
-+
-+ if ((this.tagBits & TagBits.AreMethodsComplete) != 0) { // have resolved all arg types & return type of the methods
-+ long range;
-+ if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-+ nextMethod: for (int imethod = (int)range, end = (int)(range >> 32); imethod <= end; imethod++) {
-+ MethodBinding method = this.methods[imethod];
-+ foundNothing = false; // inner type lookups must know that a method with this name exists
-+ if (method.parameters.length == argCount) {
-+ TypeBinding[] toMatch = method.parameters;
-+ for (int iarg = 0; iarg < argCount; iarg++)
-+ if (toMatch[iarg] != argumentTypes[iarg])
-+ continue nextMethod;
-+ return method;
-+ }
-+ }
-+ }
-+ } else {
-+ // lazily sort methods
-+ if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-+ int length = this.methods.length;
-+ if (length > 1)
-+ ReferenceBinding.sortMethods(this.methods, 0, length);
-+ this.tagBits |= TagBits.AreMethodsSorted;
-+ }
-+
-+ long range;
-+ if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-+ // check unresolved method
-+ int start = (int) range, end = (int) (range >> 32);
-+ for (int imethod = start; imethod <= end; imethod++) {
-+ MethodBinding method = this.methods[imethod];
-+ if (resolveTypesFor(method) == null || method.returnType == null) {
-+ methods();
-+ return getExactMethod(selector, argumentTypes, refScope); // try again since the problem methods have been removed
-+ }
-+ }
-+ // check dup collisions
-+ boolean isSource15 = this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5;
-+ for (int i = start; i <= end; i++) {
-+ MethodBinding method1 = this.methods[i];
-+ for (int j = end; j > i; j--) {
-+ MethodBinding method2 = this.methods[j];
-+ boolean paramsMatch = isSource15
-+ ? method1.areParameterErasuresEqual(method2)
-+ : method1.areParametersEqual(method2);
-+ if (paramsMatch) {
-+ methods();
-+ return getExactMethod(selector, argumentTypes, refScope); // try again since the problem methods have been removed
-+ }
-+ }
-+ }
-+ nextMethod: for (int imethod = start; imethod <= end; imethod++) {
-+ MethodBinding method = this.methods[imethod];
-+ TypeBinding[] toMatch = method.parameters;
-+ if (toMatch.length == argCount) {
-+ for (int iarg = 0; iarg < argCount; iarg++)
-+ if (toMatch[iarg] != argumentTypes[iarg])
-+ continue nextMethod;
-+ return method;
-+ }
-+ }
-+ }
-+ }
-+
-+ if (foundNothing) {
-+ if (isInterface()) {
-+ if (this.superInterfaces.length == 1) {
-+ if (refScope != null)
-+ refScope.recordTypeReference(this.superInterfaces[0]);
-+ return this.superInterfaces[0].getExactMethod(selector, argumentTypes, refScope);
-+ }
-+ } else if (this.superclass != null) {
-+ if (refScope != null)
-+ refScope.recordTypeReference(this.superclass);
-+ return this.superclass.getExactMethod(selector, argumentTypes, refScope);
-+ }
-+ }
-+ return null;
- }
-
- //NOTE: the type of a field of a source type is resolved when needed
- public FieldBinding getField(char[] fieldName, boolean needResolve) {
--
-- if ((this.tagBits & TagBits.AreFieldsComplete) != 0)
-- return ReferenceBinding.binarySearch(fieldName, this.fields);
--
-- // lazily sort fields
-- if ((this.tagBits & TagBits.AreFieldsSorted) == 0) {
-- int length = this.fields.length;
-- if (length > 1)
-- ReferenceBinding.sortFields(this.fields, 0, length);
-- this.tagBits |= TagBits.AreFieldsSorted;
-- }
-- // always resolve anyway on source types
-- FieldBinding field = ReferenceBinding.binarySearch(fieldName, this.fields);
-- if (field != null) {
-- FieldBinding result = null;
-- try {
-- result = resolveTypeFor(field);
-- return result;
-- } finally {
-- if (result == null) {
-- // ensure fields are consistent reqardless of the error
-- int newSize = this.fields.length - 1;
-- if (newSize == 0) {
-- this.fields = Binding.NO_FIELDS;
-- } else {
-- FieldBinding[] newFields = new FieldBinding[newSize];
-- int index = 0;
-- for (int i = 0, length = this.fields.length; i < length; i++) {
-- FieldBinding f = this.fields[i];
-- if (f == field) continue;
-- newFields[index++] = f;
-- }
-- this.fields = newFields;
-- }
-- }
-- }
-- }
-- return null;
-+
-+ if ((this.tagBits & TagBits.AreFieldsComplete) != 0)
-+ return ReferenceBinding.binarySearch(fieldName, this.fields);
-+
-+ // lazily sort fields
-+ if ((this.tagBits & TagBits.AreFieldsSorted) == 0) {
-+ int length = this.fields.length;
-+ if (length > 1)
-+ ReferenceBinding.sortFields(this.fields, 0, length);
-+ this.tagBits |= TagBits.AreFieldsSorted;
-+ }
-+ // always resolve anyway on source types
-+ FieldBinding field = ReferenceBinding.binarySearch(fieldName, this.fields);
-+ if (field != null) {
-+ FieldBinding result = null;
-+ try {
-+ result = resolveTypeFor(field);
-+ return result;
-+ } finally {
-+ if (result == null) {
-+ // ensure fields are consistent reqardless of the error
-+ int newSize = this.fields.length - 1;
-+ if (newSize == 0) {
-+ this.fields = Binding.NO_FIELDS;
-+ } else {
-+ FieldBinding[] newFields = new FieldBinding[newSize];
-+ int index = 0;
-+ for (int i = 0, length = this.fields.length; i < length; i++) {
-+ FieldBinding f = this.fields[i];
-+ if (f == field) continue;
-+ newFields[index++] = f;
-+ }
-+ this.fields = newFields;
-+ }
-+ }
-+ }
-+ }
-+ return null;
- }
-
- // NOTE: the return type, arg & exception types of each method of a source type are resolved when needed
- public MethodBinding[] getMethods(char[] selector) {
-- if ((this.tagBits & TagBits.AreMethodsComplete) != 0) {
-- long range;
-- if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-- int start = (int) range, end = (int) (range >> 32);
-- int length = end - start + 1;
-- MethodBinding[] result;
-- System.arraycopy(this.methods, start, result = new MethodBinding[length], 0, length);
-- return result;
-- } else {
-- return Binding.NO_METHODS;
-- }
-- }
-- // lazily sort methods
-- if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-- int length = this.methods.length;
-- if (length > 1)
-- ReferenceBinding.sortMethods(this.methods, 0, length);
-- this.tagBits |= TagBits.AreMethodsSorted;
-- }
-- MethodBinding[] result;
-- long range;
-- if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-- int start = (int) range, end = (int) (range >> 32);
-- for (int i = start; i <= end; i++) {
-- MethodBinding method = this.methods[i];
-- if (resolveTypesFor(method) == null || method.returnType == null) {
-- methods();
-- return getMethods(selector); // try again since the problem methods have been removed
-- }
-- }
-- int length = end - start + 1;
-- System.arraycopy(this.methods, start, result = new MethodBinding[length], 0, length);
-- } else {
-- return Binding.NO_METHODS;
-- }
-- boolean isSource15 = this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5;
-- for (int i = 0, length = result.length - 1; i < length; i++) {
-- MethodBinding method = result[i];
-- for (int j = length; j > i; j--) {
-- boolean paramsMatch = isSource15
-- ? method.areParameterErasuresEqual(result[j])
-- : method.areParametersEqual(result[j]);
-- if (paramsMatch) {
-- methods();
-- return getMethods(selector); // try again since the duplicate methods have been removed
-- }
-- }
-- }
-- return result;
-+ if ((this.tagBits & TagBits.AreMethodsComplete) != 0) {
-+ long range;
-+ if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-+ int start = (int) range, end = (int) (range >> 32);
-+ int length = end - start + 1;
-+ MethodBinding[] result;
-+ System.arraycopy(this.methods, start, result = new MethodBinding[length], 0, length);
-+ return result;
-+ } else {
-+ return Binding.NO_METHODS;
-+ }
-+ }
-+ // lazily sort methods
-+ if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-+ int length = this.methods.length;
-+ if (length > 1)
-+ ReferenceBinding.sortMethods(this.methods, 0, length);
-+ this.tagBits |= TagBits.AreMethodsSorted;
-+ }
-+ MethodBinding[] result;
-+ long range;
-+ if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
-+ int start = (int) range, end = (int) (range >> 32);
-+ for (int i = start; i <= end; i++) {
-+ MethodBinding method = this.methods[i];
-+ if (resolveTypesFor(method) == null || method.returnType == null) {
-+ methods();
-+ return getMethods(selector); // try again since the problem methods have been removed
-+ }
-+ }
-+ int length = end - start + 1;
-+ System.arraycopy(this.methods, start, result = new MethodBinding[length], 0, length);
-+ } else {
-+ return Binding.NO_METHODS;
-+ }
-+ boolean isSource15 = this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5;
-+ for (int i = 0, length = result.length - 1; i < length; i++) {
-+ MethodBinding method = result[i];
-+ for (int j = length; j > i; j--) {
-+ boolean paramsMatch = isSource15
-+ ? method.areParameterErasuresEqual(result[j])
-+ : method.areParametersEqual(result[j]);
-+ if (paramsMatch) {
-+ methods();
-+ return getMethods(selector); // try again since the duplicate methods have been removed
-+ }
-+ }
-+ }
-+ return result;
- }
- /* Answer the synthetic field for <actualOuterLocalVariable>
--* or null if one does not exist.
-+* or null if one does not exist.
- */
- public FieldBinding getSyntheticField(LocalVariableBinding actualOuterLocalVariable) {
-- if (this.synthetics == null || this.synthetics[SourceTypeBinding.FIELD_EMUL] == null) return null;
-- return (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(actualOuterLocalVariable);
-+ if (this.synthetics == null || this.synthetics[SourceTypeBinding.FIELD_EMUL] == null) return null;
-+ return (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(actualOuterLocalVariable);
- }
- /* Answer the synthetic field for <targetEnclosingType>
--* or null if one does not exist.
-+* or null if one does not exist.
- */
- public FieldBinding getSyntheticField(ReferenceBinding targetEnclosingType, boolean onlyExactMatch) {
-
-- if (this.synthetics == null || this.synthetics[SourceTypeBinding.FIELD_EMUL] == null) return null;
-- FieldBinding field = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(targetEnclosingType);
-- if (field != null) return field;
--
-- // type compatibility : to handle cases such as
-- // class T { class M{}}
-- // class S extends T { class N extends M {}} --> need to use S as a default enclosing instance for the super constructor call in N().
-- if (!onlyExactMatch){
-- Iterator accessFields = this.synthetics[SourceTypeBinding.FIELD_EMUL].values().iterator();
-- while (accessFields.hasNext()) {
-- field = (FieldBinding) accessFields.next();
-- if (CharOperation.prefixEquals(TypeConstants.SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, field.name)
-- && field.type.findSuperTypeOriginatingFrom(targetEnclosingType) != null)
-- return field;
-- }
-- }
-- return null;
-+ if (this.synthetics == null || this.synthetics[SourceTypeBinding.FIELD_EMUL] == null) return null;
-+ FieldBinding field = (FieldBinding) this.synthetics[SourceTypeBinding.FIELD_EMUL].get(targetEnclosingType);
-+ if (field != null) return field;
-+
-+ // type compatibility : to handle cases such as
-+ // class T { class M{}}
-+ // class S extends T { class N extends M {}} --> need to use S as a default enclosing instance for the super constructor call in N().
-+ if (!onlyExactMatch){
-+ Iterator accessFields = this.synthetics[SourceTypeBinding.FIELD_EMUL].values().iterator();
-+ while (accessFields.hasNext()) {
-+ field = (FieldBinding) accessFields.next();
-+ if (CharOperation.prefixEquals(TypeConstants.SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, field.name)
-+ && field.type.findSuperTypeOriginatingFrom(targetEnclosingType) != null)
-+ return field;
-+ }
-+ }
-+ return null;
- }
--/*
-+/*
- * Answer the bridge method associated for an inherited methods or null if one does not exist
- */
- public SyntheticMethodBinding getSyntheticBridgeMethod(MethodBinding inheritedMethodToBridge) {
-- if (this.synthetics == null) return null;
-- if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null) return null;
-- SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(inheritedMethodToBridge);
-- if (accessors == null) return null;
-- return accessors[1];
-+ if (this.synthetics == null) return null;
-+ if (this.synthetics[SourceTypeBinding.METHOD_EMUL] == null) return null;
-+ SyntheticMethodBinding[] accessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(inheritedMethodToBridge);
-+ if (accessors == null) return null;
-+ return accessors[1];
- }
-
- /**
- * @see org.eclipse.jdt.internal.compiler.lookup.Binding#initializeDeprecatedAnnotationTagBits()
- */
- public void initializeDeprecatedAnnotationTagBits() {
-- if ((this.tagBits & TagBits.DeprecatedAnnotationResolved) == 0) {
-- TypeDeclaration typeDecl = this.scope.referenceContext;
-- boolean old = typeDecl.staticInitializerScope.insideTypeAnnotation;
-- try {
-- typeDecl.staticInitializerScope.insideTypeAnnotation = true;
-- ASTNode.resolveDeprecatedAnnotations(typeDecl.staticInitializerScope, typeDecl.annotations, this);
-- this.tagBits |= TagBits.DeprecatedAnnotationResolved;
-- } finally {
-- typeDecl.staticInitializerScope.insideTypeAnnotation = old;
-- }
-- if ((this.tagBits & TagBits.AnnotationDeprecated) != 0) {
-- this.modifiers |= ClassFileConstants.AccDeprecated;
-- }
-- }
-+ if ((this.tagBits & TagBits.DeprecatedAnnotationResolved) == 0) {
-+ TypeDeclaration typeDecl = this.scope.referenceContext;
-+ boolean old = typeDecl.staticInitializerScope.insideTypeAnnotation;
-+ try {
-+ typeDecl.staticInitializerScope.insideTypeAnnotation = true;
-+ ASTNode.resolveDeprecatedAnnotations(typeDecl.staticInitializerScope, typeDecl.annotations, this);
-+ this.tagBits |= TagBits.DeprecatedAnnotationResolved;
-+ } finally {
-+ typeDecl.staticInitializerScope.insideTypeAnnotation = old;
-+ }
-+ if ((this.tagBits & TagBits.AnnotationDeprecated) != 0) {
-+ this.modifiers |= ClassFileConstants.AccDeprecated;
-+ }
-+ }
- }
-
- // ensure the receiver knows its hierarchy & fields/methods so static imports can be resolved correctly
- // see bug 230026
- void initializeForStaticImports() {
-- if (this.scope == null) return; // already initialized
-+ if (this.scope == null) return; // already initialized
-
-- if (this.superInterfaces == null)
-- this.scope.connectTypeHierarchy();
-- this.scope.buildFields();
-- this.scope.buildMethods();
-+ if (this.superInterfaces == null)
-+ this.scope.connectTypeHierarchy();
-+ this.scope.buildFields();
-+ this.scope.buildMethods();
- }
-
- /**
-@@ -1018,655 +1016,613 @@
- */
- public boolean isEquivalentTo(TypeBinding otherType) {
-
-- if (this == otherType) return true;
-- if (otherType == null) return false;
-- switch(otherType.kind()) {
--
-- case Binding.WILDCARD_TYPE :
-- case Binding.INTERSECTION_TYPE:
-- return ((WildcardBinding) otherType).boundCheck(this);
--
-- case Binding.PARAMETERIZED_TYPE :
-- if ((otherType.tagBits & TagBits.HasDirectWildcard) == 0 && (!this.isMemberType() || !otherType.isMemberType()))
-- return false; // should have been identical
-- ParameterizedTypeBinding otherParamType = (ParameterizedTypeBinding) otherType;
-- if (this != otherParamType.genericType())
-- return false;
-- if (!isStatic()) { // static member types do not compare their enclosing
-- ReferenceBinding enclosing = enclosingType();
-- if (enclosing != null) {
-- ReferenceBinding otherEnclosing = otherParamType.enclosingType();
-- if (otherEnclosing == null) return false;
-- if ((otherEnclosing.tagBits & TagBits.HasDirectWildcard) == 0) {
-- if (enclosing != otherEnclosing) return false;
-- } else {
-- if (!enclosing.isEquivalentTo(otherParamType.enclosingType())) return false;
-- }
-- }
-- }
-- int length = this.typeVariables == null ? 0 : this.typeVariables.length;
-- TypeBinding[] otherArguments = otherParamType.arguments;
-- int otherLength = otherArguments == null ? 0 : otherArguments.length;
-- if (otherLength != length)
-- return false;
-- for (int i = 0; i < length; i++)
-- if (!this.typeVariables[i].isTypeArgumentContainedBy(otherArguments[i]))
-- return false;
-- return true;
--
-- case Binding.RAW_TYPE :
-- return otherType.erasure() == this;
-- }
-- return false;
-+ if (this == otherType) return true;
-+ if (otherType == null) return false;
-+ switch(otherType.kind()) {
-+
-+ case Binding.WILDCARD_TYPE :
-+ case Binding.INTERSECTION_TYPE:
-+ return ((WildcardBinding) otherType).boundCheck(this);
-+
-+ case Binding.PARAMETERIZED_TYPE :
-+ if ((otherType.tagBits & TagBits.HasDirectWildcard) == 0 && (!isMemberType() || !otherType.isMemberType()))
-+ return false; // should have been identical
-+ ParameterizedTypeBinding otherParamType = (ParameterizedTypeBinding) otherType;
-+ if (this != otherParamType.genericType())
-+ return false;
-+ if (!isStatic()) { // static member types do not compare their enclosing
-+ ReferenceBinding enclosing = enclosingType();
-+ if (enclosing != null) {
-+ ReferenceBinding otherEnclosing = otherParamType.enclosingType();
-+ if (otherEnclosing == null) return false;
-+ if ((otherEnclosing.tagBits & TagBits.HasDirectWildcard) == 0) {
-+ if (enclosing != otherEnclosing) return false;
-+ } else {
-+ if (!enclosing.isEquivalentTo(otherParamType.enclosingType())) return false;
-+ }
-+ }
-+ }
-+ int length = this.typeVariables == null ? 0 : this.typeVariables.length;
-+ TypeBinding[] otherArguments = otherParamType.arguments;
-+ int otherLength = otherArguments == null ? 0 : otherArguments.length;
-+ if (otherLength != length)
-+ return false;
-+ for (int i = 0; i < length; i++)
-+ if (!this.typeVariables[i].isTypeArgumentContainedBy(otherArguments[i]))
-+ return false;
-+ return true;
-+
-+ case Binding.RAW_TYPE :
-+ return otherType.erasure() == this;
-+ }
-+ return false;
- }
- public boolean isGenericType() {
- return this.typeVariables != Binding.NO_TYPE_VARIABLES;
- }
--public ReferenceBinding[] memberTypes() {
-- return this.memberTypes;
-+public boolean isHierarchyConnected() {
-+ return (this.tagBits & TagBits.EndHierarchyCheck) != 0;
- }
--public FieldBinding getUpdatedFieldBinding(FieldBinding targetField, ReferenceBinding newDeclaringClass) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.RECEIVER_TYPE_EMUL] == null)
-- this.synthetics[SourceTypeBinding.RECEIVER_TYPE_EMUL] = new HashMap();
--
-- Hashtable fieldMap = (Hashtable) this.synthetics[SourceTypeBinding.RECEIVER_TYPE_EMUL].get(targetField);
-- if (fieldMap == null) {
-- fieldMap = new Hashtable(5);
-- this.synthetics[SourceTypeBinding.RECEIVER_TYPE_EMUL].put(targetField, fieldMap);
-- }
-- FieldBinding updatedField = (FieldBinding) fieldMap.get(newDeclaringClass);
-- if (updatedField == null){
-- updatedField = new FieldBinding(targetField, newDeclaringClass);
-- fieldMap.put(newDeclaringClass, updatedField);
-- }
-- return updatedField;
--}
--public MethodBinding getUpdatedMethodBinding(MethodBinding targetMethod, ReferenceBinding newDeclaringClass) {
-- if (this.synthetics == null)
-- this.synthetics = new HashMap[MAX_SYNTHETICS];
-- if (this.synthetics[SourceTypeBinding.RECEIVER_TYPE_EMUL] == null)
-- this.synthetics[SourceTypeBinding.RECEIVER_TYPE_EMUL] = new HashMap();
--
-- Hashtable methodMap = (Hashtable) this.synthetics[SourceTypeBinding.RECEIVER_TYPE_EMUL].get(targetMethod);
-- if (methodMap == null) {
-- methodMap = new Hashtable(5);
-- this.synthetics[SourceTypeBinding.RECEIVER_TYPE_EMUL].put(targetMethod, methodMap);
-- }
-- MethodBinding updatedMethod = (MethodBinding) methodMap.get(newDeclaringClass);
-- if (updatedMethod == null){
-- updatedMethod = new MethodBinding(targetMethod, newDeclaringClass);
-- methodMap.put(newDeclaringClass, updatedMethod);
-- }
-- return updatedMethod;
-+public ReferenceBinding[] memberTypes() {
-+ return this.memberTypes;
- }
- public boolean hasMemberTypes() {
- return this.memberTypes.length > 0;
- }
-+
- // NOTE: the return type, arg & exception types of each method of a source type are resolved when needed
- public MethodBinding[] methods() {
-- if ((this.tagBits & TagBits.AreMethodsComplete) != 0)
-- return this.methods;
--
-- // lazily sort methods
-- if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-- int length = this.methods.length;
-- if (length > 1)
-- ReferenceBinding.sortMethods(this.methods, 0, length);
-- this.tagBits |= TagBits.AreMethodsSorted;
-- }
--
-- int failed = 0;
-- MethodBinding[] resolvedMethods = this.methods;
-- try {
-- for (int i = 0, length = this.methods.length; i < length; i++) {
-- if (resolveTypesFor(this.methods[i]) == null) {
-- // do not alter original method array until resolution is over, due to reentrance (143259)
-- if (resolvedMethods == this.methods) {
-- System.arraycopy(this.methods, 0, resolvedMethods = new MethodBinding[length], 0, length);
-- }
-- resolvedMethods[i] = null; // unable to resolve parameters
-- failed++;
-- }
-- }
--
-- // find & report collision cases
-- boolean complyTo15 = this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5;
-- for (int i = 0, length = this.methods.length; i < length; i++) {
-- MethodBinding method = resolvedMethods[i];
-- if (method == null)
-- continue;
-- char[] selector = method.selector;
-- AbstractMethodDeclaration methodDecl = null;
-- nextSibling: for (int j = i + 1; j < length; j++) {
-- MethodBinding method2 = resolvedMethods[j];
-- if (method2 == null)
-- continue nextSibling;
-- if (!CharOperation.equals(selector, method2.selector))
-- break nextSibling; // methods with same selector are contiguous
--
-- if (complyTo15 && method.returnType != null && method2.returnType != null) {
-- // 8.4.2, for collision to be detected between m1 and m2:
-- // signature(m1) == signature(m2) i.e. same arity, same type parameter count, can be substituted
-- // signature(m1) == erasure(signature(m2)) or erasure(signature(m1)) == signature(m2)
-- TypeBinding[] params1 = method.parameters;
-- TypeBinding[] params2 = method2.parameters;
-- int pLength = params1.length;
-- if (pLength != params2.length)
-- continue nextSibling;
--
-- TypeVariableBinding[] vars = method.typeVariables;
-- TypeVariableBinding[] vars2 = method2.typeVariables;
-- boolean equalTypeVars = vars == vars2;
-- MethodBinding subMethod = method2;
-- if (!equalTypeVars) {
-- MethodBinding temp = method.computeSubstitutedMethod(method2, this.scope.environment());
-- if (temp != null) {
-- equalTypeVars = true;
-- subMethod = temp;
-- }
-- }
-- boolean equalParams = method.areParametersEqual(subMethod);
-- if (equalParams && equalTypeVars) {
-- // duplicates regardless of return types
-- } else if (method.returnType.erasure() == subMethod.returnType.erasure() && (equalParams || method.areParameterErasuresEqual(method2))) {
-- // name clash for sure if not duplicates, report as duplicates
-- } else if (!equalTypeVars && vars != Binding.NO_TYPE_VARIABLES && vars2 != Binding.NO_TYPE_VARIABLES) {
-- // type variables are different so we can distinguish between methods
-- continue nextSibling;
-- } else if (pLength > 0) {
-- // check to see if the erasure of either method is equal to the other
-- int index = pLength;
-- for (; --index >= 0;) {
-- if (params1[index] != params2[index].erasure())
-- break;
-- if (params1[index] == params2[index]) {
-- TypeBinding type = params1[index].leafComponentType();
-- if (type instanceof SourceTypeBinding && type.typeVariables() != Binding.NO_TYPE_VARIABLES) {
-- index = pLength; // handle comparing identical source types like X<T>... its erasure is itself BUT we need to answer false
-- break;
-- }
-- }
-- }
-- if (index >= 0 && index < pLength) {
-- for (index = pLength; --index >= 0;)
-- if (params1[index].erasure() != params2[index])
-- break;
-- }
-- if (index >= 0)
-- continue nextSibling;
-- }
-- } else if (!method.areParametersEqual(method2)) { // prior to 1.5, parameter identity meant a collision case
-- continue nextSibling;
-- }
-- boolean isEnumSpecialMethod = isEnum() && (CharOperation.equals(selector,TypeConstants.VALUEOF) || CharOperation.equals(selector,TypeConstants.VALUES));
-- // report duplicate
-- if (methodDecl == null) {
-- methodDecl = method.sourceMethod(); // cannot be retrieved after binding is lost & may still be null if method is special
-- if (methodDecl != null && methodDecl.binding != null) { // ensure its a valid user defined method
-- if (isEnumSpecialMethod) {
-- this.scope.problemReporter().duplicateEnumSpecialMethod(this, methodDecl);
-- } else {
+ import java.util.Hashtable;
+ import java.util.Iterator;
+@@ -1202,13 +1203,14 @@ public MethodBinding[] methods() {
+ }
+ boolean isEnumSpecialMethod = isEnum() && (CharOperation.equals(selector,TypeConstants.VALUEOF) || CharOperation.equals(selector,TypeConstants.VALUES));
+ // report duplicate
++ int severity = ProblemSeverities.Error;
+ if (methodDecl == null) {
+ methodDecl = method.sourceMethod(); // cannot be retrieved after binding is lost & may still be null if method is special
+ if (methodDecl != null && methodDecl.binding != null) { // ensure its a valid user defined method
+ if (isEnumSpecialMethod) {
+ this.scope.problemReporter().duplicateEnumSpecialMethod(this, methodDecl);
+ } else {
- this.scope.problemReporter().duplicateMethodInType(this, methodDecl, method.areParametersEqual(method2));
-- }
-- methodDecl.binding = null;
-- // do not alter original method array until resolution is over, due to reentrance (143259)
-- if (resolvedMethods == this.methods) {
-- System.arraycopy(this.methods, 0, resolvedMethods = new MethodBinding[length], 0, length);
-- }
-- resolvedMethods[i] = null;
-- failed++;
-- }
-- }
-- AbstractMethodDeclaration method2Decl = method2.sourceMethod();
-- if (method2Decl != null && method2Decl.binding != null) { // ensure its a valid user defined method
-- if (isEnumSpecialMethod) {
-- this.scope.problemReporter().duplicateEnumSpecialMethod(this, method2Decl);
-- } else {
++ this.scope.problemReporter().duplicateMethodInType(this, methodDecl, method.areParametersEqual(method2), severity);
+ }
+ methodDecl.binding = null;
+ // do not alter original method array until resolution is over, due to reentrance (143259)
+@@ -1224,7 +1226,7 @@ public MethodBinding[] methods() {
+ if (isEnumSpecialMethod) {
+ this.scope.problemReporter().duplicateEnumSpecialMethod(this, method2Decl);
+ } else {
- this.scope.problemReporter().duplicateMethodInType(this, method2Decl, method.areParametersEqual(method2));
-- }
-- method2Decl.binding = null;
-- // do not alter original method array until resolution is over, due to reentrance (143259)
-- if (resolvedMethods == this.methods) {
-- System.arraycopy(this.methods, 0, resolvedMethods = new MethodBinding[length], 0, length);
-- }
-- resolvedMethods[j] = null;
-- failed++;
-- }
-- }
-- if (method.returnType == null && methodDecl == null) { // forget method with invalid return type... was kept to detect possible collisions
-- methodDecl = method.sourceMethod();
-- if (methodDecl != null) {
-- methodDecl.binding = null;
-- }
-- // do not alter original method array until resolution is over, due to reentrance (143259)
-- if (resolvedMethods == this.methods) {
-- System.arraycopy(this.methods, 0, resolvedMethods = new MethodBinding[length], 0, length);
-- }
-- resolvedMethods[i] = null;
-- failed++;
-- }
-- }
-- } finally {
-- if (failed > 0) {
-- int newSize = resolvedMethods.length - failed;
-- if (newSize == 0) {
-- this.methods = Binding.NO_METHODS;
-- } else {
-- MethodBinding[] newMethods = new MethodBinding[newSize];
-- for (int i = 0, j = 0, length = resolvedMethods.length; i < length; i++)
-- if (resolvedMethods[i] != null)
-- newMethods[j++] = resolvedMethods[i];
-- this.methods = newMethods;
-- }
-- }
--
-- // handle forward references to potential default abstract methods
-- addDefaultAbstractMethods();
-- this.tagBits |= TagBits.AreMethodsComplete;
-- }
-- return this.methods;
--}
--private FieldBinding resolveTypeFor(FieldBinding field) {
-- if ((field.modifiers & ExtraCompilerModifiers.AccUnresolved) == 0)
-- return field;
--
-- if (this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5) {
-- if ((field.getAnnotationTagBits() & TagBits.AnnotationDeprecated) != 0)
-- field.modifiers |= ClassFileConstants.AccDeprecated;
-- }
-- if (isViewedAsDeprecated() && !field.isDeprecated())
-- field.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-- if (hasRestrictedAccess())
-- field.modifiers |= ExtraCompilerModifiers.AccRestrictedAccess;
-- FieldDeclaration[] fieldDecls = this.scope.referenceContext.fields;
-- for (int f = 0, length = fieldDecls.length; f < length; f++) {
-- if (fieldDecls[f].binding != field)
-- continue;
--
-- MethodScope initializationScope = field.isStatic()
-- ? this.scope.referenceContext.staticInitializerScope
-- : this.scope.referenceContext.initializerScope;
-- FieldBinding previousField = initializationScope.initializedField;
-- try {
-- initializationScope.initializedField = field;
-- FieldDeclaration fieldDecl = fieldDecls[f];
-- TypeBinding fieldType =
-- fieldDecl.getKind() == AbstractVariableDeclaration.ENUM_CONSTANT
-- ? initializationScope.environment().convertToRawType(this, false /*do not force conversion of enclosing types*/) // enum constant is implicitly of declaring enum type
-- : fieldDecl.type.resolveType(initializationScope, true /* check bounds*/);
-- field.type = fieldType;
-- field.modifiers &= ~ExtraCompilerModifiers.AccUnresolved;
-- if (fieldType == null) {
-- fieldDecl.binding = null;
-- return null;
-- }
-- if (fieldType == TypeBinding.VOID) {
-- this.scope.problemReporter().variableTypeCannotBeVoid(fieldDecl);
-- fieldDecl.binding = null;
-- return null;
-- }
-- if (fieldType.isArrayType() && ((ArrayBinding) fieldType).leafComponentType == TypeBinding.VOID) {
-- this.scope.problemReporter().variableTypeCannotBeVoidArray(fieldDecl);
-- fieldDecl.binding = null;
-- return null;
-- }
-- if ((fieldType.tagBits & TagBits.HasMissingType) != 0) {
-- field.tagBits |= TagBits.HasMissingType;
-- }
-- TypeBinding leafType = fieldType.leafComponentType();
-- if (leafType instanceof ReferenceBinding && (((ReferenceBinding)leafType).modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0) {
-- field.modifiers |= ExtraCompilerModifiers.AccGenericSignature;
-- }
-- } finally {
-- initializationScope.initializedField = previousField;
-- }
-- return field;
-- }
-- return null; // should never reach this point
-+ if ((this.tagBits & TagBits.AreMethodsComplete) != 0)
-+ return this.methods;
-+
-+ // lazily sort methods
-+ if ((this.tagBits & TagBits.AreMethodsSorted) == 0) {
-+ int length = this.methods.length;
-+ if (length > 1)
-+ ReferenceBinding.sortMethods(this.methods, 0, length);
-+ this.tagBits |= TagBits.AreMethodsSorted;
-+ }
-+
-+ int failed = 0;
-+ MethodBinding[] resolvedMethods = this.methods;
-+ try {
-+ for (int i = 0, length = this.methods.length; i < length; i++) {
-+ if (resolveTypesFor(this.methods[i]) == null) {
-+ // do not alter original method array until resolution is over, due to reentrance (143259)
-+ if (resolvedMethods == this.methods) {
-+ System.arraycopy(this.methods, 0, resolvedMethods = new MethodBinding[length], 0, length);
-+ }
-+ resolvedMethods[i] = null; // unable to resolve parameters
-+ failed++;
-+ }
-+ }
-+
-+ // find & report collision cases
-+ boolean complyTo15 = this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5;
-+ boolean complyTo17 = this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_7;
-+ for (int i = 0, length = this.methods.length; i < length; i++) {
-+ MethodBinding method = resolvedMethods[i];
-+ if (method == null)
-+ continue;
-+ char[] selector = method.selector;
-+ AbstractMethodDeclaration methodDecl = null;
-+ nextSibling: for (int j = i + 1; j < length; j++) {
-+ MethodBinding method2 = resolvedMethods[j];
-+ if (method2 == null)
-+ continue nextSibling;
-+ if (!CharOperation.equals(selector, method2.selector))
-+ break nextSibling; // methods with same selector are contiguous
-+
-+ if (complyTo15 && method.returnType != null && method2.returnType != null) {
-+ // 8.4.2, for collision to be detected between m1 and m2:
-+ // signature(m1) == signature(m2) i.e. same arity, same type parameter count, can be substituted
-+ // signature(m1) == erasure(signature(m2)) or erasure(signature(m1)) == signature(m2)
-+ TypeBinding[] params1 = method.parameters;
-+ TypeBinding[] params2 = method2.parameters;
-+ int pLength = params1.length;
-+ if (pLength != params2.length)
-+ continue nextSibling;
-+
-+ TypeVariableBinding[] vars = method.typeVariables;
-+ TypeVariableBinding[] vars2 = method2.typeVariables;
-+ boolean equalTypeVars = vars == vars2;
-+ MethodBinding subMethod = method2;
-+ if (!equalTypeVars) {
-+ MethodBinding temp = method.computeSubstitutedMethod(method2, this.scope.environment());
-+ if (temp != null) {
-+ equalTypeVars = true;
-+ subMethod = temp;
-+ }
-+ }
-+ boolean equalParams = method.areParametersEqual(subMethod);
-+ if (equalParams && equalTypeVars) {
-+ // duplicates regardless of return types
-+ } else if ((complyTo17 || method.returnType.erasure() == subMethod.returnType.erasure())
-+ && (equalParams || method.areParameterErasuresEqual(method2))) {
-+ // with fix for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6182950
-+ // we now ignore return types when detecting duplicates, just as we did before 1.5
-+ // name clash for sure if not duplicates, report as duplicates
-+ // FYI for now we will only make this change when compliance is set to 1.7 or higher
-+ } else if (!equalTypeVars && vars != Binding.NO_TYPE_VARIABLES && vars2 != Binding.NO_TYPE_VARIABLES) {
-+ // type variables are different so we can distinguish between methods
-+ continue nextSibling;
-+ } else if (pLength > 0) {
-+ // check to see if the erasure of either method is equal to the other
-+ int index = pLength;
-+ for (; --index >= 0;) {
-+ if (params1[index] != params2[index].erasure())
-+ break;
-+ if (params1[index] == params2[index]) {
-+ TypeBinding type = params1[index].leafComponentType();
-+ if (type instanceof SourceTypeBinding && type.typeVariables() != Binding.NO_TYPE_VARIABLES) {
-+ index = pLength; // handle comparing identical source types like X<T>... its erasure is itself BUT we need to answer false
-+ break;
-+ }
-+ }
-+ }
-+ if (index >= 0 && index < pLength) {
-+ for (index = pLength; --index >= 0;)
-+ if (params1[index].erasure() != params2[index])
-+ break;
-+ }
-+ if (index >= 0)
-+ continue nextSibling;
-+ }
-+ } else if (!method.areParametersEqual(method2)) { // prior to 1.5, parameter identity meant a collision case
-+ continue nextSibling;
-+ }
-+ boolean isEnumSpecialMethod = isEnum() && (CharOperation.equals(selector,TypeConstants.VALUEOF) || CharOperation.equals(selector,TypeConstants.VALUES));
-+ // report duplicate
-+ boolean removeMethod2 = true;
-+ if (methodDecl == null) {
-+ methodDecl = method.sourceMethod(); // cannot be retrieved after binding is lost & may still be null if method is special
-+ if (methodDecl != null && methodDecl.binding != null) { // ensure its a valid user defined method
-+ boolean removeMethod = method.returnType == null && method2.returnType != null;
-+ if (isEnumSpecialMethod) {
-+ this.scope.problemReporter().duplicateEnumSpecialMethod(this, methodDecl);
-+ // remove user defined methods & keep the synthetic
-+ removeMethod = true;
-+ } else {
-+ this.scope.problemReporter().duplicateMethodInType(this, methodDecl, method.areParametersEqual(method2));
-+ }
-+ if (removeMethod) {
-+ removeMethod2 = false;
-+ methodDecl.binding = null;
-+ // do not alter original method array until resolution is over, due to reentrance (143259)
-+ if (resolvedMethods == this.methods)
-+ System.arraycopy(this.methods, 0, resolvedMethods = new MethodBinding[length], 0, length);
-+ resolvedMethods[i] = null;
-+ failed++;
-+ }
-+ }
-+ }
-+ AbstractMethodDeclaration method2Decl = method2.sourceMethod();
-+ if (method2Decl != null && method2Decl.binding != null) { // ensure its a valid user defined method
-+ if (isEnumSpecialMethod) {
-+ this.scope.problemReporter().duplicateEnumSpecialMethod(this, method2Decl);
-+ removeMethod2 = true;
-+ } else {
-+ this.scope.problemReporter().duplicateMethodInType(this, method2Decl, method.areParametersEqual(method2));
-+ }
-+ if (removeMethod2) {
-+ method2Decl.binding = null;
-+ // do not alter original method array until resolution is over, due to reentrance (143259)
-+ if (resolvedMethods == this.methods)
-+ System.arraycopy(this.methods, 0, resolvedMethods = new MethodBinding[length], 0, length);
-+ resolvedMethods[j] = null;
-+ failed++;
-+ }
-+ }
-+ }
-+ if (method.returnType == null && resolvedMethods[i] != null) { // forget method with invalid return type... was kept to detect possible collisions
-+ methodDecl = method.sourceMethod();
-+ if (methodDecl != null)
-+ methodDecl.binding = null;
-+ // do not alter original method array until resolution is over, due to reentrance (143259)
-+ if (resolvedMethods == this.methods)
-+ System.arraycopy(this.methods, 0, resolvedMethods = new MethodBinding[length], 0, length);
-+ resolvedMethods[i] = null;
-+ failed++;
-+ }
-+ }
-+ } finally {
-+ if (failed > 0) {
-+ int newSize = resolvedMethods.length - failed;
-+ if (newSize == 0) {
-+ this.methods = Binding.NO_METHODS;
-+ } else {
-+ MethodBinding[] newMethods = new MethodBinding[newSize];
-+ for (int i = 0, j = 0, length = resolvedMethods.length; i < length; i++)
-+ if (resolvedMethods[i] != null)
-+ newMethods[j++] = resolvedMethods[i];
-+ this.methods = newMethods;
-+ }
-+ }
-+
-+ // handle forward references to potential default abstract methods
-+ addDefaultAbstractMethods();
-+ this.tagBits |= TagBits.AreMethodsComplete;
-+ }
-+ return this.methods;
-+}
-+public FieldBinding resolveTypeFor(FieldBinding field) {
-+ if ((field.modifiers & ExtraCompilerModifiers.AccUnresolved) == 0)
-+ return field;
-+
-+ if (this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5) {
-+ if ((field.getAnnotationTagBits() & TagBits.AnnotationDeprecated) != 0)
-+ field.modifiers |= ClassFileConstants.AccDeprecated;
-+ }
-+ if (isViewedAsDeprecated() && !field.isDeprecated())
-+ field.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-+ if (hasRestrictedAccess())
-+ field.modifiers |= ExtraCompilerModifiers.AccRestrictedAccess;
-+ FieldDeclaration[] fieldDecls = this.scope.referenceContext.fields;
-+ for (int f = 0, length = fieldDecls.length; f < length; f++) {
-+ if (fieldDecls[f].binding != field)
-+ continue;
-+
-+ MethodScope initializationScope = field.isStatic()
-+ ? this.scope.referenceContext.staticInitializerScope
-+ : this.scope.referenceContext.initializerScope;
-+ FieldBinding previousField = initializationScope.initializedField;
-+ try {
-+ initializationScope.initializedField = field;
-+ FieldDeclaration fieldDecl = fieldDecls[f];
-+ TypeBinding fieldType =
-+ fieldDecl.getKind() == AbstractVariableDeclaration.ENUM_CONSTANT
-+ ? initializationScope.environment().convertToRawType(this, false /*do not force conversion of enclosing types*/) // enum constant is implicitly of declaring enum type
-+ : fieldDecl.type.resolveType(initializationScope, true /* check bounds*/);
-+ field.type = fieldType;
-+ field.modifiers &= ~ExtraCompilerModifiers.AccUnresolved;
-+ if (fieldType == null) {
-+ fieldDecl.binding = null;
-+ return null;
-+ }
-+ if (fieldType == TypeBinding.VOID) {
-+ this.scope.problemReporter().variableTypeCannotBeVoid(fieldDecl);
-+ fieldDecl.binding = null;
-+ return null;
-+ }
-+ if (fieldType.isArrayType() && ((ArrayBinding) fieldType).leafComponentType == TypeBinding.VOID) {
-+ this.scope.problemReporter().variableTypeCannotBeVoidArray(fieldDecl);
-+ fieldDecl.binding = null;
-+ return null;
-+ }
-+ if ((fieldType.tagBits & TagBits.HasMissingType) != 0) {
-+ field.tagBits |= TagBits.HasMissingType;
-+ }
-+ TypeBinding leafType = fieldType.leafComponentType();
-+ if (leafType instanceof ReferenceBinding && (((ReferenceBinding)leafType).modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0) {
-+ field.modifiers |= ExtraCompilerModifiers.AccGenericSignature;
-+ }
-+ } finally {
-+ initializationScope.initializedField = previousField;
-+ }
-+ return field;
-+ }
-+ return null; // should never reach this point
- }
- public MethodBinding resolveTypesFor(MethodBinding method) {
-- if ((method.modifiers & ExtraCompilerModifiers.AccUnresolved) == 0)
-- return method;
-+ if ((method.modifiers & ExtraCompilerModifiers.AccUnresolved) == 0)
-+ return method;
-
-- if (this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5) {
-- if ((method.getAnnotationTagBits() & TagBits.AnnotationDeprecated) != 0)
-- method.modifiers |= ClassFileConstants.AccDeprecated;
-- }
-- if (isViewedAsDeprecated() && !method.isDeprecated())
-- method.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-- if (hasRestrictedAccess())
-- method.modifiers |= ExtraCompilerModifiers.AccRestrictedAccess;
--
-- AbstractMethodDeclaration methodDecl = method.sourceMethod();
-- if (methodDecl == null) return null; // method could not be resolved in previous iteration
--
-- TypeParameter[] typeParameters = methodDecl.typeParameters();
-- if (typeParameters != null) {
-- methodDecl.scope.connectTypeVariables(typeParameters, true);
-- // Perform deferred bound checks for type variables (only done after type variable hierarchy is connected)
-- for (int i = 0, paramLength = typeParameters.length; i < paramLength; i++)
-- typeParameters[i].checkBounds(methodDecl.scope);
-- }
-- TypeReference[] exceptionTypes = methodDecl.thrownExceptions;
-- if (exceptionTypes != null) {
-- int size = exceptionTypes.length;
-- method.thrownExceptions = new ReferenceBinding[size];
-- int count = 0;
-- ReferenceBinding resolvedExceptionType;
-- for (int i = 0; i < size; i++) {
-- resolvedExceptionType = (ReferenceBinding) exceptionTypes[i].resolveType(methodDecl.scope, true /* check bounds*/);
-- if (resolvedExceptionType == null)
-- continue;
-- if (resolvedExceptionType.isBoundParameterizedType()) {
-- methodDecl.scope.problemReporter().invalidParameterizedExceptionType(resolvedExceptionType, exceptionTypes[i]);
-- continue;
-- }
-- if (resolvedExceptionType.findSuperTypeOriginatingFrom(TypeIds.T_JavaLangThrowable, true) == null) {
-- if (resolvedExceptionType.isValidBinding()) {
-- methodDecl.scope.problemReporter().cannotThrowType(exceptionTypes[i], resolvedExceptionType);
-- continue;
-- }
-- }
-- if ((resolvedExceptionType.tagBits & TagBits.HasMissingType) != 0) {
-- method.tagBits |= TagBits.HasMissingType;
-- }
-- method.modifiers |= (resolvedExceptionType.modifiers & ExtraCompilerModifiers.AccGenericSignature);
-- method.thrownExceptions[count++] = resolvedExceptionType;
-- }
-- if (count < size)
-- System.arraycopy(method.thrownExceptions, 0, method.thrownExceptions = new ReferenceBinding[count], 0, count);
-- }
--
-- boolean foundArgProblem = false;
-- Argument[] arguments = methodDecl.arguments;
-- if (arguments != null) {
-- int size = arguments.length;
-- method.parameters = Binding.NO_PARAMETERS;
-- TypeBinding[] newParameters = new TypeBinding[size];
-- for (int i = 0; i < size; i++) {
-- Argument arg = arguments[i];
-- if (arg.annotations != null) {
-- method.tagBits |= TagBits.HasParameterAnnotations;
-- }
-- TypeBinding parameterType = arg.type.resolveType(methodDecl.scope, true /* check bounds*/);
-- if (parameterType == null) {
-- foundArgProblem = true;
-- } else if (parameterType == TypeBinding.VOID) {
-- methodDecl.scope.problemReporter().argumentTypeCannotBeVoid(this, methodDecl, arg);
-- foundArgProblem = true;
-- } else {
-- if ((parameterType.tagBits & TagBits.HasMissingType) != 0) {
-- method.tagBits |= TagBits.HasMissingType;
-- }
-- TypeBinding leafType = parameterType.leafComponentType();
-- if (leafType instanceof ReferenceBinding && (((ReferenceBinding) leafType).modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0)
-- method.modifiers |= ExtraCompilerModifiers.AccGenericSignature;
-- newParameters[i] = parameterType;
-- arg.binding = new LocalVariableBinding(arg, parameterType, arg.modifiers, true);
-- }
-- }
-- // only assign parameters if no problems are found
-- if (!foundArgProblem) {
-- method.parameters = newParameters;
-- }
-- }
--
-- boolean foundReturnTypeProblem = false;
-- if (!method.isConstructor()) {
-- TypeReference returnType = methodDecl instanceof MethodDeclaration
-- ? ((MethodDeclaration) methodDecl).returnType
-- : null;
-- if (returnType == null) {
-- methodDecl.scope.problemReporter().missingReturnType(methodDecl);
-- method.returnType = null;
-- foundReturnTypeProblem = true;
-- } else {
-- TypeBinding methodType = returnType.resolveType(methodDecl.scope, true /* check bounds*/);
-- if (methodType == null) {
-- foundReturnTypeProblem = true;
-- } else if (methodType.isArrayType() && ((ArrayBinding) methodType).leafComponentType == TypeBinding.VOID) {
-- methodDecl.scope.problemReporter().returnTypeCannotBeVoidArray((MethodDeclaration) methodDecl);
-- foundReturnTypeProblem = true;
-- } else {
-- if ((methodType.tagBits & TagBits.HasMissingType) != 0) {
-- method.tagBits |= TagBits.HasMissingType;
-- }
-- method.returnType = methodType;
-- TypeBinding leafType = methodType.leafComponentType();
-- if (leafType instanceof ReferenceBinding && (((ReferenceBinding) leafType).modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0)
-- method.modifiers |= ExtraCompilerModifiers.AccGenericSignature;
-- }
-- }
-- }
-- if (foundArgProblem) {
-- methodDecl.binding = null;
-- method.parameters = Binding.NO_PARAMETERS; // see 107004
-- // nullify type parameter bindings as well as they have a backpointer to the method binding
-- // (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=81134)
-- if (typeParameters != null)
-- for (int i = 0, length = typeParameters.length; i < length; i++)
-- typeParameters[i].binding = null;
-- return null;
-- }
-- if (foundReturnTypeProblem)
-- return method; // but its still unresolved with a null return type & is still connected to its method declaration
-+ if (this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_5) {
-+ if ((method.getAnnotationTagBits() & TagBits.AnnotationDeprecated) != 0)
-+ method.modifiers |= ClassFileConstants.AccDeprecated;
-+ }
-+ if (isViewedAsDeprecated() && !method.isDeprecated())
-+ method.modifiers |= ExtraCompilerModifiers.AccDeprecatedImplicitly;
-+ if (hasRestrictedAccess())
-+ method.modifiers |= ExtraCompilerModifiers.AccRestrictedAccess;
-+
-+ AbstractMethodDeclaration methodDecl = method.sourceMethod();
-+ if (methodDecl == null) return null; // method could not be resolved in previous iteration
-+
-+ TypeParameter[] typeParameters = methodDecl.typeParameters();
-+ if (typeParameters != null) {
-+ methodDecl.scope.connectTypeVariables(typeParameters, true);
-+ // Perform deferred bound checks for type variables (only done after type variable hierarchy is connected)
-+ for (int i = 0, paramLength = typeParameters.length; i < paramLength; i++)
-+ typeParameters[i].checkBounds(methodDecl.scope);
-+ }
-+ TypeReference[] exceptionTypes = methodDecl.thrownExceptions;
-+ if (exceptionTypes != null) {
-+ int size = exceptionTypes.length;
-+ method.thrownExceptions = new ReferenceBinding[size];
-+ int count = 0;
-+ ReferenceBinding resolvedExceptionType;
-+ for (int i = 0; i < size; i++) {
-+ resolvedExceptionType = (ReferenceBinding) exceptionTypes[i].resolveType(methodDecl.scope, true /* check bounds*/);
-+ if (resolvedExceptionType == null)
-+ continue;
-+ if (resolvedExceptionType.isBoundParameterizedType()) {
-+ methodDecl.scope.problemReporter().invalidParameterizedExceptionType(resolvedExceptionType, exceptionTypes[i]);
-+ continue;
-+ }
-+ if (resolvedExceptionType.findSuperTypeOriginatingFrom(TypeIds.T_JavaLangThrowable, true) == null) {
-+ if (resolvedExceptionType.isValidBinding()) {
-+ methodDecl.scope.problemReporter().cannotThrowType(exceptionTypes[i], resolvedExceptionType);
-+ continue;
-+ }
-+ }
-+ if ((resolvedExceptionType.tagBits & TagBits.HasMissingType) != 0) {
-+ method.tagBits |= TagBits.HasMissingType;
-+ }
-+ method.modifiers |= (resolvedExceptionType.modifiers & ExtraCompilerModifiers.AccGenericSignature);
-+ method.thrownExceptions[count++] = resolvedExceptionType;
-+ }
-+ if (count < size)
-+ System.arraycopy(method.thrownExceptions, 0, method.thrownExceptions = new ReferenceBinding[count], 0, count);
-+ }
-+
-+ boolean foundArgProblem = false;
-+ Argument[] arguments = methodDecl.arguments;
-+ if (arguments != null) {
-+ int size = arguments.length;
-+ method.parameters = Binding.NO_PARAMETERS;
-+ TypeBinding[] newParameters = new TypeBinding[size];
-+ for (int i = 0; i < size; i++) {
-+ Argument arg = arguments[i];
-+ if (arg.annotations != null) {
-+ method.tagBits |= TagBits.HasParameterAnnotations;
-+ }
-+ TypeBinding parameterType = arg.type.resolveType(methodDecl.scope, true /* check bounds*/);
-+ if (parameterType == null) {
-+ foundArgProblem = true;
-+ } else if (parameterType == TypeBinding.VOID) {
-+ methodDecl.scope.problemReporter().argumentTypeCannotBeVoid(this, methodDecl, arg);
-+ foundArgProblem = true;
-+ } else {
-+ if ((parameterType.tagBits & TagBits.HasMissingType) != 0) {
-+ method.tagBits |= TagBits.HasMissingType;
-+ }
-+ TypeBinding leafType = parameterType.leafComponentType();
-+ if (leafType instanceof ReferenceBinding && (((ReferenceBinding) leafType).modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0)
-+ method.modifiers |= ExtraCompilerModifiers.AccGenericSignature;
-+ newParameters[i] = parameterType;
-+ arg.binding = new LocalVariableBinding(arg, parameterType, arg.modifiers, true);
-+ }
-+ }
-+ // only assign parameters if no problems are found
-+ if (!foundArgProblem) {
-+ method.parameters = newParameters;
-+ }
-+ }
-+
-+ boolean foundReturnTypeProblem = false;
-+ if (!method.isConstructor()) {
-+ TypeReference returnType = methodDecl instanceof MethodDeclaration
-+ ? ((MethodDeclaration) methodDecl).returnType
-+ : null;
-+ if (returnType == null) {
-+ methodDecl.scope.problemReporter().missingReturnType(methodDecl);
-+ method.returnType = null;
-+ foundReturnTypeProblem = true;
-+ } else {
-+ TypeBinding methodType = returnType.resolveType(methodDecl.scope, true /* check bounds*/);
-+ if (methodType == null) {
-+ foundReturnTypeProblem = true;
-+ } else if (methodType.isArrayType() && ((ArrayBinding) methodType).leafComponentType == TypeBinding.VOID) {
-+ methodDecl.scope.problemReporter().returnTypeCannotBeVoidArray((MethodDeclaration) methodDecl);
-+ foundReturnTypeProblem = true;
-+ } else {
-+ if ((methodType.tagBits & TagBits.HasMissingType) != 0) {
-+ method.tagBits |= TagBits.HasMissingType;
-+ }
-+ method.returnType = methodType;
-+ TypeBinding leafType = methodType.leafComponentType();
-+ if (leafType instanceof ReferenceBinding && (((ReferenceBinding) leafType).modifiers & ExtraCompilerModifiers.AccGenericSignature) != 0)
-+ method.modifiers |= ExtraCompilerModifiers.AccGenericSignature;
-+ }
-+ }
-+ }
-+ if (foundArgProblem) {
-+ methodDecl.binding = null;
-+ method.parameters = Binding.NO_PARAMETERS; // see 107004
-+ // nullify type parameter bindings as well as they have a backpointer to the method binding
-+ // (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=81134)
-+ if (typeParameters != null)
-+ for (int i = 0, length = typeParameters.length; i < length; i++)
-+ typeParameters[i].binding = null;
-+ return null;
-+ }
-+ if (foundReturnTypeProblem)
-+ return method; // but its still unresolved with a null return type & is still connected to its method declaration
-
-- method.modifiers &= ~ExtraCompilerModifiers.AccUnresolved;
-- return method;
-+ method.modifiers &= ~ExtraCompilerModifiers.AccUnresolved;
-+ return method;
- }
- public AnnotationHolder retrieveAnnotationHolder(Binding binding, boolean forceInitialization) {
-- if (forceInitialization)
-- binding.getAnnotationTagBits(); // ensure annotations are up to date
-- return super.retrieveAnnotationHolder(binding, false);
-+ if (forceInitialization)
-+ binding.getAnnotationTagBits(); // ensure annotations are up to date
-+ return super.retrieveAnnotationHolder(binding, false);
- }
- public void setFields(FieldBinding[] fields) {
-- this.fields = fields;
-+ this.fields = fields;
- }
- public void setMethods(MethodBinding[] methods) {
-- this.methods = methods;
-+ this.methods = methods;
- }
- public final int sourceEnd() {
-- return this.scope.referenceContext.sourceEnd;
-+ return this.scope.referenceContext.sourceEnd;
- }
- public final int sourceStart() {
-- return this.scope.referenceContext.sourceStart;
-+ return this.scope.referenceContext.sourceStart;
- }
- SimpleLookupTable storedAnnotations(boolean forceInitialize) {
-- if (forceInitialize && this.storedAnnotations == null && this.scope != null) { // scope null when no annotation cached, and type got processed fully (159631)
-- this.scope.referenceCompilationUnit().compilationResult.hasAnnotations = true;
-- if (!this.scope.environment().globalOptions.storeAnnotations)
-- return null; // not supported during this compile
-- this.storedAnnotations = new SimpleLookupTable(3);
-- }
-- return this.storedAnnotations;
-+ if (forceInitialize && this.storedAnnotations == null && this.scope != null) { // scope null when no annotation cached, and type got processed fully (159631)
-+ this.scope.referenceCompilationUnit().compilationResult.hasAnnotations = true;
-+ if (!this.scope.environment().globalOptions.storeAnnotations)
-+ return null; // not supported during this compile
-+ this.storedAnnotations = new SimpleLookupTable(3);
-+ }
-+ return this.storedAnnotations;
- }
- public ReferenceBinding superclass() {
-- return this.superclass;
-+ return this.superclass;
- }
- public ReferenceBinding[] superInterfaces() {
-- return this.superInterfaces;
-+ return this.superInterfaces;
- }
--// TODO (philippe) could be a performance issue since some senders are building the list just to count them
--public SyntheticMethodBinding[] syntheticMethods() {
--
-- if (this.synthetics == null || this.synthetics[SourceTypeBinding.METHOD_EMUL] == null || this.synthetics[SourceTypeBinding.METHOD_EMUL].size() == 0) return null;
-
-- // difficult to compute size up front because of the embedded arrays so assume there is only 1
-- int index = 0;
-- SyntheticMethodBinding[] bindings = new SyntheticMethodBinding[1];
-- Iterator fieldsOrMethods = this.synthetics[SourceTypeBinding.METHOD_EMUL].keySet().iterator();
-- while (fieldsOrMethods.hasNext()) {
--
-- Object fieldOrMethod = fieldsOrMethods.next();
--
-- if (fieldOrMethod instanceof MethodBinding) {
--
-- SyntheticMethodBinding[] methodAccessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(fieldOrMethod);
-- int numberOfAccessors = 0;
-- if (methodAccessors[0] != null) numberOfAccessors++;
-- if (methodAccessors[1] != null) numberOfAccessors++;
-- if (index + numberOfAccessors > bindings.length)
-- System.arraycopy(bindings, 0, (bindings = new SyntheticMethodBinding[index + numberOfAccessors]), 0, index);
-- if (methodAccessors[0] != null)
-- bindings[index++] = methodAccessors[0]; // super access
-- if (methodAccessors[1] != null)
-- bindings[index++] = methodAccessors[1]; // normal access or bridge
--
-- } else {
--
-- SyntheticMethodBinding[] fieldAccessors = (SyntheticMethodBinding[]) this.synthetics[SourceTypeBinding.METHOD_EMUL].get(fieldOrMethod);
-- int numberOfAccessors = 0;
-- if (fieldAccessors[0] != null) numberOfAccessors++;
-- if (fieldAccessors[1] != null) numberOfAccessors++;
-- if (index + numberOfAccessors > bindings.length)
-- System.arraycopy(bindings, 0, (bindings = new SyntheticMethodBinding[index + numberOfAccessors]), 0, index);
-- if (fieldAccessors[0] != null)
-- bindings[index++] = fieldAccessors[0]; // read access
-- if (fieldAccessors[1] != null)
-- bindings[index++] = fieldAccessors[1]; // write access
-- }
-- }
--
-- // sort them in according to their own indexes
-- int length;
-- SyntheticMethodBinding[] sortedBindings = new SyntheticMethodBinding[length = bindings.length];
-- for (int i = 0; i < length; i++){
-- SyntheticMethodBinding binding = bindings[i];
-- sortedBindings[binding.index] = binding;
-- }
-- return sortedBindings;
-+public SyntheticMethodBinding[] syntheticMethods() {
-+ if (this.synthetics == null
-+ || this.synthetics[SourceTypeBinding.METHOD_EMUL] == null
-+ || this.synthetics[SourceTypeBinding.METHOD_EMUL].size() == 0) {
-+ return null;
-+ }
-+ // difficult to compute size up front because of the embedded arrays so assume there is only 1
-+ int index = 0;
-+ SyntheticMethodBinding[] bindings = new SyntheticMethodBinding[1];
-+ Iterator methodArrayIterator = this.synthetics[SourceTypeBinding.METHOD_EMUL].values().iterator();
-+ while (methodArrayIterator.hasNext()) {
-+ SyntheticMethodBinding[] methodAccessors = (SyntheticMethodBinding[]) methodArrayIterator.next();
-+ for (int i = 0, max = methodAccessors.length; i < max; i++) {
-+ if (methodAccessors[i] != null) {
-+ if (index+1 > bindings.length) {
-+ System.arraycopy(bindings, 0, (bindings = new SyntheticMethodBinding[index + 1]), 0, index);
-+ }
-+ bindings[index++] = methodAccessors[i];
-+ }
-+ }
-+ }
-+ // sort them in according to their own indexes
-+ int length;
-+ SyntheticMethodBinding[] sortedBindings = new SyntheticMethodBinding[length = bindings.length];
-+ for (int i = 0; i < length; i++){
-+ SyntheticMethodBinding binding = bindings[i];
-+ sortedBindings[binding.index] = binding;
-+ }
-+ return sortedBindings;
- }
- /**
- * Answer the collection of synthetic fields to append into the classfile
- */
- public FieldBinding[] syntheticFields() {
--
-- if (this.synthetics == null) return null;
--
-- int fieldSize = this.synthetics[SourceTypeBinding.FIELD_EMUL] == null ? 0 : this.synthetics[SourceTypeBinding.FIELD_EMUL].size();
-- int literalSize = this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL] == null ? 0 :this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].size();
-- int totalSize = fieldSize + literalSize;
-- if (totalSize == 0) return null;
-- FieldBinding[] bindings = new FieldBinding[totalSize];
--
-- // add innerclass synthetics
-- if (this.synthetics[SourceTypeBinding.FIELD_EMUL] != null){
-- Iterator elements = this.synthetics[SourceTypeBinding.FIELD_EMUL].values().iterator();
-- for (int i = 0; i < fieldSize; i++) {
-- SyntheticFieldBinding synthBinding = (SyntheticFieldBinding) elements.next();
-- bindings[synthBinding.index] = synthBinding;
-- }
-- }
-- // add class literal synthetics
-- if (this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL] != null){
-- Iterator elements = this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].values().iterator();
-- for (int i = 0; i < literalSize; i++) {
-- SyntheticFieldBinding synthBinding = (SyntheticFieldBinding) elements.next();
-- bindings[fieldSize+synthBinding.index] = synthBinding;
-- }
-- }
-- return bindings;
-+ if (this.synthetics == null) return null;
-+ int fieldSize = this.synthetics[SourceTypeBinding.FIELD_EMUL] == null ? 0 : this.synthetics[SourceTypeBinding.FIELD_EMUL].size();
-+ int literalSize = this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL] == null ? 0 :this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].size();
-+ int totalSize = fieldSize + literalSize;
-+ if (totalSize == 0) return null;
-+ FieldBinding[] bindings = new FieldBinding[totalSize];
-+
-+ // add innerclass synthetics
-+ if (this.synthetics[SourceTypeBinding.FIELD_EMUL] != null){
-+ Iterator elements = this.synthetics[SourceTypeBinding.FIELD_EMUL].values().iterator();
-+ for (int i = 0; i < fieldSize; i++) {
-+ SyntheticFieldBinding synthBinding = (SyntheticFieldBinding) elements.next();
-+ bindings[synthBinding.index] = synthBinding;
-+ }
-+ }
-+ // add class literal synthetics
-+ if (this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL] != null){
-+ Iterator elements = this.synthetics[SourceTypeBinding.CLASS_LITERAL_EMUL].values().iterator();
-+ for (int i = 0; i < literalSize; i++) {
-+ SyntheticFieldBinding synthBinding = (SyntheticFieldBinding) elements.next();
-+ bindings[fieldSize+synthBinding.index] = synthBinding;
-+ }
-+ }
-+ return bindings;
- }
- public String toString() {
- StringBuffer buffer = new StringBuffer(30);
- buffer.append("(id="); //$NON-NLS-1$
-- if (this.id == TypeIds.NoId)
-+ if (this.id == TypeIds.NoId)
- buffer.append("NoId"); //$NON-NLS-1$
-- else
-+ else
- buffer.append(this.id);
- buffer.append(")\n"); //$NON-NLS-1$
-- if (isDeprecated()) buffer.append("deprecated "); //$NON-NLS-1$
-- if (isPublic()) buffer.append("public "); //$NON-NLS-1$
-- if (isProtected()) buffer.append("protected "); //$NON-NLS-1$
-- if (isPrivate()) buffer.append("private "); //$NON-NLS-1$
-- if (isAbstract() && isClass()) buffer.append("abstract "); //$NON-NLS-1$
-- if (isStatic() && isNestedType()) buffer.append("static "); //$NON-NLS-1$
-- if (isFinal()) buffer.append("final "); //$NON-NLS-1$
--
-- if (isEnum()) buffer.append("enum "); //$NON-NLS-1$
-- else if (isAnnotationType()) buffer.append("@interface "); //$NON-NLS-1$
-- else if (isClass()) buffer.append("class "); //$NON-NLS-1$
-- else buffer.append("interface "); //$NON-NLS-1$
-- buffer.append((this.compoundName != null) ? CharOperation.toString(this.compoundName) : "UNNAMED TYPE"); //$NON-NLS-1$
--
-- if (this.typeVariables == null) {
-- buffer.append("<NULL TYPE VARIABLES>"); //$NON-NLS-1$
-- } else if (this.typeVariables != Binding.NO_TYPE_VARIABLES) {
-- buffer.append("<"); //$NON-NLS-1$
-- for (int i = 0, length = this.typeVariables.length; i < length; i++) {
-- if (i > 0) buffer.append(", "); //$NON-NLS-1$
-- if (this.typeVariables[i] == null) {
-- buffer.append("NULL TYPE VARIABLE"); //$NON-NLS-1$
-- continue;
-- }
-- char[] varChars = this.typeVariables[i].toString().toCharArray();
-- buffer.append(varChars, 1, varChars.length - 2);
-- }
-- buffer.append(">"); //$NON-NLS-1$
-- }
-- buffer.append("\n\textends "); //$NON-NLS-1$
-- buffer.append((this.superclass != null) ? this.superclass.debugName() : "NULL TYPE"); //$NON-NLS-1$
--
-- if (this.superInterfaces != null) {
-- if (this.superInterfaces != Binding.NO_SUPERINTERFACES) {
-- buffer.append("\n\timplements : "); //$NON-NLS-1$
-- for (int i = 0, length = this.superInterfaces.length; i < length; i++) {
-- if (i > 0)
-- buffer.append(", "); //$NON-NLS-1$
-- buffer.append((this.superInterfaces[i] != null) ? this.superInterfaces[i].debugName() : "NULL TYPE"); //$NON-NLS-1$
-- }
-- }
-- } else {
-- buffer.append("NULL SUPERINTERFACES"); //$NON-NLS-1$
-- }
--
-- if (enclosingType() != null) {
-- buffer.append("\n\tenclosing type : "); //$NON-NLS-1$
-- buffer.append(enclosingType().debugName());
-- }
--
-- if (this.fields != null) {
-- if (this.fields != Binding.NO_FIELDS) {
-- buffer.append("\n/* fields */"); //$NON-NLS-1$
-- for (int i = 0, length = this.fields.length; i < length; i++)
-- buffer.append('\n').append((this.fields[i] != null) ? this.fields[i].toString() : "NULL FIELD"); //$NON-NLS-1$
-- }
-- } else {
-- buffer.append("NULL FIELDS"); //$NON-NLS-1$
-- }
--
-- if (this.methods != null) {
-- if (this.methods != Binding.NO_METHODS) {
-- buffer.append("\n/* methods */"); //$NON-NLS-1$
-- for (int i = 0, length = this.methods.length; i < length; i++)
-- buffer.append('\n').append((this.methods[i] != null) ? this.methods[i].toString() : "NULL METHOD"); //$NON-NLS-1$
-- }
-- } else {
-- buffer.append("NULL METHODS"); //$NON-NLS-1$
-- }
--
-- if (this.memberTypes != null) {
-- if (this.memberTypes != Binding.NO_MEMBER_TYPES) {
-- buffer.append("\n/* members */"); //$NON-NLS-1$
-- for (int i = 0, length = this.memberTypes.length; i < length; i++)
-- buffer.append('\n').append((this.memberTypes[i] != null) ? this.memberTypes[i].toString() : "NULL TYPE"); //$NON-NLS-1$
-- }
-- } else {
-- buffer.append("NULL MEMBER TYPES"); //$NON-NLS-1$
-- }
-+ if (isDeprecated()) buffer.append("deprecated "); //$NON-NLS-1$
-+ if (isPublic()) buffer.append("public "); //$NON-NLS-1$
-+ if (isProtected()) buffer.append("protected "); //$NON-NLS-1$
-+ if (isPrivate()) buffer.append("private "); //$NON-NLS-1$
-+ if (isAbstract() && isClass()) buffer.append("abstract "); //$NON-NLS-1$
-+ if (isStatic() && isNestedType()) buffer.append("static "); //$NON-NLS-1$
-+ if (isFinal()) buffer.append("final "); //$NON-NLS-1$
-+
-+ if (isEnum()) buffer.append("enum "); //$NON-NLS-1$
-+ else if (isAnnotationType()) buffer.append("@interface "); //$NON-NLS-1$
-+ else if (isClass()) buffer.append("class "); //$NON-NLS-1$
-+ else buffer.append("interface "); //$NON-NLS-1$
-+ buffer.append((this.compoundName != null) ? CharOperation.toString(this.compoundName) : "UNNAMED TYPE"); //$NON-NLS-1$
-+
-+ if (this.typeVariables == null) {
-+ buffer.append("<NULL TYPE VARIABLES>"); //$NON-NLS-1$
-+ } else if (this.typeVariables != Binding.NO_TYPE_VARIABLES) {
-+ buffer.append("<"); //$NON-NLS-1$
-+ for (int i = 0, length = this.typeVariables.length; i < length; i++) {
-+ if (i > 0) buffer.append(", "); //$NON-NLS-1$
-+ if (this.typeVariables[i] == null) {
-+ buffer.append("NULL TYPE VARIABLE"); //$NON-NLS-1$
-+ continue;
-+ }
-+ char[] varChars = this.typeVariables[i].toString().toCharArray();
-+ buffer.append(varChars, 1, varChars.length - 2);
-+ }
-+ buffer.append(">"); //$NON-NLS-1$
-+ }
-+ buffer.append("\n\textends "); //$NON-NLS-1$
-+ buffer.append((this.superclass != null) ? this.superclass.debugName() : "NULL TYPE"); //$NON-NLS-1$
-+
-+ if (this.superInterfaces != null) {
-+ if (this.superInterfaces != Binding.NO_SUPERINTERFACES) {
-+ buffer.append("\n\timplements : "); //$NON-NLS-1$
-+ for (int i = 0, length = this.superInterfaces.length; i < length; i++) {
-+ if (i > 0)
-+ buffer.append(", "); //$NON-NLS-1$
-+ buffer.append((this.superInterfaces[i] != null) ? this.superInterfaces[i].debugName() : "NULL TYPE"); //$NON-NLS-1$
-+ }
-+ }
-+ } else {
-+ buffer.append("NULL SUPERINTERFACES"); //$NON-NLS-1$
-+ }
-+
-+ if (enclosingType() != null) {
-+ buffer.append("\n\tenclosing type : "); //$NON-NLS-1$
-+ buffer.append(enclosingType().debugName());
-+ }
-+
-+ if (this.fields != null) {
-+ if (this.fields != Binding.NO_FIELDS) {
-+ buffer.append("\n/* fields */"); //$NON-NLS-1$
-+ for (int i = 0, length = this.fields.length; i < length; i++)
-+ buffer.append('\n').append((this.fields[i] != null) ? this.fields[i].toString() : "NULL FIELD"); //$NON-NLS-1$
-+ }
-+ } else {
-+ buffer.append("NULL FIELDS"); //$NON-NLS-1$
-+ }
-+
-+ if (this.methods != null) {
-+ if (this.methods != Binding.NO_METHODS) {
-+ buffer.append("\n/* methods */"); //$NON-NLS-1$
-+ for (int i = 0, length = this.methods.length; i < length; i++)
-+ buffer.append('\n').append((this.methods[i] != null) ? this.methods[i].toString() : "NULL METHOD"); //$NON-NLS-1$
-+ }
-+ } else {
-+ buffer.append("NULL METHODS"); //$NON-NLS-1$
-+ }
-+
-+ if (this.memberTypes != null) {
-+ if (this.memberTypes != Binding.NO_MEMBER_TYPES) {
-+ buffer.append("\n/* members */"); //$NON-NLS-1$
-+ for (int i = 0, length = this.memberTypes.length; i < length; i++)
-+ buffer.append('\n').append((this.memberTypes[i] != null) ? this.memberTypes[i].toString() : "NULL TYPE"); //$NON-NLS-1$
-+ }
-+ } else {
-+ buffer.append("NULL MEMBER TYPES"); //$NON-NLS-1$
-+ }
-
-- buffer.append("\n\n"); //$NON-NLS-1$
-- return buffer.toString();
-+ buffer.append("\n\n"); //$NON-NLS-1$
-+ return buffer.toString();
- }
- public TypeVariableBinding[] typeVariables() {
-- return this.typeVariables;
-+ return this.typeVariables;
- }
- void verifyMethods(MethodVerifier verifier) {
-- verifier.verify(this);
-+ verifier.verify(this);
-
-- for (int i = this.memberTypes.length; --i >= 0;)
-- ((SourceTypeBinding) this.memberTypes[i]).verifyMethods(verifier);
-+ for (int i = this.memberTypes.length; --i >= 0;)
-+ ((SourceTypeBinding) this.memberTypes[i]).verifyMethods(verifier);
- }
- }
-Index: gwt-debian/dev/core/test/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsCheckerTest.java
-===================================================================
---- gwt-debian.orig/dev/core/test/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsCheckerTest.java 2011-12-21 11:44:26.308746537 +0100
-+++ gwt-debian/dev/core/test/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsCheckerTest.java 2011-12-21 11:45:03.408745229 +0100
-@@ -1,12 +1,12 @@
- /*
- * Copyright 2008 Google Inc.
-- *
-+ *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
-- *
-+ *
- * http://www.apache.org/licenses/LICENSE-2.0
-- *
-+ *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-@@ -47,7 +47,7 @@
- import java.util.List;
-
- /**
-- *
-+ *
- */
- public class BinaryTypeReferenceRestrictionsCheckerTest extends TestCase {
- /**
++ this.scope.problemReporter().duplicateMethodInType(this, method2Decl, method.areParametersEqual(method2), severity);
+ }
+ method2Decl.binding = null;
+ // do not alter original method array until resolution is over, due to reentrance (143259)
Added: gwt/trunk/debian/patches/generated-protobuf-class
===================================================================
--- gwt/trunk/debian/patches/generated-protobuf-class (rev 0)
+++ gwt/trunk/debian/patches/generated-protobuf-class 2012-07-04 12:08:23 UTC (rev 219)
@@ -0,0 +1,18491 @@
+Description: Class generated by protobuf rather than using the internal copy from Google
+Author: Brian Thomason <brian.thomason at eucalyptus.com>
+
+--- gwt-2.4.0.orig/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
++++ gwt-2.4.0/dev/core/src/com/google/gwt/dev/jjs/impl/GwtAstBuilder.java
+@@ -152,6 +152,7 @@ import org.eclipse.jdt.internal.compiler
+ import org.eclipse.jdt.internal.compiler.ast.MessageSend;
+ import org.eclipse.jdt.internal.compiler.ast.MethodDeclaration;
+ import org.eclipse.jdt.internal.compiler.ast.NameReference;
++import org.eclipse.jdt.internal.compiler.ast.TypeReference;
+ import org.eclipse.jdt.internal.compiler.ast.NormalAnnotation;
+ import org.eclipse.jdt.internal.compiler.ast.NullLiteral;
+ import org.eclipse.jdt.internal.compiler.ast.OR_OR_Expression;
+@@ -543,7 +544,7 @@ public class GwtAstBuilder {
+ SourceInfo info = makeSourceInfo(x);
+ JType type = typeMap.get(x.resolvedType);
+ JExpression expression = pop(x.expression);
+- if (x.type instanceof NameReference) {
++ if (x.type instanceof TypeReference) {
+ pop(x.type);
+ }
+ push(new JCastOperation(info, type, expression));
+--- gwt-2.4.0.orig/dev/core/src/com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java
++++ gwt-2.4.0/dev/core/src/com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java
+@@ -1,18 +1,53 @@
+ // Generated by the protocol buffer compiler. DO NOT EDIT!
++// source: core/src/com/google/gwt/dev/shell/remoteui/remotemessage.proto
+
+ package com.google.gwt.dev.shell.remoteui;
+
+ public final class RemoteMessageProto {
+ private RemoteMessageProto() {}
+ public static void registerAllExtensions(
+- com.google.gwt.dev.protobuf.ExtensionRegistry registry) {
++ com.google.protobuf.ExtensionRegistry registry) {
++ }
++ public interface MessageOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional string protocolVersion = 1;
++ boolean hasProtocolVersion();
++ String getProtocolVersion();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;
++ boolean hasMessageType();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType getMessageType();
++
++ // required uint32 messageId = 3;
++ boolean hasMessageId();
++ int getMessageId();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;
++ boolean hasRequest();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request getRequest();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder getRequestOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;
++ boolean hasResponse();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response getResponse();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder getResponseOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;
++ boolean hasFailure();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure getFailure();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder getFailureOrBuilder();
+ }
+ public static final class Message extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements MessageOrBuilder {
+ // Use Message.newBuilder() to construct.
+- private Message() {}
++ private Message(Builder builder) {
++ super(builder);
++ }
++ private Message(boolean noInit) {}
+
+- private static final Message defaultInstance = new Message();
++ private static final Message defaultInstance;
+ public static Message getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -21,23 +56,27 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_fieldAccessorTable;
+ }
+
+ public enum MessageType
+- implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
++ implements com.google.protobuf.ProtocolMessageEnum {
+ REQUEST(0, 0),
+ RESPONSE(1, 1),
+ FAILURE(2, 2),
+ ;
+
++ public static final int REQUEST_VALUE = 0;
++ public static final int RESPONSE_VALUE = 1;
++ public static final int FAILURE_VALUE = 2;
++
+
+ public final int getNumber() { return value; }
+
+@@ -50,27 +89,27 @@ public final class RemoteMessageProto {
+ }
+ }
+
+- public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<MessageType>
++ public static com.google.protobuf.Internal.EnumLiteMap<MessageType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+- private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<MessageType>
++ private static com.google.protobuf.Internal.EnumLiteMap<MessageType>
+ internalValueMap =
+- new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<MessageType>() {
++ new com.google.protobuf.Internal.EnumLiteMap<MessageType>() {
+ public MessageType findValueByNumber(int number) {
+- return MessageType.valueOf(number)
+- ; }
++ return MessageType.valueOf(number);
++ }
+ };
+
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
++ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(index);
+ }
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+- public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.getDescriptor().getEnumTypes().get(0);
+ }
+@@ -78,32 +117,54 @@ public final class RemoteMessageProto {
+ private static final MessageType[] VALUES = {
+ REQUEST, RESPONSE, FAILURE,
+ };
++
+ public static MessageType valueOf(
+- com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
++ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ return VALUES[desc.getIndex()];
+ }
++
+ private final int index;
+ private final int value;
++
+ private MessageType(int index, int value) {
+ this.index = index;
+ this.value = value;
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
+- }
++ // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.MessageType)
+ }
+
++ public interface RequestOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;
++ boolean hasServiceType();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType getServiceType();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;
++ boolean hasViewerRequest();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest getViewerRequest();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder getViewerRequestOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;
++ boolean hasDevModeRequest();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest getDevModeRequest();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder getDevModeRequestOrBuilder();
++ }
+ public static final class Request extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements RequestOrBuilder {
+ // Use Request.newBuilder() to construct.
+- private Request() {}
++ private Request(Builder builder) {
++ super(builder);
++ }
++ private Request(boolean noInit) {}
+
+- private static final Request defaultInstance = new Request();
++ private static final Request defaultInstance;
+ public static Request getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -112,22 +173,25 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_fieldAccessorTable;
+ }
+
+ public enum ServiceType
+- implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
++ implements com.google.protobuf.ProtocolMessageEnum {
+ VIEWER(0, 0),
+ DEV_MODE(1, 1),
+ ;
+
++ public static final int VIEWER_VALUE = 0;
++ public static final int DEV_MODE_VALUE = 1;
++
+
+ public final int getNumber() { return value; }
+
+@@ -139,27 +203,27 @@ public final class RemoteMessageProto {
+ }
+ }
+
+- public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ServiceType>
++ public static com.google.protobuf.Internal.EnumLiteMap<ServiceType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+- private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ServiceType>
++ private static com.google.protobuf.Internal.EnumLiteMap<ServiceType>
+ internalValueMap =
+- new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ServiceType>() {
++ new com.google.protobuf.Internal.EnumLiteMap<ServiceType>() {
+ public ServiceType findValueByNumber(int number) {
+- return ServiceType.valueOf(number)
+- ; }
++ return ServiceType.valueOf(number);
++ }
+ };
+
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
++ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(index);
+ }
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+- public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDescriptor().getEnumTypes().get(0);
+ }
+@@ -167,32 +231,74 @@ public final class RemoteMessageProto {
+ private static final ServiceType[] VALUES = {
+ VIEWER, DEV_MODE,
+ };
++
+ public static ServiceType valueOf(
+- com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
++ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ return VALUES[desc.getIndex()];
+ }
++
+ private final int index;
+ private final int value;
++
+ private ServiceType(int index, int value) {
+ this.index = index;
+ this.value = value;
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
+- }
++ // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType)
+ }
+
++ public interface ViewerRequestOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;
++ boolean hasRequestType();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getRequestType();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;
++ boolean hasCapabilityExchange();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange getCapabilityExchange();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;
++ boolean hasAddLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog getAddLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder getAddLogOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;
++ boolean hasAddLogBranch();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch getAddLogBranch();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder getAddLogBranchOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;
++ boolean hasAddLogEntry();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry getAddLogEntry();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder getAddLogEntryOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;
++ boolean hasDisconnectLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog getDisconnectLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder getDisconnectLogOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;
++ boolean hasInitialize();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize getInitialize();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder getInitializeOrBuilder();
++ }
+ public static final class ViewerRequest extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements ViewerRequestOrBuilder {
+ // Use ViewerRequest.newBuilder() to construct.
+- private ViewerRequest() {}
++ private ViewerRequest(Builder builder) {
++ super(builder);
++ }
++ private ViewerRequest(boolean noInit) {}
+
+- private static final ViewerRequest defaultInstance = new ViewerRequest();
++ private static final ViewerRequest defaultInstance;
+ public static ViewerRequest getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -201,18 +307,18 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_fieldAccessorTable;
+ }
+
+ public enum RequestType
+- implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
++ implements com.google.protobuf.ProtocolMessageEnum {
+ CAPABILITY_EXCHANGE(0, 0),
+ ADD_LOG(1, 1),
+ ADD_LOG_BRANCH(2, 2),
+@@ -221,6 +327,13 @@ public final class RemoteMessageProto {
+ INITIALIZE(5, 5),
+ ;
+
++ public static final int CAPABILITY_EXCHANGE_VALUE = 0;
++ public static final int ADD_LOG_VALUE = 1;
++ public static final int ADD_LOG_BRANCH_VALUE = 2;
++ public static final int ADD_LOG_ENTRY_VALUE = 3;
++ public static final int DISCONNECT_LOG_VALUE = 4;
++ public static final int INITIALIZE_VALUE = 5;
++
+
+ public final int getNumber() { return value; }
+
+@@ -236,27 +349,27 @@ public final class RemoteMessageProto {
+ }
+ }
+
+- public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>
++ public static com.google.protobuf.Internal.EnumLiteMap<RequestType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+- private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>
++ private static com.google.protobuf.Internal.EnumLiteMap<RequestType>
+ internalValueMap =
+- new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>() {
++ new com.google.protobuf.Internal.EnumLiteMap<RequestType>() {
+ public RequestType findValueByNumber(int number) {
+- return RequestType.valueOf(number)
+- ; }
++ return RequestType.valueOf(number);
++ }
+ };
+
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
++ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(index);
+ }
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+- public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDescriptor().getEnumTypes().get(0);
+ }
+@@ -264,32 +377,40 @@ public final class RemoteMessageProto {
+ private static final RequestType[] VALUES = {
+ CAPABILITY_EXCHANGE, ADD_LOG, ADD_LOG_BRANCH, ADD_LOG_ENTRY, DISCONNECT_LOG, INITIALIZE,
+ };
++
+ public static RequestType valueOf(
+- com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
++ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ return VALUES[desc.getIndex()];
+ }
++
+ private final int index;
+ private final int value;
++
+ private RequestType(int index, int value) {
+ this.index = index;
+ this.value = value;
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
+- }
++ // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType)
+ }
+
++ public interface CapabilityExchangeOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++ }
+ public static final class CapabilityExchange extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements CapabilityExchangeOrBuilder {
+ // Use CapabilityExchange.newBuilder() to construct.
+- private CapabilityExchange() {}
++ private CapabilityExchange(Builder builder) {
++ super(builder);
++ }
++ private CapabilityExchange(boolean noInit) {}
+
+- private static final CapabilityExchange defaultInstance = new CapabilityExchange();
++ private static final CapabilityExchange defaultInstance;
+ public static CapabilityExchange getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -298,22 +419,30 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_fieldAccessorTable;
+ }
+
++ private void initFields() {
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
++ getSerializedSize();
+ getUnknownFields().writeTo(output);
+ }
+
+@@ -328,26 +457,33 @@ public final class RemoteMessageProto {
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -357,30 +493,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -393,37 +538,52 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange();
++ super.clear();
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDescriptor();
+ }
+@@ -432,36 +592,31 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange(this);
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange)other);
+ } else {
+@@ -476,23 +631,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -501,23 +662,50 @@ public final class RemoteMessageProto {
+ }
+ }
+
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new CapabilityExchange(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange)
+ }
+
++ public interface AddLogOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;
++ boolean hasType();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType getType();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;
++ boolean hasModuleLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog getModuleLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder getModuleLogOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;
++ boolean hasServerLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog getServerLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder getServerLogOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;
++ boolean hasMainLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog getMainLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder getMainLogOrBuilder();
++ }
+ public static final class AddLog extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements AddLogOrBuilder {
+ // Use AddLog.newBuilder() to construct.
+- private AddLog() {}
++ private AddLog(Builder builder) {
++ super(builder);
++ }
++ private AddLog(boolean noInit) {}
+
+- private static final AddLog defaultInstance = new AddLog();
++ private static final AddLog defaultInstance;
+ public static AddLog getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -526,23 +714,27 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_fieldAccessorTable;
+ }
+
+ public enum LogType
+- implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
++ implements com.google.protobuf.ProtocolMessageEnum {
+ MAIN(0, 0),
+ MODULE(1, 1),
+ WEB_SERVER(2, 2),
+ ;
+
++ public static final int MAIN_VALUE = 0;
++ public static final int MODULE_VALUE = 1;
++ public static final int WEB_SERVER_VALUE = 2;
++
+
+ public final int getNumber() { return value; }
+
+@@ -555,27 +747,27 @@ public final class RemoteMessageProto {
+ }
+ }
+
+- public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<LogType>
++ public static com.google.protobuf.Internal.EnumLiteMap<LogType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+- private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<LogType>
++ private static com.google.protobuf.Internal.EnumLiteMap<LogType>
+ internalValueMap =
+- new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<LogType>() {
++ new com.google.protobuf.Internal.EnumLiteMap<LogType>() {
+ public LogType findValueByNumber(int number) {
+- return LogType.valueOf(number)
+- ; }
++ return LogType.valueOf(number);
++ }
+ };
+
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
++ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(index);
+ }
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+- public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDescriptor().getEnumTypes().get(0);
+ }
+@@ -583,32 +775,68 @@ public final class RemoteMessageProto {
+ private static final LogType[] VALUES = {
+ MAIN, MODULE, WEB_SERVER,
+ };
++
+ public static LogType valueOf(
+- com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
++ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ return VALUES[desc.getIndex()];
+ }
++
+ private final int index;
+ private final int value;
++
+ private LogType(int index, int value) {
+ this.index = index;
+ this.value = value;
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
+- }
++ // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType)
+ }
+
++ public interface ModuleLogOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // required string name = 1;
++ boolean hasName();
++ String getName();
++
++ // optional bytes icon = 2;
++ boolean hasIcon();
++ com.google.protobuf.ByteString getIcon();
++
++ // optional string sessionKey = 3;
++ boolean hasSessionKey();
++ String getSessionKey();
++
++ // optional string userAgent = 4;
++ boolean hasUserAgent();
++ String getUserAgent();
++
++ // optional string url = 5;
++ boolean hasUrl();
++ String getUrl();
++
++ // optional string tabKey = 6;
++ boolean hasTabKey();
++ String getTabKey();
++
++ // optional string remoteHost = 7;
++ boolean hasRemoteHost();
++ String getRemoteHost();
++ }
+ public static final class ModuleLog extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements ModuleLogOrBuilder {
+ // Use ModuleLog.newBuilder() to construct.
+- private ModuleLog() {}
++ private ModuleLog(Builder builder) {
++ super(builder);
++ }
++ private ModuleLog(boolean noInit) {}
+
+- private static final ModuleLog defaultInstance = new ModuleLog();
++ private static final ModuleLog defaultInstance;
+ public static ModuleLog getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -617,92 +845,264 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // required string name = 1;
+ public static final int NAME_FIELD_NUMBER = 1;
+- private boolean hasName;
+- private java.lang.String name_ = "";
+- public boolean hasName() { return hasName; }
+- public java.lang.String getName() { return name_; }
++ private java.lang.Object name_;
++ public boolean hasName() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public String getName() {
++ java.lang.Object ref = name_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ name_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getNameBytes() {
++ java.lang.Object ref = name_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ name_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional bytes icon = 2;
+ public static final int ICON_FIELD_NUMBER = 2;
+- private boolean hasIcon;
+- private com.google.gwt.dev.protobuf.ByteString icon_ = com.google.gwt.dev.protobuf.ByteString.EMPTY;
+- public boolean hasIcon() { return hasIcon; }
+- public com.google.gwt.dev.protobuf.ByteString getIcon() { return icon_; }
++ private com.google.protobuf.ByteString icon_;
++ public boolean hasIcon() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.protobuf.ByteString getIcon() {
++ return icon_;
++ }
+
+ // optional string sessionKey = 3;
+ public static final int SESSIONKEY_FIELD_NUMBER = 3;
+- private boolean hasSessionKey;
+- private java.lang.String sessionKey_ = "";
+- public boolean hasSessionKey() { return hasSessionKey; }
+- public java.lang.String getSessionKey() { return sessionKey_; }
++ private java.lang.Object sessionKey_;
++ public boolean hasSessionKey() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public String getSessionKey() {
++ java.lang.Object ref = sessionKey_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ sessionKey_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getSessionKeyBytes() {
++ java.lang.Object ref = sessionKey_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ sessionKey_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional string userAgent = 4;
+ public static final int USERAGENT_FIELD_NUMBER = 4;
+- private boolean hasUserAgent;
+- private java.lang.String userAgent_ = "";
+- public boolean hasUserAgent() { return hasUserAgent; }
+- public java.lang.String getUserAgent() { return userAgent_; }
++ private java.lang.Object userAgent_;
++ public boolean hasUserAgent() {
++ return ((bitField0_ & 0x00000008) == 0x00000008);
++ }
++ public String getUserAgent() {
++ java.lang.Object ref = userAgent_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ userAgent_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getUserAgentBytes() {
++ java.lang.Object ref = userAgent_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ userAgent_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional string url = 5;
+ public static final int URL_FIELD_NUMBER = 5;
+- private boolean hasUrl;
+- private java.lang.String url_ = "";
+- public boolean hasUrl() { return hasUrl; }
+- public java.lang.String getUrl() { return url_; }
++ private java.lang.Object url_;
++ public boolean hasUrl() {
++ return ((bitField0_ & 0x00000010) == 0x00000010);
++ }
++ public String getUrl() {
++ java.lang.Object ref = url_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ url_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getUrlBytes() {
++ java.lang.Object ref = url_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ url_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional string tabKey = 6;
+ public static final int TABKEY_FIELD_NUMBER = 6;
+- private boolean hasTabKey;
+- private java.lang.String tabKey_ = "";
+- public boolean hasTabKey() { return hasTabKey; }
+- public java.lang.String getTabKey() { return tabKey_; }
++ private java.lang.Object tabKey_;
++ public boolean hasTabKey() {
++ return ((bitField0_ & 0x00000020) == 0x00000020);
++ }
++ public String getTabKey() {
++ java.lang.Object ref = tabKey_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ tabKey_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getTabKeyBytes() {
++ java.lang.Object ref = tabKey_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ tabKey_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional string remoteHost = 7;
+ public static final int REMOTEHOST_FIELD_NUMBER = 7;
+- private boolean hasRemoteHost;
+- private java.lang.String remoteHost_ = "";
+- public boolean hasRemoteHost() { return hasRemoteHost; }
+- public java.lang.String getRemoteHost() { return remoteHost_; }
++ private java.lang.Object remoteHost_;
++ public boolean hasRemoteHost() {
++ return ((bitField0_ & 0x00000040) == 0x00000040);
++ }
++ public String getRemoteHost() {
++ java.lang.Object ref = remoteHost_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ remoteHost_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getRemoteHostBytes() {
++ java.lang.Object ref = remoteHost_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ remoteHost_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
++ private void initFields() {
++ name_ = "";
++ icon_ = com.google.protobuf.ByteString.EMPTY;
++ sessionKey_ = "";
++ userAgent_ = "";
++ url_ = "";
++ tabKey_ = "";
++ remoteHost_ = "";
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasName) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasName()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasName()) {
+- output.writeString(1, getName());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeBytes(1, getNameBytes());
+ }
+- if (hasIcon()) {
+- output.writeBytes(2, getIcon());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeBytes(2, icon_);
+ }
+- if (hasSessionKey()) {
+- output.writeString(3, getSessionKey());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeBytes(3, getSessionKeyBytes());
+ }
+- if (hasUserAgent()) {
+- output.writeString(4, getUserAgent());
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ output.writeBytes(4, getUserAgentBytes());
+ }
+- if (hasUrl()) {
+- output.writeString(5, getUrl());
++ if (((bitField0_ & 0x00000010) == 0x00000010)) {
++ output.writeBytes(5, getUrlBytes());
+ }
+- if (hasTabKey()) {
+- output.writeString(6, getTabKey());
++ if (((bitField0_ & 0x00000020) == 0x00000020)) {
++ output.writeBytes(6, getTabKeyBytes());
+ }
+- if (hasRemoteHost()) {
+- output.writeString(7, getRemoteHost());
++ if (((bitField0_ & 0x00000040) == 0x00000040)) {
++ output.writeBytes(7, getRemoteHostBytes());
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -713,59 +1113,66 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasName()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(1, getName());
+- }
+- if (hasIcon()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeBytesSize(2, getIcon());
+- }
+- if (hasSessionKey()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(3, getSessionKey());
+- }
+- if (hasUserAgent()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(4, getUserAgent());
+- }
+- if (hasUrl()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(5, getUrl());
+- }
+- if (hasTabKey()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(6, getTabKey());
+- }
+- if (hasRemoteHost()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(7, getRemoteHost());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(1, getNameBytes());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(2, icon_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(3, getSessionKeyBytes());
++ }
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(4, getUserAgentBytes());
++ }
++ if (((bitField0_ & 0x00000010) == 0x00000010)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(5, getUrlBytes());
++ }
++ if (((bitField0_ & 0x00000020) == 0x00000020)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(6, getTabKeyBytes());
++ }
++ if (((bitField0_ & 0x00000040) == 0x00000040)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(7, getRemoteHostBytes());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -775,30 +1182,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -811,37 +1227,66 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog();
++ super.clear();
++ name_ = "";
++ bitField0_ = (bitField0_ & ~0x00000001);
++ icon_ = com.google.protobuf.ByteString.EMPTY;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ sessionKey_ = "";
++ bitField0_ = (bitField0_ & ~0x00000004);
++ userAgent_ = "";
++ bitField0_ = (bitField0_ & ~0x00000008);
++ url_ = "";
++ bitField0_ = (bitField0_ & ~0x00000010);
++ tabKey_ = "";
++ bitField0_ = (bitField0_ & ~0x00000020);
++ remoteHost_ = "";
++ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDescriptor();
+ }
+@@ -850,36 +1295,62 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.name_ = name_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ result.icon_ = icon_;
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ result.sessionKey_ = sessionKey_;
++ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
++ to_bitField0_ |= 0x00000008;
++ }
++ result.userAgent_ = userAgent_;
++ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
++ to_bitField0_ |= 0x00000010;
++ }
++ result.url_ = url_;
++ if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
++ to_bitField0_ |= 0x00000020;
++ }
++ result.tabKey_ = tabKey_;
++ if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
++ to_bitField0_ |= 0x00000040;
++ }
++ result.remoteHost_ = remoteHost_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog)other);
+ } else {
+@@ -915,223 +1386,350 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasName()) {
++
++ return false;
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+- setName(input.readString());
++ bitField0_ |= 0x00000001;
++ name_ = input.readBytes();
+ break;
+ }
+ case 18: {
+- setIcon(input.readBytes());
++ bitField0_ |= 0x00000002;
++ icon_ = input.readBytes();
+ break;
+ }
+ case 26: {
+- setSessionKey(input.readString());
++ bitField0_ |= 0x00000004;
++ sessionKey_ = input.readBytes();
+ break;
+ }
+ case 34: {
+- setUserAgent(input.readString());
++ bitField0_ |= 0x00000008;
++ userAgent_ = input.readBytes();
+ break;
+ }
+ case 42: {
+- setUrl(input.readString());
++ bitField0_ |= 0x00000010;
++ url_ = input.readBytes();
+ break;
+ }
+ case 50: {
+- setTabKey(input.readString());
++ bitField0_ |= 0x00000020;
++ tabKey_ = input.readBytes();
+ break;
+ }
+ case 58: {
+- setRemoteHost(input.readString());
++ bitField0_ |= 0x00000040;
++ remoteHost_ = input.readBytes();
+ break;
+ }
+ }
+ }
+ }
+
++ private int bitField0_;
+
+ // required string name = 1;
++ private java.lang.Object name_ = "";
+ public boolean hasName() {
+- return result.hasName();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+- public java.lang.String getName() {
+- return result.getName();
++ public String getName() {
++ java.lang.Object ref = name_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ name_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setName(java.lang.String value) {
++ public Builder setName(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasName = true;
+- result.name_ = value;
++ bitField0_ |= 0x00000001;
++ name_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearName() {
+- result.hasName = false;
+- result.name_ = getDefaultInstance().getName();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ name_ = getDefaultInstance().getName();
++ onChanged();
+ return this;
+ }
++ void setName(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000001;
++ name_ = value;
++ onChanged();
++ }
+
+ // optional bytes icon = 2;
++ private com.google.protobuf.ByteString icon_ = com.google.protobuf.ByteString.EMPTY;
+ public boolean hasIcon() {
+- return result.hasIcon();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+- public com.google.gwt.dev.protobuf.ByteString getIcon() {
+- return result.getIcon();
++ public com.google.protobuf.ByteString getIcon() {
++ return icon_;
+ }
+- public Builder setIcon(com.google.gwt.dev.protobuf.ByteString value) {
++ public Builder setIcon(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasIcon = true;
+- result.icon_ = value;
++ bitField0_ |= 0x00000002;
++ icon_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearIcon() {
+- result.hasIcon = false;
+- result.icon_ = getDefaultInstance().getIcon();
++ bitField0_ = (bitField0_ & ~0x00000002);
++ icon_ = getDefaultInstance().getIcon();
++ onChanged();
+ return this;
+ }
+
+ // optional string sessionKey = 3;
++ private java.lang.Object sessionKey_ = "";
+ public boolean hasSessionKey() {
+- return result.hasSessionKey();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+- public java.lang.String getSessionKey() {
+- return result.getSessionKey();
++ public String getSessionKey() {
++ java.lang.Object ref = sessionKey_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ sessionKey_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setSessionKey(java.lang.String value) {
++ public Builder setSessionKey(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasSessionKey = true;
+- result.sessionKey_ = value;
++ bitField0_ |= 0x00000004;
++ sessionKey_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearSessionKey() {
+- result.hasSessionKey = false;
+- result.sessionKey_ = getDefaultInstance().getSessionKey();
++ bitField0_ = (bitField0_ & ~0x00000004);
++ sessionKey_ = getDefaultInstance().getSessionKey();
++ onChanged();
+ return this;
+ }
++ void setSessionKey(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000004;
++ sessionKey_ = value;
++ onChanged();
++ }
+
+ // optional string userAgent = 4;
++ private java.lang.Object userAgent_ = "";
+ public boolean hasUserAgent() {
+- return result.hasUserAgent();
++ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+- public java.lang.String getUserAgent() {
+- return result.getUserAgent();
++ public String getUserAgent() {
++ java.lang.Object ref = userAgent_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ userAgent_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setUserAgent(java.lang.String value) {
++ public Builder setUserAgent(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasUserAgent = true;
+- result.userAgent_ = value;
++ bitField0_ |= 0x00000008;
++ userAgent_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearUserAgent() {
+- result.hasUserAgent = false;
+- result.userAgent_ = getDefaultInstance().getUserAgent();
++ bitField0_ = (bitField0_ & ~0x00000008);
++ userAgent_ = getDefaultInstance().getUserAgent();
++ onChanged();
+ return this;
+ }
++ void setUserAgent(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000008;
++ userAgent_ = value;
++ onChanged();
++ }
+
+ // optional string url = 5;
++ private java.lang.Object url_ = "";
+ public boolean hasUrl() {
+- return result.hasUrl();
++ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+- public java.lang.String getUrl() {
+- return result.getUrl();
++ public String getUrl() {
++ java.lang.Object ref = url_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ url_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setUrl(java.lang.String value) {
++ public Builder setUrl(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasUrl = true;
+- result.url_ = value;
++ bitField0_ |= 0x00000010;
++ url_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearUrl() {
+- result.hasUrl = false;
+- result.url_ = getDefaultInstance().getUrl();
++ bitField0_ = (bitField0_ & ~0x00000010);
++ url_ = getDefaultInstance().getUrl();
++ onChanged();
+ return this;
+ }
++ void setUrl(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000010;
++ url_ = value;
++ onChanged();
++ }
+
+ // optional string tabKey = 6;
++ private java.lang.Object tabKey_ = "";
+ public boolean hasTabKey() {
+- return result.hasTabKey();
++ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+- public java.lang.String getTabKey() {
+- return result.getTabKey();
++ public String getTabKey() {
++ java.lang.Object ref = tabKey_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ tabKey_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setTabKey(java.lang.String value) {
++ public Builder setTabKey(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasTabKey = true;
+- result.tabKey_ = value;
++ bitField0_ |= 0x00000020;
++ tabKey_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearTabKey() {
+- result.hasTabKey = false;
+- result.tabKey_ = getDefaultInstance().getTabKey();
++ bitField0_ = (bitField0_ & ~0x00000020);
++ tabKey_ = getDefaultInstance().getTabKey();
++ onChanged();
+ return this;
+ }
++ void setTabKey(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000020;
++ tabKey_ = value;
++ onChanged();
++ }
+
+ // optional string remoteHost = 7;
++ private java.lang.Object remoteHost_ = "";
+ public boolean hasRemoteHost() {
+- return result.hasRemoteHost();
++ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+- public java.lang.String getRemoteHost() {
+- return result.getRemoteHost();
++ public String getRemoteHost() {
++ java.lang.Object ref = remoteHost_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ remoteHost_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setRemoteHost(java.lang.String value) {
++ public Builder setRemoteHost(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasRemoteHost = true;
+- result.remoteHost_ = value;
++ bitField0_ |= 0x00000040;
++ remoteHost_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearRemoteHost() {
+- result.hasRemoteHost = false;
+- result.remoteHost_ = getDefaultInstance().getRemoteHost();
++ bitField0_ = (bitField0_ & ~0x00000040);
++ remoteHost_ = getDefaultInstance().getRemoteHost();
++ onChanged();
+ return this;
+ }
++ void setRemoteHost(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000040;
++ remoteHost_ = value;
++ onChanged();
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new ModuleLog(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog)
+ }
+
++ public interface ServerLogOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // required string name = 1;
++ boolean hasName();
++ String getName();
++
++ // optional bytes icon = 2;
++ boolean hasIcon();
++ com.google.protobuf.ByteString getIcon();
++ }
+ public static final class ServerLog extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements ServerLogOrBuilder {
+ // Use ServerLog.newBuilder() to construct.
+- private ServerLog() {}
++ private ServerLog(Builder builder) {
++ super(builder);
++ }
++ private ServerLog(boolean noInit) {}
+
+- private static final ServerLog defaultInstance = new ServerLog();
++ private static final ServerLog defaultInstance;
+ public static ServerLog getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -1140,42 +1738,84 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // required string name = 1;
+ public static final int NAME_FIELD_NUMBER = 1;
+- private boolean hasName;
+- private java.lang.String name_ = "";
+- public boolean hasName() { return hasName; }
+- public java.lang.String getName() { return name_; }
++ private java.lang.Object name_;
++ public boolean hasName() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public String getName() {
++ java.lang.Object ref = name_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ name_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getNameBytes() {
++ java.lang.Object ref = name_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ name_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional bytes icon = 2;
+ public static final int ICON_FIELD_NUMBER = 2;
+- private boolean hasIcon;
+- private com.google.gwt.dev.protobuf.ByteString icon_ = com.google.gwt.dev.protobuf.ByteString.EMPTY;
+- public boolean hasIcon() { return hasIcon; }
+- public com.google.gwt.dev.protobuf.ByteString getIcon() { return icon_; }
++ private com.google.protobuf.ByteString icon_;
++ public boolean hasIcon() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.protobuf.ByteString getIcon() {
++ return icon_;
++ }
+
++ private void initFields() {
++ name_ = "";
++ icon_ = com.google.protobuf.ByteString.EMPTY;
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasName) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasName()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasName()) {
+- output.writeString(1, getName());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeBytes(1, getNameBytes());
+ }
+- if (hasIcon()) {
+- output.writeBytes(2, getIcon());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeBytes(2, icon_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -1186,39 +1826,46 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasName()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(1, getName());
+- }
+- if (hasIcon()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeBytesSize(2, getIcon());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(1, getNameBytes());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(2, icon_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -1228,30 +1875,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -1264,37 +1920,56 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog();
++ super.clear();
++ name_ = "";
++ bitField0_ = (bitField0_ & ~0x00000001);
++ icon_ = com.google.protobuf.ByteString.EMPTY;
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDescriptor();
+ }
+@@ -1303,36 +1978,42 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.name_ = name_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ result.icon_ = icon_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog)other);
+ } else {
+@@ -1353,98 +2034,137 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasName()) {
++
++ return false;
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+- setName(input.readString());
++ bitField0_ |= 0x00000001;
++ name_ = input.readBytes();
+ break;
+ }
+ case 18: {
+- setIcon(input.readBytes());
++ bitField0_ |= 0x00000002;
++ icon_ = input.readBytes();
+ break;
+ }
+ }
+ }
+ }
+
++ private int bitField0_;
+
+ // required string name = 1;
++ private java.lang.Object name_ = "";
+ public boolean hasName() {
+- return result.hasName();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+- public java.lang.String getName() {
+- return result.getName();
++ public String getName() {
++ java.lang.Object ref = name_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ name_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setName(java.lang.String value) {
++ public Builder setName(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasName = true;
+- result.name_ = value;
++ bitField0_ |= 0x00000001;
++ name_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearName() {
+- result.hasName = false;
+- result.name_ = getDefaultInstance().getName();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ name_ = getDefaultInstance().getName();
++ onChanged();
+ return this;
+ }
++ void setName(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000001;
++ name_ = value;
++ onChanged();
++ }
+
+ // optional bytes icon = 2;
++ private com.google.protobuf.ByteString icon_ = com.google.protobuf.ByteString.EMPTY;
+ public boolean hasIcon() {
+- return result.hasIcon();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+- public com.google.gwt.dev.protobuf.ByteString getIcon() {
+- return result.getIcon();
++ public com.google.protobuf.ByteString getIcon() {
++ return icon_;
+ }
+- public Builder setIcon(com.google.gwt.dev.protobuf.ByteString value) {
++ public Builder setIcon(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasIcon = true;
+- result.icon_ = value;
++ bitField0_ |= 0x00000002;
++ icon_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearIcon() {
+- result.hasIcon = false;
+- result.icon_ = getDefaultInstance().getIcon();
++ bitField0_ = (bitField0_ & ~0x00000002);
++ icon_ = getDefaultInstance().getIcon();
++ onChanged();
+ return this;
+ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new ServerLog(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog)
+ }
+
++ public interface MainLogOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++ }
+ public static final class MainLog extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements MainLogOrBuilder {
+ // Use MainLog.newBuilder() to construct.
+- private MainLog() {}
++ private MainLog(Builder builder) {
++ super(builder);
++ }
++ private MainLog(boolean noInit) {}
+
+- private static final MainLog defaultInstance = new MainLog();
++ private static final MainLog defaultInstance;
+ public static MainLog getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -1453,22 +2173,30 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_fieldAccessorTable;
+ }
+
++ private void initFields() {
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
++ getSerializedSize();
+ getUnknownFields().writeTo(output);
+ }
+
+@@ -1483,26 +2211,33 @@ public final class RemoteMessageProto {
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -1512,30 +2247,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -1548,37 +2292,52 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog();
++ super.clear();
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDescriptor();
+ }
+@@ -1587,36 +2346,31 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog(this);
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog)other);
+ } else {
+@@ -1631,23 +2385,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -1656,68 +2416,109 @@ public final class RemoteMessageProto {
+ }
+ }
+
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new MainLog(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog)
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;
+ public static final int TYPE_FIELD_NUMBER = 1;
+- private boolean hasType;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
+- public boolean hasType() { return hasType; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType getType() { return type_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType type_;
++ public boolean hasType() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType getType() {
++ return type_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;
+ public static final int MODULELOG_FIELD_NUMBER = 2;
+- private boolean hasModuleLog;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
+- public boolean hasModuleLog() { return hasModuleLog; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog getModuleLog() { return moduleLog_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog_;
++ public boolean hasModuleLog() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog getModuleLog() {
++ return moduleLog_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder getModuleLogOrBuilder() {
++ return moduleLog_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;
+ public static final int SERVERLOG_FIELD_NUMBER = 3;
+- private boolean hasServerLog;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
+- public boolean hasServerLog() { return hasServerLog; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog getServerLog() { return serverLog_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog serverLog_;
++ public boolean hasServerLog() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog getServerLog() {
++ return serverLog_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder getServerLogOrBuilder() {
++ return serverLog_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;
+ public static final int MAINLOG_FIELD_NUMBER = 4;
+- private boolean hasMainLog;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
+- public boolean hasMainLog() { return hasMainLog; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog getMainLog() { return mainLog_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog mainLog_;
++ public boolean hasMainLog() {
++ return ((bitField0_ & 0x00000008) == 0x00000008);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog getMainLog() {
++ return mainLog_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder getMainLogOrBuilder() {
++ return mainLog_;
++ }
+
++ private void initFields() {
++ type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
++ moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
++ serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
++ mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
+ if (hasModuleLog()) {
+- if (!getModuleLog().isInitialized()) return false;
++ if (!getModuleLog().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
+ if (hasServerLog()) {
+- if (!getServerLog().isInitialized()) return false;
++ if (!getServerLog().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasType()) {
+- output.writeEnum(1, getType().getNumber());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeEnum(1, type_.getNumber());
+ }
+- if (hasModuleLog()) {
+- output.writeMessage(2, getModuleLog());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeMessage(2, moduleLog_);
+ }
+- if (hasServerLog()) {
+- output.writeMessage(3, getServerLog());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeMessage(3, serverLog_);
+ }
+- if (hasMainLog()) {
+- output.writeMessage(4, getMainLog());
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ output.writeMessage(4, mainLog_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -1728,47 +2529,54 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasType()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(1, getType().getNumber());
+- }
+- if (hasModuleLog()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, getModuleLog());
+- }
+- if (hasServerLog()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(3, getServerLog());
+- }
+- if (hasMainLog()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(4, getMainLog());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(1, type_.getNumber());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, moduleLog_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(3, serverLog_);
++ }
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(4, mainLog_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -1778,30 +2586,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -1814,37 +2631,75 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getModuleLogFieldBuilder();
++ getServerLogFieldBuilder();
++ getMainLogFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ if (moduleLogBuilder_ == null) {
++ moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
++ } else {
++ moduleLogBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog();
++ bitField0_ = (bitField0_ & ~0x00000002);
++ if (serverLogBuilder_ == null) {
++ serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
++ } else {
++ serverLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
++ if (mainLogBuilder_ == null) {
++ mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
++ } else {
++ mainLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDescriptor();
+ }
+@@ -1853,36 +2708,62 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.type_ = type_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ if (moduleLogBuilder_ == null) {
++ result.moduleLog_ = moduleLog_;
++ } else {
++ result.moduleLog_ = moduleLogBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ if (serverLogBuilder_ == null) {
++ result.serverLog_ = serverLog_;
++ } else {
++ result.serverLog_ = serverLogBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog returnMe = result;
+- result = null;
+- return returnMe;
++ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
++ to_bitField0_ |= 0x00000008;
++ }
++ if (mainLogBuilder_ == null) {
++ result.mainLog_ = mainLog_;
++ } else {
++ result.mainLog_ = mainLogBuilder_.build();
++ }
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog)other);
+ } else {
+@@ -1909,23 +2790,41 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (hasModuleLog()) {
++ if (!getModuleLog().isInitialized()) {
++
++ return false;
++ }
++ }
++ if (hasServerLog()) {
++ if (!getServerLog().isInitialized()) {
++
++ return false;
++ }
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -1936,7 +2835,8 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(1, rawValue);
+ } else {
+- setType(value);
++ bitField0_ |= 0x00000001;
++ type_ = value;
+ }
+ break;
+ }
+@@ -1971,155 +2871,347 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
+ public boolean hasType() {
+- return result.hasType();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType getType() {
+- return result.getType();
++ return type_;
+ }
+ public Builder setType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasType = true;
+- result.type_ = value;
++ bitField0_ |= 0x00000001;
++ type_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearType() {
+- result.hasType = false;
+- result.type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
++ onChanged();
+ return this;
+ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder> moduleLogBuilder_;
+ public boolean hasModuleLog() {
+- return result.hasModuleLog();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog getModuleLog() {
+- return result.getModuleLog();
++ if (moduleLogBuilder_ == null) {
++ return moduleLog_;
++ } else {
++ return moduleLogBuilder_.getMessage();
++ }
+ }
+ public Builder setModuleLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (moduleLogBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ moduleLog_ = value;
++ onChanged();
++ } else {
++ moduleLogBuilder_.setMessage(value);
+ }
+- result.hasModuleLog = true;
+- result.moduleLog_ = value;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+- public Builder setModuleLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder builderForValue) {
+- result.hasModuleLog = true;
+- result.moduleLog_ = builderForValue.build();
++ public Builder setModuleLog(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder builderForValue) {
++ if (moduleLogBuilder_ == null) {
++ moduleLog_ = builderForValue.build();
++ onChanged();
++ } else {
++ moduleLogBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder mergeModuleLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog value) {
+- if (result.hasModuleLog() &&
+- result.moduleLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance()) {
+- result.moduleLog_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.newBuilder(result.moduleLog_).mergeFrom(value).buildPartial();
++ if (moduleLogBuilder_ == null) {
++ if (((bitField0_ & 0x00000002) == 0x00000002) &&
++ moduleLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance()) {
++ moduleLog_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.newBuilder(moduleLog_).mergeFrom(value).buildPartial();
++ } else {
++ moduleLog_ = value;
++ }
++ onChanged();
+ } else {
+- result.moduleLog_ = value;
++ moduleLogBuilder_.mergeFrom(value);
+ }
+- result.hasModuleLog = true;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder clearModuleLog() {
+- result.hasModuleLog = false;
+- result.moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
++ if (moduleLogBuilder_ == null) {
++ moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
++ onChanged();
++ } else {
++ moduleLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder getModuleLogBuilder() {
++ bitField0_ |= 0x00000002;
++ onChanged();
++ return getModuleLogFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder getModuleLogOrBuilder() {
++ if (moduleLogBuilder_ != null) {
++ return moduleLogBuilder_.getMessageOrBuilder();
++ } else {
++ return moduleLog_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder>
++ getModuleLogFieldBuilder() {
++ if (moduleLogBuilder_ == null) {
++ moduleLogBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder>(
++ moduleLog_,
++ getParentForChildren(),
++ isClean());
++ moduleLog_ = null;
++ }
++ return moduleLogBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder> serverLogBuilder_;
+ public boolean hasServerLog() {
+- return result.hasServerLog();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog getServerLog() {
+- return result.getServerLog();
++ if (serverLogBuilder_ == null) {
++ return serverLog_;
++ } else {
++ return serverLogBuilder_.getMessage();
++ }
+ }
+ public Builder setServerLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (serverLogBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ serverLog_ = value;
++ onChanged();
++ } else {
++ serverLogBuilder_.setMessage(value);
+ }
+- result.hasServerLog = true;
+- result.serverLog_ = value;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+- public Builder setServerLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder builderForValue) {
+- result.hasServerLog = true;
+- result.serverLog_ = builderForValue.build();
++ public Builder setServerLog(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder builderForValue) {
++ if (serverLogBuilder_ == null) {
++ serverLog_ = builderForValue.build();
++ onChanged();
++ } else {
++ serverLogBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder mergeServerLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog value) {
+- if (result.hasServerLog() &&
+- result.serverLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance()) {
+- result.serverLog_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.newBuilder(result.serverLog_).mergeFrom(value).buildPartial();
++ if (serverLogBuilder_ == null) {
++ if (((bitField0_ & 0x00000004) == 0x00000004) &&
++ serverLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance()) {
++ serverLog_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.newBuilder(serverLog_).mergeFrom(value).buildPartial();
++ } else {
++ serverLog_ = value;
++ }
++ onChanged();
+ } else {
+- result.serverLog_ = value;
++ serverLogBuilder_.mergeFrom(value);
+ }
+- result.hasServerLog = true;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder clearServerLog() {
+- result.hasServerLog = false;
+- result.serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
++ if (serverLogBuilder_ == null) {
++ serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
++ onChanged();
++ } else {
++ serverLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder getServerLogBuilder() {
++ bitField0_ |= 0x00000004;
++ onChanged();
++ return getServerLogFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder getServerLogOrBuilder() {
++ if (serverLogBuilder_ != null) {
++ return serverLogBuilder_.getMessageOrBuilder();
++ } else {
++ return serverLog_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder>
++ getServerLogFieldBuilder() {
++ if (serverLogBuilder_ == null) {
++ serverLogBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder>(
++ serverLog_,
++ getParentForChildren(),
++ isClean());
++ serverLog_ = null;
++ }
++ return serverLogBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder> mainLogBuilder_;
+ public boolean hasMainLog() {
+- return result.hasMainLog();
++ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog getMainLog() {
+- return result.getMainLog();
++ if (mainLogBuilder_ == null) {
++ return mainLog_;
++ } else {
++ return mainLogBuilder_.getMessage();
++ }
+ }
+ public Builder setMainLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (mainLogBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ mainLog_ = value;
++ onChanged();
++ } else {
++ mainLogBuilder_.setMessage(value);
+ }
+- result.hasMainLog = true;
+- result.mainLog_ = value;
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+- public Builder setMainLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder builderForValue) {
+- result.hasMainLog = true;
+- result.mainLog_ = builderForValue.build();
++ public Builder setMainLog(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder builderForValue) {
++ if (mainLogBuilder_ == null) {
++ mainLog_ = builderForValue.build();
++ onChanged();
++ } else {
++ mainLogBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+ public Builder mergeMainLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog value) {
+- if (result.hasMainLog() &&
+- result.mainLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance()) {
+- result.mainLog_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.newBuilder(result.mainLog_).mergeFrom(value).buildPartial();
++ if (mainLogBuilder_ == null) {
++ if (((bitField0_ & 0x00000008) == 0x00000008) &&
++ mainLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance()) {
++ mainLog_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.newBuilder(mainLog_).mergeFrom(value).buildPartial();
++ } else {
++ mainLog_ = value;
++ }
++ onChanged();
+ } else {
+- result.mainLog_ = value;
++ mainLogBuilder_.mergeFrom(value);
+ }
+- result.hasMainLog = true;
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+ public Builder clearMainLog() {
+- result.hasMainLog = false;
+- result.mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
++ if (mainLogBuilder_ == null) {
++ mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
++ onChanged();
++ } else {
++ mainLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder getMainLogBuilder() {
++ bitField0_ |= 0x00000008;
++ onChanged();
++ return getMainLogFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder getMainLogOrBuilder() {
++ if (mainLogBuilder_ != null) {
++ return mainLogBuilder_.getMessageOrBuilder();
++ } else {
++ return mainLog_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder>
++ getMainLogFieldBuilder() {
++ if (mainLogBuilder_ == null) {
++ mainLogBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder>(
++ mainLog_,
++ getParentForChildren(),
++ isClean());
++ mainLog_ = null;
++ }
++ return mainLogBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new AddLog(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog)
+ }
+
++ public interface LogDataOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // required string summary = 1;
++ boolean hasSummary();
++ String getSummary();
++
++ // optional string level = 2;
++ boolean hasLevel();
++ String getLevel();
++
++ // optional bool needsAttention = 3;
++ boolean hasNeedsAttention();
++ boolean getNeedsAttention();
++
++ // optional string details = 4;
++ boolean hasDetails();
++ String getDetails();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;
++ boolean hasHelpInfo();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo getHelpInfo();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder getHelpInfoOrBuilder();
++ }
+ public static final class LogData extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements LogDataOrBuilder {
+ // Use LogData.newBuilder() to construct.
+- private LogData() {}
++ private LogData(Builder builder) {
++ super(builder);
++ }
++ private LogData(boolean noInit) {}
+
+- private static final LogData defaultInstance = new LogData();
++ private static final LogData defaultInstance;
+ public static LogData getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -2128,22 +3220,37 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_fieldAccessorTable;
+ }
+
++ public interface HelpInfoOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional string url = 1;
++ boolean hasUrl();
++ String getUrl();
++
++ // optional string text = 2;
++ boolean hasText();
++ String getText();
++ }
+ public static final class HelpInfo extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements HelpInfoOrBuilder {
+ // Use HelpInfo.newBuilder() to construct.
+- private HelpInfo() {}
++ private HelpInfo(Builder builder) {
++ super(builder);
++ }
++ private HelpInfo(boolean noInit) {}
+
+- private static final HelpInfo defaultInstance = new HelpInfo();
++ private static final HelpInfo defaultInstance;
+ public static HelpInfo getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -2152,41 +3259,102 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // optional string url = 1;
+ public static final int URL_FIELD_NUMBER = 1;
+- private boolean hasUrl;
+- private java.lang.String url_ = "";
+- public boolean hasUrl() { return hasUrl; }
+- public java.lang.String getUrl() { return url_; }
++ private java.lang.Object url_;
++ public boolean hasUrl() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public String getUrl() {
++ java.lang.Object ref = url_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ url_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getUrlBytes() {
++ java.lang.Object ref = url_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ url_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional string text = 2;
+ public static final int TEXT_FIELD_NUMBER = 2;
+- private boolean hasText;
+- private java.lang.String text_ = "";
+- public boolean hasText() { return hasText; }
+- public java.lang.String getText() { return text_; }
++ private java.lang.Object text_;
++ public boolean hasText() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public String getText() {
++ java.lang.Object ref = text_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ text_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getTextBytes() {
++ java.lang.Object ref = text_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ text_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
++ private void initFields() {
++ url_ = "";
++ text_ = "";
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasUrl()) {
+- output.writeString(1, getUrl());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeBytes(1, getUrlBytes());
+ }
+- if (hasText()) {
+- output.writeString(2, getText());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeBytes(2, getTextBytes());
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -2197,39 +3365,46 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasUrl()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(1, getUrl());
+- }
+- if (hasText()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(2, getText());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(1, getUrlBytes());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(2, getTextBytes());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -2239,30 +3414,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -2275,37 +3459,56 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo();
++ super.clear();
++ url_ = "";
++ bitField0_ = (bitField0_ & ~0x00000001);
++ text_ = "";
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDescriptor();
+ }
+@@ -2314,36 +3517,42 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.url_ = url_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ result.text_ = text_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo)other);
+ } else {
+@@ -2364,148 +3573,289 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+- setUrl(input.readString());
++ bitField0_ |= 0x00000001;
++ url_ = input.readBytes();
+ break;
+ }
+ case 18: {
+- setText(input.readString());
++ bitField0_ |= 0x00000002;
++ text_ = input.readBytes();
+ break;
+ }
+ }
+ }
+ }
+
++ private int bitField0_;
+
+ // optional string url = 1;
++ private java.lang.Object url_ = "";
+ public boolean hasUrl() {
+- return result.hasUrl();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+- public java.lang.String getUrl() {
+- return result.getUrl();
++ public String getUrl() {
++ java.lang.Object ref = url_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ url_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setUrl(java.lang.String value) {
++ public Builder setUrl(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasUrl = true;
+- result.url_ = value;
++ bitField0_ |= 0x00000001;
++ url_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearUrl() {
+- result.hasUrl = false;
+- result.url_ = getDefaultInstance().getUrl();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ url_ = getDefaultInstance().getUrl();
++ onChanged();
+ return this;
+ }
++ void setUrl(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000001;
++ url_ = value;
++ onChanged();
++ }
+
+ // optional string text = 2;
++ private java.lang.Object text_ = "";
+ public boolean hasText() {
+- return result.hasText();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+- public java.lang.String getText() {
+- return result.getText();
++ public String getText() {
++ java.lang.Object ref = text_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ text_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setText(java.lang.String value) {
++ public Builder setText(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasText = true;
+- result.text_ = value;
++ bitField0_ |= 0x00000002;
++ text_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearText() {
+- result.hasText = false;
+- result.text_ = getDefaultInstance().getText();
++ bitField0_ = (bitField0_ & ~0x00000002);
++ text_ = getDefaultInstance().getText();
++ onChanged();
+ return this;
+ }
++ void setText(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000002;
++ text_ = value;
++ onChanged();
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new HelpInfo(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo)
+ }
+
++ private int bitField0_;
+ // required string summary = 1;
+ public static final int SUMMARY_FIELD_NUMBER = 1;
+- private boolean hasSummary;
+- private java.lang.String summary_ = "";
+- public boolean hasSummary() { return hasSummary; }
+- public java.lang.String getSummary() { return summary_; }
++ private java.lang.Object summary_;
++ public boolean hasSummary() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public String getSummary() {
++ java.lang.Object ref = summary_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ summary_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getSummaryBytes() {
++ java.lang.Object ref = summary_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ summary_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional string level = 2;
+ public static final int LEVEL_FIELD_NUMBER = 2;
+- private boolean hasLevel;
+- private java.lang.String level_ = "";
+- public boolean hasLevel() { return hasLevel; }
+- public java.lang.String getLevel() { return level_; }
++ private java.lang.Object level_;
++ public boolean hasLevel() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public String getLevel() {
++ java.lang.Object ref = level_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ level_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getLevelBytes() {
++ java.lang.Object ref = level_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ level_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional bool needsAttention = 3;
+ public static final int NEEDSATTENTION_FIELD_NUMBER = 3;
+- private boolean hasNeedsAttention;
+- private boolean needsAttention_ = false;
+- public boolean hasNeedsAttention() { return hasNeedsAttention; }
+- public boolean getNeedsAttention() { return needsAttention_; }
++ private boolean needsAttention_;
++ public boolean hasNeedsAttention() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public boolean getNeedsAttention() {
++ return needsAttention_;
++ }
+
+ // optional string details = 4;
+ public static final int DETAILS_FIELD_NUMBER = 4;
+- private boolean hasDetails;
+- private java.lang.String details_ = "";
+- public boolean hasDetails() { return hasDetails; }
+- public java.lang.String getDetails() { return details_; }
++ private java.lang.Object details_;
++ public boolean hasDetails() {
++ return ((bitField0_ & 0x00000008) == 0x00000008);
++ }
++ public String getDetails() {
++ java.lang.Object ref = details_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ details_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getDetailsBytes() {
++ java.lang.Object ref = details_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ details_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;
+ public static final int HELPINFO_FIELD_NUMBER = 5;
+- private boolean hasHelpInfo;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
+- public boolean hasHelpInfo() { return hasHelpInfo; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo getHelpInfo() { return helpInfo_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo_;
++ public boolean hasHelpInfo() {
++ return ((bitField0_ & 0x00000010) == 0x00000010);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo getHelpInfo() {
++ return helpInfo_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder getHelpInfoOrBuilder() {
++ return helpInfo_;
++ }
+
++ private void initFields() {
++ summary_ = "";
++ level_ = "";
++ needsAttention_ = false;
++ details_ = "";
++ helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasSummary) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasSummary()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasSummary()) {
+- output.writeString(1, getSummary());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeBytes(1, getSummaryBytes());
+ }
+- if (hasLevel()) {
+- output.writeString(2, getLevel());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeBytes(2, getLevelBytes());
+ }
+- if (hasNeedsAttention()) {
+- output.writeBool(3, getNeedsAttention());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeBool(3, needsAttention_);
+ }
+- if (hasDetails()) {
+- output.writeString(4, getDetails());
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ output.writeBytes(4, getDetailsBytes());
+ }
+- if (hasHelpInfo()) {
+- output.writeMessage(5, getHelpInfo());
++ if (((bitField0_ & 0x00000010) == 0x00000010)) {
++ output.writeMessage(5, helpInfo_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -2516,51 +3866,58 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasSummary()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(1, getSummary());
+- }
+- if (hasLevel()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(2, getLevel());
+- }
+- if (hasNeedsAttention()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeBoolSize(3, getNeedsAttention());
+- }
+- if (hasDetails()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(4, getDetails());
+- }
+- if (hasHelpInfo()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(5, getHelpInfo());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(1, getSummaryBytes());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(2, getLevelBytes());
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBoolSize(3, needsAttention_);
++ }
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(4, getDetailsBytes());
++ }
++ if (((bitField0_ & 0x00000010) == 0x00000010)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(5, helpInfo_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -2570,30 +3927,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -2606,37 +3972,67 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getHelpInfoFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ summary_ = "";
++ bitField0_ = (bitField0_ & ~0x00000001);
++ level_ = "";
++ bitField0_ = (bitField0_ & ~0x00000002);
++ needsAttention_ = false;
++ bitField0_ = (bitField0_ & ~0x00000004);
++ details_ = "";
++ bitField0_ = (bitField0_ & ~0x00000008);
++ if (helpInfoBuilder_ == null) {
++ helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
++ } else {
++ helpInfoBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData();
++ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDescriptor();
+ }
+@@ -2645,36 +4041,58 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.summary_ = summary_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ result.level_ = level_;
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ result.needsAttention_ = needsAttention_;
++ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
++ to_bitField0_ |= 0x00000008;
++ }
++ result.details_ = details_;
++ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
++ to_bitField0_ |= 0x00000010;
++ }
++ if (helpInfoBuilder_ == null) {
++ result.helpInfo_ = helpInfo_;
++ } else {
++ result.helpInfo_ = helpInfoBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData returnMe = result;
+- result = null;
+- return returnMe;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData)other);
+ } else {
+@@ -2704,41 +4122,55 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasSummary()) {
++
++ return false;
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+- setSummary(input.readString());
++ bitField0_ |= 0x00000001;
++ summary_ = input.readBytes();
+ break;
+ }
+ case 18: {
+- setLevel(input.readString());
++ bitField0_ |= 0x00000002;
++ level_ = input.readBytes();
+ break;
+ }
+ case 24: {
+- setNeedsAttention(input.readBool());
++ bitField0_ |= 0x00000004;
++ needsAttention_ = input.readBool();
+ break;
+ }
+ case 34: {
+- setDetails(input.readString());
++ bitField0_ |= 0x00000008;
++ details_ = input.readBytes();
+ break;
+ }
+ case 42: {
+@@ -2754,141 +4186,264 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // required string summary = 1;
++ private java.lang.Object summary_ = "";
+ public boolean hasSummary() {
+- return result.hasSummary();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+- public java.lang.String getSummary() {
+- return result.getSummary();
++ public String getSummary() {
++ java.lang.Object ref = summary_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ summary_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setSummary(java.lang.String value) {
++ public Builder setSummary(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasSummary = true;
+- result.summary_ = value;
++ bitField0_ |= 0x00000001;
++ summary_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearSummary() {
+- result.hasSummary = false;
+- result.summary_ = getDefaultInstance().getSummary();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ summary_ = getDefaultInstance().getSummary();
++ onChanged();
+ return this;
+ }
++ void setSummary(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000001;
++ summary_ = value;
++ onChanged();
++ }
+
+ // optional string level = 2;
++ private java.lang.Object level_ = "";
+ public boolean hasLevel() {
+- return result.hasLevel();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+- public java.lang.String getLevel() {
+- return result.getLevel();
++ public String getLevel() {
++ java.lang.Object ref = level_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ level_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setLevel(java.lang.String value) {
++ public Builder setLevel(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasLevel = true;
+- result.level_ = value;
++ bitField0_ |= 0x00000002;
++ level_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearLevel() {
+- result.hasLevel = false;
+- result.level_ = getDefaultInstance().getLevel();
++ bitField0_ = (bitField0_ & ~0x00000002);
++ level_ = getDefaultInstance().getLevel();
++ onChanged();
+ return this;
+ }
++ void setLevel(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000002;
++ level_ = value;
++ onChanged();
++ }
+
+ // optional bool needsAttention = 3;
++ private boolean needsAttention_ ;
+ public boolean hasNeedsAttention() {
+- return result.hasNeedsAttention();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public boolean getNeedsAttention() {
+- return result.getNeedsAttention();
++ return needsAttention_;
+ }
+ public Builder setNeedsAttention(boolean value) {
+- result.hasNeedsAttention = true;
+- result.needsAttention_ = value;
++ bitField0_ |= 0x00000004;
++ needsAttention_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearNeedsAttention() {
+- result.hasNeedsAttention = false;
+- result.needsAttention_ = false;
++ bitField0_ = (bitField0_ & ~0x00000004);
++ needsAttention_ = false;
++ onChanged();
+ return this;
+ }
+
+ // optional string details = 4;
++ private java.lang.Object details_ = "";
+ public boolean hasDetails() {
+- return result.hasDetails();
++ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+- public java.lang.String getDetails() {
+- return result.getDetails();
++ public String getDetails() {
++ java.lang.Object ref = details_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ details_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setDetails(java.lang.String value) {
++ public Builder setDetails(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasDetails = true;
+- result.details_ = value;
++ bitField0_ |= 0x00000008;
++ details_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearDetails() {
+- result.hasDetails = false;
+- result.details_ = getDefaultInstance().getDetails();
++ bitField0_ = (bitField0_ & ~0x00000008);
++ details_ = getDefaultInstance().getDetails();
++ onChanged();
+ return this;
+ }
++ void setDetails(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000008;
++ details_ = value;
++ onChanged();
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder> helpInfoBuilder_;
+ public boolean hasHelpInfo() {
+- return result.hasHelpInfo();
++ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo getHelpInfo() {
+- return result.getHelpInfo();
++ if (helpInfoBuilder_ == null) {
++ return helpInfo_;
++ } else {
++ return helpInfoBuilder_.getMessage();
++ }
+ }
+ public Builder setHelpInfo(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (helpInfoBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ helpInfo_ = value;
++ onChanged();
++ } else {
++ helpInfoBuilder_.setMessage(value);
+ }
+- result.hasHelpInfo = true;
+- result.helpInfo_ = value;
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+- public Builder setHelpInfo(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder builderForValue) {
+- result.hasHelpInfo = true;
+- result.helpInfo_ = builderForValue.build();
++ public Builder setHelpInfo(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder builderForValue) {
++ if (helpInfoBuilder_ == null) {
++ helpInfo_ = builderForValue.build();
++ onChanged();
++ } else {
++ helpInfoBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+ public Builder mergeHelpInfo(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo value) {
+- if (result.hasHelpInfo() &&
+- result.helpInfo_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance()) {
+- result.helpInfo_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.newBuilder(result.helpInfo_).mergeFrom(value).buildPartial();
++ if (helpInfoBuilder_ == null) {
++ if (((bitField0_ & 0x00000010) == 0x00000010) &&
++ helpInfo_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance()) {
++ helpInfo_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.newBuilder(helpInfo_).mergeFrom(value).buildPartial();
++ } else {
++ helpInfo_ = value;
++ }
++ onChanged();
+ } else {
+- result.helpInfo_ = value;
++ helpInfoBuilder_.mergeFrom(value);
+ }
+- result.hasHelpInfo = true;
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+ public Builder clearHelpInfo() {
+- result.hasHelpInfo = false;
+- result.helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
++ if (helpInfoBuilder_ == null) {
++ helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
++ onChanged();
++ } else {
++ helpInfoBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder getHelpInfoBuilder() {
++ bitField0_ |= 0x00000010;
++ onChanged();
++ return getHelpInfoFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder getHelpInfoOrBuilder() {
++ if (helpInfoBuilder_ != null) {
++ return helpInfoBuilder_.getMessageOrBuilder();
++ } else {
++ return helpInfo_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder>
++ getHelpInfoFieldBuilder() {
++ if (helpInfoBuilder_ == null) {
++ helpInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder>(
++ helpInfo_,
++ getParentForChildren(),
++ isClean());
++ helpInfo_ = null;
++ }
++ return helpInfoBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new LogData(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData)
+ }
+
++ public interface AddLogBranchOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // required uint32 parentLogHandle = 1;
++ boolean hasParentLogHandle();
++ int getParentLogHandle();
++
++ // required uint32 indexInParent = 2;
++ boolean hasIndexInParent();
++ int getIndexInParent();
++
++ // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
++ boolean hasLogData();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder();
++ }
+ public static final class AddLogBranch extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements AddLogBranchOrBuilder {
+ // Use AddLogBranch.newBuilder() to construct.
+- private AddLogBranch() {}
++ private AddLogBranch(Builder builder) {
++ super(builder);
++ }
++ private AddLogBranch(boolean noInit) {}
+
+- private static final AddLogBranch defaultInstance = new AddLogBranch();
++ private static final AddLogBranch defaultInstance;
+ public static AddLogBranch getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -2897,55 +4452,91 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // required uint32 parentLogHandle = 1;
+ public static final int PARENTLOGHANDLE_FIELD_NUMBER = 1;
+- private boolean hasParentLogHandle;
+- private int parentLogHandle_ = 0;
+- public boolean hasParentLogHandle() { return hasParentLogHandle; }
+- public int getParentLogHandle() { return parentLogHandle_; }
++ private int parentLogHandle_;
++ public boolean hasParentLogHandle() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public int getParentLogHandle() {
++ return parentLogHandle_;
++ }
+
+ // required uint32 indexInParent = 2;
+ public static final int INDEXINPARENT_FIELD_NUMBER = 2;
+- private boolean hasIndexInParent;
+- private int indexInParent_ = 0;
+- public boolean hasIndexInParent() { return hasIndexInParent; }
+- public int getIndexInParent() { return indexInParent_; }
++ private int indexInParent_;
++ public boolean hasIndexInParent() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public int getIndexInParent() {
++ return indexInParent_;
++ }
+
+ // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
+ public static final int LOGDATA_FIELD_NUMBER = 3;
+- private boolean hasLogData;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
+- public boolean hasLogData() { return hasLogData; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() { return logData_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_;
++ public boolean hasLogData() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() {
++ return logData_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder() {
++ return logData_;
++ }
+
++ private void initFields() {
++ parentLogHandle_ = 0;
++ indexInParent_ = 0;
++ logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasParentLogHandle) return false;
+- if (!hasIndexInParent) return false;
+- if (!hasLogData) return false;
+- if (!getLogData().isInitialized()) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasParentLogHandle()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ if (!hasIndexInParent()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ if (!hasLogData()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ if (!getLogData().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasParentLogHandle()) {
+- output.writeUInt32(1, getParentLogHandle());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeUInt32(1, parentLogHandle_);
+ }
+- if (hasIndexInParent()) {
+- output.writeUInt32(2, getIndexInParent());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeUInt32(2, indexInParent_);
+ }
+- if (hasLogData()) {
+- output.writeMessage(3, getLogData());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeMessage(3, logData_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -2956,43 +4547,50 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasParentLogHandle()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeUInt32Size(1, getParentLogHandle());
+- }
+- if (hasIndexInParent()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeUInt32Size(2, getIndexInParent());
+- }
+- if (hasLogData()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(3, getLogData());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeUInt32Size(1, parentLogHandle_);
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeUInt32Size(2, indexInParent_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(3, logData_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -3002,30 +4600,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -3038,37 +4645,63 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getLogDataFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ parentLogHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ indexInParent_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ if (logDataBuilder_ == null) {
++ logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ } else {
++ logDataBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch();
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDescriptor();
+ }
+@@ -3077,36 +4710,50 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.parentLogHandle_ = parentLogHandle_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ result.indexInParent_ = indexInParent_;
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ if (logDataBuilder_ == null) {
++ result.logData_ = logData_;
++ } else {
++ result.logData_ = logDataBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch returnMe = result;
+- result = null;
+- return returnMe;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch)other);
+ } else {
+@@ -3130,33 +4777,57 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasParentLogHandle()) {
++
++ return false;
++ }
++ if (!hasIndexInParent()) {
++
++ return false;
++ }
++ if (!hasLogData()) {
++
++ return false;
++ }
++ if (!getLogData().isInitialized()) {
++
++ return false;
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+- setParentLogHandle(input.readUInt32());
++ bitField0_ |= 0x00000001;
++ parentLogHandle_ = input.readUInt32();
+ break;
+ }
+ case 16: {
+- setIndexInParent(input.readUInt32());
++ bitField0_ |= 0x00000002;
++ indexInParent_ = input.readUInt32();
+ break;
+ }
+ case 26: {
+@@ -3172,96 +4843,177 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // required uint32 parentLogHandle = 1;
++ private int parentLogHandle_ ;
+ public boolean hasParentLogHandle() {
+- return result.hasParentLogHandle();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public int getParentLogHandle() {
+- return result.getParentLogHandle();
++ return parentLogHandle_;
+ }
+ public Builder setParentLogHandle(int value) {
+- result.hasParentLogHandle = true;
+- result.parentLogHandle_ = value;
++ bitField0_ |= 0x00000001;
++ parentLogHandle_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearParentLogHandle() {
+- result.hasParentLogHandle = false;
+- result.parentLogHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ parentLogHandle_ = 0;
++ onChanged();
+ return this;
+ }
+
+ // required uint32 indexInParent = 2;
++ private int indexInParent_ ;
+ public boolean hasIndexInParent() {
+- return result.hasIndexInParent();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public int getIndexInParent() {
+- return result.getIndexInParent();
++ return indexInParent_;
+ }
+ public Builder setIndexInParent(int value) {
+- result.hasIndexInParent = true;
+- result.indexInParent_ = value;
++ bitField0_ |= 0x00000002;
++ indexInParent_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearIndexInParent() {
+- result.hasIndexInParent = false;
+- result.indexInParent_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ indexInParent_ = 0;
++ onChanged();
+ return this;
+ }
+
+ // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder> logDataBuilder_;
+ public boolean hasLogData() {
+- return result.hasLogData();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() {
+- return result.getLogData();
++ if (logDataBuilder_ == null) {
++ return logData_;
++ } else {
++ return logDataBuilder_.getMessage();
++ }
+ }
+ public Builder setLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (logDataBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ logData_ = value;
++ onChanged();
++ } else {
++ logDataBuilder_.setMessage(value);
+ }
+- result.hasLogData = true;
+- result.logData_ = value;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+- public Builder setLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder builderForValue) {
+- result.hasLogData = true;
+- result.logData_ = builderForValue.build();
++ public Builder setLogData(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder builderForValue) {
++ if (logDataBuilder_ == null) {
++ logData_ = builderForValue.build();
++ onChanged();
++ } else {
++ logDataBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder mergeLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData value) {
+- if (result.hasLogData() &&
+- result.logData_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance()) {
+- result.logData_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder(result.logData_).mergeFrom(value).buildPartial();
++ if (logDataBuilder_ == null) {
++ if (((bitField0_ & 0x00000004) == 0x00000004) &&
++ logData_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance()) {
++ logData_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder(logData_).mergeFrom(value).buildPartial();
++ } else {
++ logData_ = value;
++ }
++ onChanged();
+ } else {
+- result.logData_ = value;
++ logDataBuilder_.mergeFrom(value);
+ }
+- result.hasLogData = true;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder clearLogData() {
+- result.hasLogData = false;
+- result.logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ if (logDataBuilder_ == null) {
++ logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ onChanged();
++ } else {
++ logDataBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder getLogDataBuilder() {
++ bitField0_ |= 0x00000004;
++ onChanged();
++ return getLogDataFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder() {
++ if (logDataBuilder_ != null) {
++ return logDataBuilder_.getMessageOrBuilder();
++ } else {
++ return logData_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder>
++ getLogDataFieldBuilder() {
++ if (logDataBuilder_ == null) {
++ logDataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder>(
++ logData_,
++ getParentForChildren(),
++ isClean());
++ logData_ = null;
++ }
++ return logDataBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new AddLogBranch(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch)
+ }
+
++ public interface AddLogEntryOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // required uint32 logHandle = 1;
++ boolean hasLogHandle();
++ int getLogHandle();
++
++ // required uint32 indexInLog = 2;
++ boolean hasIndexInLog();
++ int getIndexInLog();
++
++ // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
++ boolean hasLogData();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder();
++ }
+ public static final class AddLogEntry extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements AddLogEntryOrBuilder {
+ // Use AddLogEntry.newBuilder() to construct.
+- private AddLogEntry() {}
++ private AddLogEntry(Builder builder) {
++ super(builder);
++ }
++ private AddLogEntry(boolean noInit) {}
+
+- private static final AddLogEntry defaultInstance = new AddLogEntry();
++ private static final AddLogEntry defaultInstance;
+ public static AddLogEntry getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -3270,55 +5022,91 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // required uint32 logHandle = 1;
+ public static final int LOGHANDLE_FIELD_NUMBER = 1;
+- private boolean hasLogHandle;
+- private int logHandle_ = 0;
+- public boolean hasLogHandle() { return hasLogHandle; }
+- public int getLogHandle() { return logHandle_; }
++ private int logHandle_;
++ public boolean hasLogHandle() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public int getLogHandle() {
++ return logHandle_;
++ }
+
+ // required uint32 indexInLog = 2;
+ public static final int INDEXINLOG_FIELD_NUMBER = 2;
+- private boolean hasIndexInLog;
+- private int indexInLog_ = 0;
+- public boolean hasIndexInLog() { return hasIndexInLog; }
+- public int getIndexInLog() { return indexInLog_; }
++ private int indexInLog_;
++ public boolean hasIndexInLog() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public int getIndexInLog() {
++ return indexInLog_;
++ }
+
+ // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
+ public static final int LOGDATA_FIELD_NUMBER = 3;
+- private boolean hasLogData;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
+- public boolean hasLogData() { return hasLogData; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() { return logData_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_;
++ public boolean hasLogData() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() {
++ return logData_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder() {
++ return logData_;
++ }
+
++ private void initFields() {
++ logHandle_ = 0;
++ indexInLog_ = 0;
++ logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasLogHandle) return false;
+- if (!hasIndexInLog) return false;
+- if (!hasLogData) return false;
+- if (!getLogData().isInitialized()) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasLogHandle()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ if (!hasIndexInLog()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ if (!hasLogData()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ if (!getLogData().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasLogHandle()) {
+- output.writeUInt32(1, getLogHandle());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeUInt32(1, logHandle_);
+ }
+- if (hasIndexInLog()) {
+- output.writeUInt32(2, getIndexInLog());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeUInt32(2, indexInLog_);
+ }
+- if (hasLogData()) {
+- output.writeMessage(3, getLogData());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeMessage(3, logData_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -3329,43 +5117,50 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasLogHandle()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeUInt32Size(1, getLogHandle());
+- }
+- if (hasIndexInLog()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeUInt32Size(2, getIndexInLog());
+- }
+- if (hasLogData()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(3, getLogData());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeUInt32Size(1, logHandle_);
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeUInt32Size(2, indexInLog_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(3, logData_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -3375,30 +5170,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -3411,37 +5215,63 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getLogDataFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ logHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ indexInLog_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ if (logDataBuilder_ == null) {
++ logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ } else {
++ logDataBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry();
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDescriptor();
+ }
+@@ -3450,36 +5280,50 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.logHandle_ = logHandle_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ result.indexInLog_ = indexInLog_;
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry returnMe = result;
+- result = null;
+- return returnMe;
++ if (logDataBuilder_ == null) {
++ result.logData_ = logData_;
++ } else {
++ result.logData_ = logDataBuilder_.build();
++ }
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry)other);
+ } else {
+@@ -3503,33 +5347,57 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasLogHandle()) {
++
++ return false;
++ }
++ if (!hasIndexInLog()) {
++
++ return false;
++ }
++ if (!hasLogData()) {
++
++ return false;
++ }
++ if (!getLogData().isInitialized()) {
++
++ return false;
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+- setLogHandle(input.readUInt32());
++ bitField0_ |= 0x00000001;
++ logHandle_ = input.readUInt32();
+ break;
+ }
+ case 16: {
+- setIndexInLog(input.readUInt32());
++ bitField0_ |= 0x00000002;
++ indexInLog_ = input.readUInt32();
+ break;
+ }
+ case 26: {
+@@ -3545,96 +5413,168 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // required uint32 logHandle = 1;
++ private int logHandle_ ;
+ public boolean hasLogHandle() {
+- return result.hasLogHandle();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public int getLogHandle() {
+- return result.getLogHandle();
++ return logHandle_;
+ }
+ public Builder setLogHandle(int value) {
+- result.hasLogHandle = true;
+- result.logHandle_ = value;
++ bitField0_ |= 0x00000001;
++ logHandle_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearLogHandle() {
+- result.hasLogHandle = false;
+- result.logHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ logHandle_ = 0;
++ onChanged();
+ return this;
+ }
+
+ // required uint32 indexInLog = 2;
++ private int indexInLog_ ;
+ public boolean hasIndexInLog() {
+- return result.hasIndexInLog();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public int getIndexInLog() {
+- return result.getIndexInLog();
++ return indexInLog_;
+ }
+ public Builder setIndexInLog(int value) {
+- result.hasIndexInLog = true;
+- result.indexInLog_ = value;
++ bitField0_ |= 0x00000002;
++ indexInLog_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearIndexInLog() {
+- result.hasIndexInLog = false;
+- result.indexInLog_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ indexInLog_ = 0;
++ onChanged();
+ return this;
+ }
+
+ // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder> logDataBuilder_;
+ public boolean hasLogData() {
+- return result.hasLogData();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() {
+- return result.getLogData();
++ if (logDataBuilder_ == null) {
++ return logData_;
++ } else {
++ return logDataBuilder_.getMessage();
++ }
+ }
+ public Builder setLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (logDataBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ logData_ = value;
++ onChanged();
++ } else {
++ logDataBuilder_.setMessage(value);
+ }
+- result.hasLogData = true;
+- result.logData_ = value;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+- public Builder setLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder builderForValue) {
+- result.hasLogData = true;
+- result.logData_ = builderForValue.build();
++ public Builder setLogData(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder builderForValue) {
++ if (logDataBuilder_ == null) {
++ logData_ = builderForValue.build();
++ onChanged();
++ } else {
++ logDataBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder mergeLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData value) {
+- if (result.hasLogData() &&
+- result.logData_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance()) {
+- result.logData_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder(result.logData_).mergeFrom(value).buildPartial();
++ if (logDataBuilder_ == null) {
++ if (((bitField0_ & 0x00000004) == 0x00000004) &&
++ logData_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance()) {
++ logData_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder(logData_).mergeFrom(value).buildPartial();
++ } else {
++ logData_ = value;
++ }
++ onChanged();
+ } else {
+- result.logData_ = value;
++ logDataBuilder_.mergeFrom(value);
+ }
+- result.hasLogData = true;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder clearLogData() {
+- result.hasLogData = false;
+- result.logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ if (logDataBuilder_ == null) {
++ logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
++ onChanged();
++ } else {
++ logDataBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder getLogDataBuilder() {
++ bitField0_ |= 0x00000004;
++ onChanged();
++ return getLogDataFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder() {
++ if (logDataBuilder_ != null) {
++ return logDataBuilder_.getMessageOrBuilder();
++ } else {
++ return logData_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder>
++ getLogDataFieldBuilder() {
++ if (logDataBuilder_ == null) {
++ logDataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder>(
++ logData_,
++ getParentForChildren(),
++ isClean());
++ logData_ = null;
++ }
++ return logDataBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new AddLogEntry(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry)
+ }
+
++ public interface DisconnectLogOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // required uint32 logHandle = 1;
++ boolean hasLogHandle();
++ int getLogHandle();
++ }
+ public static final class DisconnectLog extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements DisconnectLogOrBuilder {
+ // Use DisconnectLog.newBuilder() to construct.
+- private DisconnectLog() {}
++ private DisconnectLog(Builder builder) {
++ super(builder);
++ }
++ private DisconnectLog(boolean noInit) {}
+
+- private static final DisconnectLog defaultInstance = new DisconnectLog();
++ private static final DisconnectLog defaultInstance;
+ public static DisconnectLog getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -3643,32 +5583,48 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // required uint32 logHandle = 1;
+ public static final int LOGHANDLE_FIELD_NUMBER = 1;
+- private boolean hasLogHandle;
+- private int logHandle_ = 0;
+- public boolean hasLogHandle() { return hasLogHandle; }
+- public int getLogHandle() { return logHandle_; }
++ private int logHandle_;
++ public boolean hasLogHandle() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public int getLogHandle() {
++ return logHandle_;
++ }
+
++ private void initFields() {
++ logHandle_ = 0;
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasLogHandle) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasLogHandle()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasLogHandle()) {
+- output.writeUInt32(1, getLogHandle());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeUInt32(1, logHandle_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -3679,35 +5635,42 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasLogHandle()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeUInt32Size(1, getLogHandle());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeUInt32Size(1, logHandle_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -3717,30 +5680,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -3753,37 +5725,54 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog();
++ super.clear();
++ logHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDescriptor();
+ }
+@@ -3792,36 +5781,38 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.logHandle_ = logHandle_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog)other);
+ } else {
+@@ -3839,70 +5830,102 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasLogHandle()) {
++
++ return false;
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+- setLogHandle(input.readUInt32());
++ bitField0_ |= 0x00000001;
++ logHandle_ = input.readUInt32();
+ break;
+ }
+ }
+ }
+ }
+
++ private int bitField0_;
+
+ // required uint32 logHandle = 1;
++ private int logHandle_ ;
+ public boolean hasLogHandle() {
+- return result.hasLogHandle();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public int getLogHandle() {
+- return result.getLogHandle();
++ return logHandle_;
+ }
+ public Builder setLogHandle(int value) {
+- result.hasLogHandle = true;
+- result.logHandle_ = value;
++ bitField0_ |= 0x00000001;
++ logHandle_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearLogHandle() {
+- result.hasLogHandle = false;
+- result.logHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ logHandle_ = 0;
++ onChanged();
+ return this;
+ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new DisconnectLog(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog)
+ }
+
++ public interface InitializeOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional string clientId = 1;
++ boolean hasClientId();
++ String getClientId();
++
++ // repeated string startupURLs = 2;
++ java.util.List<String> getStartupURLsList();
++ int getStartupURLsCount();
++ String getStartupURLs(int index);
++ }
+ public static final class Initialize extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements InitializeOrBuilder {
+ // Use Initialize.newBuilder() to construct.
+- private Initialize() {}
++ private Initialize(Builder builder) {
++ super(builder);
++ }
++ private Initialize(boolean noInit) {}
+
+- private static final Initialize defaultInstance = new Initialize();
++ private static final Initialize defaultInstance;
+ public static Initialize getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -3911,46 +5934,84 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // optional string clientId = 1;
+ public static final int CLIENTID_FIELD_NUMBER = 1;
+- private boolean hasClientId;
+- private java.lang.String clientId_ = "";
+- public boolean hasClientId() { return hasClientId; }
+- public java.lang.String getClientId() { return clientId_; }
++ private java.lang.Object clientId_;
++ public boolean hasClientId() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public String getClientId() {
++ java.lang.Object ref = clientId_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ clientId_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getClientIdBytes() {
++ java.lang.Object ref = clientId_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ clientId_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // repeated string startupURLs = 2;
+ public static final int STARTUPURLS_FIELD_NUMBER = 2;
+- private java.util.List<java.lang.String> startupURLs_ =
+- java.util.Collections.emptyList();
+- public java.util.List<java.lang.String> getStartupURLsList() {
++ private com.google.protobuf.LazyStringList startupURLs_;
++ public java.util.List<String>
++ getStartupURLsList() {
+ return startupURLs_;
+ }
+- public int getStartupURLsCount() { return startupURLs_.size(); }
+- public java.lang.String getStartupURLs(int index) {
++ public int getStartupURLsCount() {
++ return startupURLs_.size();
++ }
++ public String getStartupURLs(int index) {
+ return startupURLs_.get(index);
+ }
+
++ private void initFields() {
++ clientId_ = "";
++ startupURLs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasClientId()) {
+- output.writeString(1, getClientId());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeBytes(1, getClientIdBytes());
+ }
+- for (java.lang.String element : getStartupURLsList()) {
+- output.writeString(2, element);
++ for (int i = 0; i < startupURLs_.size(); i++) {
++ output.writeBytes(2, startupURLs_.getByteString(i));
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -3961,15 +6022,15 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasClientId()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(1, getClientId());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(1, getClientIdBytes());
+ }
+ {
+ int dataSize = 0;
+- for (java.lang.String element : getStartupURLsList()) {
+- dataSize += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSizeNoTag(element);
++ for (int i = 0; i < startupURLs_.size(); i++) {
++ dataSize += com.google.protobuf.CodedOutputStream
++ .computeBytesSizeNoTag(startupURLs_.getByteString(i));
+ }
+ size += dataSize;
+ size += 1 * getStartupURLsList().size();
+@@ -3979,26 +6040,33 @@ public final class RemoteMessageProto {
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -4008,30 +6076,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -4044,37 +6121,56 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize();
++ super.clear();
++ clientId_ = "";
++ bitField0_ = (bitField0_ & ~0x00000001);
++ startupURLs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDescriptor();
+ }
+@@ -4083,40 +6179,44 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- if (result.startupURLs_ != java.util.Collections.EMPTY_LIST) {
+- result.startupURLs_ =
+- java.util.Collections.unmodifiableList(result.startupURLs_);
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.clientId_ = clientId_;
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ startupURLs_ = new com.google.protobuf.UnmodifiableLazyStringList(
++ startupURLs_);
++ bitField0_ = (bitField0_ & ~0x00000002);
++ }
++ result.startupURLs_ = startupURLs_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize)other);
+ } else {
+@@ -4131,207 +6231,319 @@ public final class RemoteMessageProto {
+ setClientId(other.getClientId());
+ }
+ if (!other.startupURLs_.isEmpty()) {
+- if (result.startupURLs_.isEmpty()) {
+- result.startupURLs_ = new java.util.ArrayList<java.lang.String>();
++ if (startupURLs_.isEmpty()) {
++ startupURLs_ = other.startupURLs_;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ } else {
++ ensureStartupURLsIsMutable();
++ startupURLs_.addAll(other.startupURLs_);
+ }
+- result.startupURLs_.addAll(other.startupURLs_);
++ onChanged();
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+- setClientId(input.readString());
++ bitField0_ |= 0x00000001;
++ clientId_ = input.readBytes();
+ break;
+ }
+ case 18: {
+- addStartupURLs(input.readString());
++ ensureStartupURLsIsMutable();
++ startupURLs_.add(input.readBytes());
+ break;
+ }
+ }
+ }
+ }
+
++ private int bitField0_;
+
+ // optional string clientId = 1;
++ private java.lang.Object clientId_ = "";
+ public boolean hasClientId() {
+- return result.hasClientId();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+- public java.lang.String getClientId() {
+- return result.getClientId();
++ public String getClientId() {
++ java.lang.Object ref = clientId_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ clientId_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setClientId(java.lang.String value) {
++ public Builder setClientId(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasClientId = true;
+- result.clientId_ = value;
++ bitField0_ |= 0x00000001;
++ clientId_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearClientId() {
+- result.hasClientId = false;
+- result.clientId_ = getDefaultInstance().getClientId();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ clientId_ = getDefaultInstance().getClientId();
++ onChanged();
+ return this;
+ }
++ void setClientId(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000001;
++ clientId_ = value;
++ onChanged();
++ }
+
+ // repeated string startupURLs = 2;
+- public java.util.List<java.lang.String> getStartupURLsList() {
+- return java.util.Collections.unmodifiableList(result.startupURLs_);
++ private com.google.protobuf.LazyStringList startupURLs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
++ private void ensureStartupURLsIsMutable() {
++ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
++ startupURLs_ = new com.google.protobuf.LazyStringArrayList(startupURLs_);
++ bitField0_ |= 0x00000002;
++ }
++ }
++ public java.util.List<String>
++ getStartupURLsList() {
++ return java.util.Collections.unmodifiableList(startupURLs_);
+ }
+ public int getStartupURLsCount() {
+- return result.getStartupURLsCount();
++ return startupURLs_.size();
+ }
+- public java.lang.String getStartupURLs(int index) {
+- return result.getStartupURLs(index);
++ public String getStartupURLs(int index) {
++ return startupURLs_.get(index);
+ }
+- public Builder setStartupURLs(int index, java.lang.String value) {
++ public Builder setStartupURLs(
++ int index, String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.startupURLs_.set(index, value);
++ ensureStartupURLsIsMutable();
++ startupURLs_.set(index, value);
++ onChanged();
+ return this;
+ }
+- public Builder addStartupURLs(java.lang.String value) {
++ public Builder addStartupURLs(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- if (result.startupURLs_.isEmpty()) {
+- result.startupURLs_ = new java.util.ArrayList<java.lang.String>();
+- }
+- result.startupURLs_.add(value);
++ ensureStartupURLsIsMutable();
++ startupURLs_.add(value);
++ onChanged();
+ return this;
+ }
+ public Builder addAllStartupURLs(
+- java.lang.Iterable<? extends java.lang.String> values) {
+- if (result.startupURLs_.isEmpty()) {
+- result.startupURLs_ = new java.util.ArrayList<java.lang.String>();
+- }
+- super.addAll(values, result.startupURLs_);
++ java.lang.Iterable<String> values) {
++ ensureStartupURLsIsMutable();
++ super.addAll(values, startupURLs_);
++ onChanged();
+ return this;
+ }
+ public Builder clearStartupURLs() {
+- result.startupURLs_ = java.util.Collections.emptyList();
++ startupURLs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ onChanged();
+ return this;
+ }
++ void addStartupURLs(com.google.protobuf.ByteString value) {
++ ensureStartupURLsIsMutable();
++ startupURLs_.add(value);
++ onChanged();
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new Initialize(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize)
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;
+ public static final int REQUESTTYPE_FIELD_NUMBER = 1;
+- private boolean hasRequestType;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
+- public boolean hasRequestType() { return hasRequestType; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getRequestType() { return requestType_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType requestType_;
++ public boolean hasRequestType() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getRequestType() {
++ return requestType_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;
+ public static final int CAPABILITYEXCHANGE_FIELD_NUMBER = 2;
+- private boolean hasCapabilityExchange;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
+- public boolean hasCapabilityExchange() { return hasCapabilityExchange; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange getCapabilityExchange() { return capabilityExchange_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange_;
++ public boolean hasCapabilityExchange() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange getCapabilityExchange() {
++ return capabilityExchange_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
++ return capabilityExchange_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;
+ public static final int ADDLOG_FIELD_NUMBER = 3;
+- private boolean hasAddLog;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
+- public boolean hasAddLog() { return hasAddLog; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog getAddLog() { return addLog_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog addLog_;
++ public boolean hasAddLog() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog getAddLog() {
++ return addLog_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder getAddLogOrBuilder() {
++ return addLog_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;
+ public static final int ADDLOGBRANCH_FIELD_NUMBER = 4;
+- private boolean hasAddLogBranch;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
+- public boolean hasAddLogBranch() { return hasAddLogBranch; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch getAddLogBranch() { return addLogBranch_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch addLogBranch_;
++ public boolean hasAddLogBranch() {
++ return ((bitField0_ & 0x00000008) == 0x00000008);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch getAddLogBranch() {
++ return addLogBranch_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder getAddLogBranchOrBuilder() {
++ return addLogBranch_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;
+ public static final int ADDLOGENTRY_FIELD_NUMBER = 5;
+- private boolean hasAddLogEntry;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
+- public boolean hasAddLogEntry() { return hasAddLogEntry; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry getAddLogEntry() { return addLogEntry_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry addLogEntry_;
++ public boolean hasAddLogEntry() {
++ return ((bitField0_ & 0x00000010) == 0x00000010);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry getAddLogEntry() {
++ return addLogEntry_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder getAddLogEntryOrBuilder() {
++ return addLogEntry_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;
+ public static final int DISCONNECTLOG_FIELD_NUMBER = 6;
+- private boolean hasDisconnectLog;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
+- public boolean hasDisconnectLog() { return hasDisconnectLog; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog getDisconnectLog() { return disconnectLog_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog disconnectLog_;
++ public boolean hasDisconnectLog() {
++ return ((bitField0_ & 0x00000020) == 0x00000020);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog getDisconnectLog() {
++ return disconnectLog_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder getDisconnectLogOrBuilder() {
++ return disconnectLog_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;
+ public static final int INITIALIZE_FIELD_NUMBER = 7;
+- private boolean hasInitialize;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
+- public boolean hasInitialize() { return hasInitialize; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize getInitialize() { return initialize_; }
+-
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize initialize_;
++ public boolean hasInitialize() {
++ return ((bitField0_ & 0x00000040) == 0x00000040);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize getInitialize() {
++ return initialize_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder getInitializeOrBuilder() {
++ return initialize_;
++ }
++
++ private void initFields() {
++ requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
++ addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
++ addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
++ addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
++ disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
++ initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
+ if (hasAddLog()) {
+- if (!getAddLog().isInitialized()) return false;
++ if (!getAddLog().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
+ if (hasAddLogBranch()) {
+- if (!getAddLogBranch().isInitialized()) return false;
++ if (!getAddLogBranch().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
+ if (hasAddLogEntry()) {
+- if (!getAddLogEntry().isInitialized()) return false;
++ if (!getAddLogEntry().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
+ if (hasDisconnectLog()) {
+- if (!getDisconnectLog().isInitialized()) return false;
++ if (!getDisconnectLog().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasRequestType()) {
+- output.writeEnum(1, getRequestType().getNumber());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeEnum(1, requestType_.getNumber());
+ }
+- if (hasCapabilityExchange()) {
+- output.writeMessage(2, getCapabilityExchange());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeMessage(2, capabilityExchange_);
+ }
+- if (hasAddLog()) {
+- output.writeMessage(3, getAddLog());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeMessage(3, addLog_);
+ }
+- if (hasAddLogBranch()) {
+- output.writeMessage(4, getAddLogBranch());
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ output.writeMessage(4, addLogBranch_);
+ }
+- if (hasAddLogEntry()) {
+- output.writeMessage(5, getAddLogEntry());
++ if (((bitField0_ & 0x00000010) == 0x00000010)) {
++ output.writeMessage(5, addLogEntry_);
+ }
+- if (hasDisconnectLog()) {
+- output.writeMessage(6, getDisconnectLog());
++ if (((bitField0_ & 0x00000020) == 0x00000020)) {
++ output.writeMessage(6, disconnectLog_);
+ }
+- if (hasInitialize()) {
+- output.writeMessage(7, getInitialize());
++ if (((bitField0_ & 0x00000040) == 0x00000040)) {
++ output.writeMessage(7, initialize_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -4342,59 +6554,66 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasRequestType()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(1, getRequestType().getNumber());
+- }
+- if (hasCapabilityExchange()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, getCapabilityExchange());
+- }
+- if (hasAddLog()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(3, getAddLog());
+- }
+- if (hasAddLogBranch()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(4, getAddLogBranch());
+- }
+- if (hasAddLogEntry()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(5, getAddLogEntry());
+- }
+- if (hasDisconnectLog()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(6, getDisconnectLog());
+- }
+- if (hasInitialize()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(7, getInitialize());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(1, requestType_.getNumber());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, capabilityExchange_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(3, addLog_);
++ }
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(4, addLogBranch_);
++ }
++ if (((bitField0_ & 0x00000010) == 0x00000010)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(5, addLogEntry_);
++ }
++ if (((bitField0_ & 0x00000020) == 0x00000020)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(6, disconnectLog_);
++ }
++ if (((bitField0_ & 0x00000040) == 0x00000040)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(7, initialize_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -4404,30 +6623,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -4440,37 +6668,96 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getCapabilityExchangeFieldBuilder();
++ getAddLogFieldBuilder();
++ getAddLogBranchFieldBuilder();
++ getAddLogEntryFieldBuilder();
++ getDisconnectLogFieldBuilder();
++ getInitializeFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
++ } else {
++ capabilityExchangeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
++ if (addLogBuilder_ == null) {
++ addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
++ } else {
++ addLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
++ if (addLogBranchBuilder_ == null) {
++ addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
++ } else {
++ addLogBranchBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest();
++ bitField0_ = (bitField0_ & ~0x00000008);
++ if (addLogEntryBuilder_ == null) {
++ addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
++ } else {
++ addLogEntryBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000010);
++ if (disconnectLogBuilder_ == null) {
++ disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
++ } else {
++ disconnectLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000020);
++ if (initializeBuilder_ == null) {
++ initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
++ } else {
++ initializeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDescriptor();
+ }
+@@ -4479,36 +6766,86 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.requestType_ = requestType_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ if (capabilityExchangeBuilder_ == null) {
++ result.capabilityExchange_ = capabilityExchange_;
++ } else {
++ result.capabilityExchange_ = capabilityExchangeBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ if (addLogBuilder_ == null) {
++ result.addLog_ = addLog_;
++ } else {
++ result.addLog_ = addLogBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
++ to_bitField0_ |= 0x00000008;
++ }
++ if (addLogBranchBuilder_ == null) {
++ result.addLogBranch_ = addLogBranch_;
++ } else {
++ result.addLogBranch_ = addLogBranchBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
++ to_bitField0_ |= 0x00000010;
++ }
++ if (addLogEntryBuilder_ == null) {
++ result.addLogEntry_ = addLogEntry_;
++ } else {
++ result.addLogEntry_ = addLogEntryBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
++ to_bitField0_ |= 0x00000020;
++ }
++ if (disconnectLogBuilder_ == null) {
++ result.disconnectLog_ = disconnectLog_;
++ } else {
++ result.disconnectLog_ = disconnectLogBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest returnMe = result;
+- result = null;
+- return returnMe;
++ if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
++ to_bitField0_ |= 0x00000040;
++ }
++ if (initializeBuilder_ == null) {
++ result.initialize_ = initialize_;
++ } else {
++ result.initialize_ = initializeBuilder_.build();
++ }
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest)other);
+ } else {
+@@ -4544,23 +6881,53 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (hasAddLog()) {
++ if (!getAddLog().isInitialized()) {
++
++ return false;
++ }
++ }
++ if (hasAddLogBranch()) {
++ if (!getAddLogBranch().isInitialized()) {
++
++ return false;
++ }
++ }
++ if (hasAddLogEntry()) {
++ if (!getAddLogEntry().isInitialized()) {
++
++ return false;
++ }
++ }
++ if (hasDisconnectLog()) {
++ if (!getDisconnectLog().isInitialized()) {
++
++ return false;
++ }
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -4571,7 +6938,8 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(1, rawValue);
+ } else {
+- setRequestType(value);
++ bitField0_ |= 0x00000001;
++ requestType_ = value;
+ }
+ break;
+ }
+@@ -4633,266 +7001,610 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
+ public boolean hasRequestType() {
+- return result.hasRequestType();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getRequestType() {
+- return result.getRequestType();
++ return requestType_;
+ }
+ public Builder setRequestType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasRequestType = true;
+- result.requestType_ = value;
++ bitField0_ |= 0x00000001;
++ requestType_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearRequestType() {
+- result.hasRequestType = false;
+- result.requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
++ onChanged();
+ return this;
+ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder> capabilityExchangeBuilder_;
+ public boolean hasCapabilityExchange() {
+- return result.hasCapabilityExchange();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange getCapabilityExchange() {
+- return result.getCapabilityExchange();
++ if (capabilityExchangeBuilder_ == null) {
++ return capabilityExchange_;
++ } else {
++ return capabilityExchangeBuilder_.getMessage();
++ }
+ }
+ public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (capabilityExchangeBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ capabilityExchange_ = value;
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.setMessage(value);
+ }
+- result.hasCapabilityExchange = true;
+- result.capabilityExchange_ = value;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+- public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder builderForValue) {
+- result.hasCapabilityExchange = true;
+- result.capabilityExchange_ = builderForValue.build();
++ public Builder setCapabilityExchange(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder builderForValue) {
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = builderForValue.build();
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder mergeCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange value) {
+- if (result.hasCapabilityExchange() &&
+- result.capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance()) {
+- result.capabilityExchange_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.newBuilder(result.capabilityExchange_).mergeFrom(value).buildPartial();
++ if (capabilityExchangeBuilder_ == null) {
++ if (((bitField0_ & 0x00000002) == 0x00000002) &&
++ capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance()) {
++ capabilityExchange_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.newBuilder(capabilityExchange_).mergeFrom(value).buildPartial();
++ } else {
++ capabilityExchange_ = value;
++ }
++ onChanged();
+ } else {
+- result.capabilityExchange_ = value;
++ capabilityExchangeBuilder_.mergeFrom(value);
+ }
+- result.hasCapabilityExchange = true;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder clearCapabilityExchange() {
+- result.hasCapabilityExchange = false;
+- result.capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder getCapabilityExchangeBuilder() {
++ bitField0_ |= 0x00000002;
++ onChanged();
++ return getCapabilityExchangeFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
++ if (capabilityExchangeBuilder_ != null) {
++ return capabilityExchangeBuilder_.getMessageOrBuilder();
++ } else {
++ return capabilityExchange_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder>
++ getCapabilityExchangeFieldBuilder() {
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchangeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder>(
++ capabilityExchange_,
++ getParentForChildren(),
++ isClean());
++ capabilityExchange_ = null;
++ }
++ return capabilityExchangeBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder> addLogBuilder_;
+ public boolean hasAddLog() {
+- return result.hasAddLog();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog getAddLog() {
+- return result.getAddLog();
++ if (addLogBuilder_ == null) {
++ return addLog_;
++ } else {
++ return addLogBuilder_.getMessage();
++ }
+ }
+ public Builder setAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (addLogBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ addLog_ = value;
++ onChanged();
++ } else {
++ addLogBuilder_.setMessage(value);
+ }
+- result.hasAddLog = true;
+- result.addLog_ = value;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+- public Builder setAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder builderForValue) {
+- result.hasAddLog = true;
+- result.addLog_ = builderForValue.build();
++ public Builder setAddLog(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder builderForValue) {
++ if (addLogBuilder_ == null) {
++ addLog_ = builderForValue.build();
++ onChanged();
++ } else {
++ addLogBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder mergeAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog value) {
+- if (result.hasAddLog() &&
+- result.addLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance()) {
+- result.addLog_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.newBuilder(result.addLog_).mergeFrom(value).buildPartial();
++ if (addLogBuilder_ == null) {
++ if (((bitField0_ & 0x00000004) == 0x00000004) &&
++ addLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance()) {
++ addLog_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.newBuilder(addLog_).mergeFrom(value).buildPartial();
++ } else {
++ addLog_ = value;
++ }
++ onChanged();
+ } else {
+- result.addLog_ = value;
++ addLogBuilder_.mergeFrom(value);
+ }
+- result.hasAddLog = true;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder clearAddLog() {
+- result.hasAddLog = false;
+- result.addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
++ if (addLogBuilder_ == null) {
++ addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
++ onChanged();
++ } else {
++ addLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder getAddLogBuilder() {
++ bitField0_ |= 0x00000004;
++ onChanged();
++ return getAddLogFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder getAddLogOrBuilder() {
++ if (addLogBuilder_ != null) {
++ return addLogBuilder_.getMessageOrBuilder();
++ } else {
++ return addLog_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder>
++ getAddLogFieldBuilder() {
++ if (addLogBuilder_ == null) {
++ addLogBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder>(
++ addLog_,
++ getParentForChildren(),
++ isClean());
++ addLog_ = null;
++ }
++ return addLogBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder> addLogBranchBuilder_;
+ public boolean hasAddLogBranch() {
+- return result.hasAddLogBranch();
++ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch getAddLogBranch() {
+- return result.getAddLogBranch();
++ if (addLogBranchBuilder_ == null) {
++ return addLogBranch_;
++ } else {
++ return addLogBranchBuilder_.getMessage();
++ }
+ }
+ public Builder setAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (addLogBranchBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ addLogBranch_ = value;
++ onChanged();
++ } else {
++ addLogBranchBuilder_.setMessage(value);
+ }
+- result.hasAddLogBranch = true;
+- result.addLogBranch_ = value;
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+- public Builder setAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder builderForValue) {
+- result.hasAddLogBranch = true;
+- result.addLogBranch_ = builderForValue.build();
++ public Builder setAddLogBranch(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder builderForValue) {
++ if (addLogBranchBuilder_ == null) {
++ addLogBranch_ = builderForValue.build();
++ onChanged();
++ } else {
++ addLogBranchBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+ public Builder mergeAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch value) {
+- if (result.hasAddLogBranch() &&
+- result.addLogBranch_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance()) {
+- result.addLogBranch_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.newBuilder(result.addLogBranch_).mergeFrom(value).buildPartial();
++ if (addLogBranchBuilder_ == null) {
++ if (((bitField0_ & 0x00000008) == 0x00000008) &&
++ addLogBranch_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance()) {
++ addLogBranch_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.newBuilder(addLogBranch_).mergeFrom(value).buildPartial();
++ } else {
++ addLogBranch_ = value;
++ }
++ onChanged();
+ } else {
+- result.addLogBranch_ = value;
++ addLogBranchBuilder_.mergeFrom(value);
+ }
+- result.hasAddLogBranch = true;
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+ public Builder clearAddLogBranch() {
+- result.hasAddLogBranch = false;
+- result.addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
++ if (addLogBranchBuilder_ == null) {
++ addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
++ onChanged();
++ } else {
++ addLogBranchBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder getAddLogBranchBuilder() {
++ bitField0_ |= 0x00000008;
++ onChanged();
++ return getAddLogBranchFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder getAddLogBranchOrBuilder() {
++ if (addLogBranchBuilder_ != null) {
++ return addLogBranchBuilder_.getMessageOrBuilder();
++ } else {
++ return addLogBranch_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder>
++ getAddLogBranchFieldBuilder() {
++ if (addLogBranchBuilder_ == null) {
++ addLogBranchBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder>(
++ addLogBranch_,
++ getParentForChildren(),
++ isClean());
++ addLogBranch_ = null;
++ }
++ return addLogBranchBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder> addLogEntryBuilder_;
+ public boolean hasAddLogEntry() {
+- return result.hasAddLogEntry();
++ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry getAddLogEntry() {
+- return result.getAddLogEntry();
++ if (addLogEntryBuilder_ == null) {
++ return addLogEntry_;
++ } else {
++ return addLogEntryBuilder_.getMessage();
++ }
+ }
+ public Builder setAddLogEntry(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (addLogEntryBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ addLogEntry_ = value;
++ onChanged();
++ } else {
++ addLogEntryBuilder_.setMessage(value);
+ }
+- result.hasAddLogEntry = true;
+- result.addLogEntry_ = value;
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+- public Builder setAddLogEntry(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder builderForValue) {
+- result.hasAddLogEntry = true;
+- result.addLogEntry_ = builderForValue.build();
++ public Builder setAddLogEntry(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder builderForValue) {
++ if (addLogEntryBuilder_ == null) {
++ addLogEntry_ = builderForValue.build();
++ onChanged();
++ } else {
++ addLogEntryBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+ public Builder mergeAddLogEntry(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry value) {
+- if (result.hasAddLogEntry() &&
+- result.addLogEntry_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance()) {
+- result.addLogEntry_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.newBuilder(result.addLogEntry_).mergeFrom(value).buildPartial();
++ if (addLogEntryBuilder_ == null) {
++ if (((bitField0_ & 0x00000010) == 0x00000010) &&
++ addLogEntry_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance()) {
++ addLogEntry_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.newBuilder(addLogEntry_).mergeFrom(value).buildPartial();
++ } else {
++ addLogEntry_ = value;
++ }
++ onChanged();
+ } else {
+- result.addLogEntry_ = value;
++ addLogEntryBuilder_.mergeFrom(value);
+ }
+- result.hasAddLogEntry = true;
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+ public Builder clearAddLogEntry() {
+- result.hasAddLogEntry = false;
+- result.addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
++ if (addLogEntryBuilder_ == null) {
++ addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
++ onChanged();
++ } else {
++ addLogEntryBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder getAddLogEntryBuilder() {
++ bitField0_ |= 0x00000010;
++ onChanged();
++ return getAddLogEntryFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder getAddLogEntryOrBuilder() {
++ if (addLogEntryBuilder_ != null) {
++ return addLogEntryBuilder_.getMessageOrBuilder();
++ } else {
++ return addLogEntry_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder>
++ getAddLogEntryFieldBuilder() {
++ if (addLogEntryBuilder_ == null) {
++ addLogEntryBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder>(
++ addLogEntry_,
++ getParentForChildren(),
++ isClean());
++ addLogEntry_ = null;
++ }
++ return addLogEntryBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder> disconnectLogBuilder_;
+ public boolean hasDisconnectLog() {
+- return result.hasDisconnectLog();
++ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog getDisconnectLog() {
+- return result.getDisconnectLog();
++ if (disconnectLogBuilder_ == null) {
++ return disconnectLog_;
++ } else {
++ return disconnectLogBuilder_.getMessage();
++ }
+ }
+ public Builder setDisconnectLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (disconnectLogBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ disconnectLog_ = value;
++ onChanged();
++ } else {
++ disconnectLogBuilder_.setMessage(value);
+ }
+- result.hasDisconnectLog = true;
+- result.disconnectLog_ = value;
++ bitField0_ |= 0x00000020;
+ return this;
+ }
+- public Builder setDisconnectLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder builderForValue) {
+- result.hasDisconnectLog = true;
+- result.disconnectLog_ = builderForValue.build();
++ public Builder setDisconnectLog(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder builderForValue) {
++ if (disconnectLogBuilder_ == null) {
++ disconnectLog_ = builderForValue.build();
++ onChanged();
++ } else {
++ disconnectLogBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000020;
+ return this;
+ }
+ public Builder mergeDisconnectLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog value) {
+- if (result.hasDisconnectLog() &&
+- result.disconnectLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance()) {
+- result.disconnectLog_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.newBuilder(result.disconnectLog_).mergeFrom(value).buildPartial();
++ if (disconnectLogBuilder_ == null) {
++ if (((bitField0_ & 0x00000020) == 0x00000020) &&
++ disconnectLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance()) {
++ disconnectLog_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.newBuilder(disconnectLog_).mergeFrom(value).buildPartial();
++ } else {
++ disconnectLog_ = value;
++ }
++ onChanged();
+ } else {
+- result.disconnectLog_ = value;
++ disconnectLogBuilder_.mergeFrom(value);
+ }
+- result.hasDisconnectLog = true;
++ bitField0_ |= 0x00000020;
+ return this;
+ }
+ public Builder clearDisconnectLog() {
+- result.hasDisconnectLog = false;
+- result.disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
++ if (disconnectLogBuilder_ == null) {
++ disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
++ onChanged();
++ } else {
++ disconnectLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000020);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder getDisconnectLogBuilder() {
++ bitField0_ |= 0x00000020;
++ onChanged();
++ return getDisconnectLogFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder getDisconnectLogOrBuilder() {
++ if (disconnectLogBuilder_ != null) {
++ return disconnectLogBuilder_.getMessageOrBuilder();
++ } else {
++ return disconnectLog_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder>
++ getDisconnectLogFieldBuilder() {
++ if (disconnectLogBuilder_ == null) {
++ disconnectLogBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder>(
++ disconnectLog_,
++ getParentForChildren(),
++ isClean());
++ disconnectLog_ = null;
++ }
++ return disconnectLogBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder> initializeBuilder_;
+ public boolean hasInitialize() {
+- return result.hasInitialize();
++ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize getInitialize() {
+- return result.getInitialize();
++ if (initializeBuilder_ == null) {
++ return initialize_;
++ } else {
++ return initializeBuilder_.getMessage();
++ }
+ }
+ public Builder setInitialize(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (initializeBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ initialize_ = value;
++ onChanged();
++ } else {
++ initializeBuilder_.setMessage(value);
+ }
+- result.hasInitialize = true;
+- result.initialize_ = value;
++ bitField0_ |= 0x00000040;
+ return this;
+ }
+- public Builder setInitialize(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder builderForValue) {
+- result.hasInitialize = true;
+- result.initialize_ = builderForValue.build();
++ public Builder setInitialize(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder builderForValue) {
++ if (initializeBuilder_ == null) {
++ initialize_ = builderForValue.build();
++ onChanged();
++ } else {
++ initializeBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000040;
+ return this;
+ }
+ public Builder mergeInitialize(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize value) {
+- if (result.hasInitialize() &&
+- result.initialize_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance()) {
+- result.initialize_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.newBuilder(result.initialize_).mergeFrom(value).buildPartial();
++ if (initializeBuilder_ == null) {
++ if (((bitField0_ & 0x00000040) == 0x00000040) &&
++ initialize_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance()) {
++ initialize_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.newBuilder(initialize_).mergeFrom(value).buildPartial();
++ } else {
++ initialize_ = value;
++ }
++ onChanged();
+ } else {
+- result.initialize_ = value;
++ initializeBuilder_.mergeFrom(value);
+ }
+- result.hasInitialize = true;
++ bitField0_ |= 0x00000040;
+ return this;
+ }
+ public Builder clearInitialize() {
+- result.hasInitialize = false;
+- result.initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
++ if (initializeBuilder_ == null) {
++ initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
++ onChanged();
++ } else {
++ initializeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder getInitializeBuilder() {
++ bitField0_ |= 0x00000040;
++ onChanged();
++ return getInitializeFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder getInitializeOrBuilder() {
++ if (initializeBuilder_ != null) {
++ return initializeBuilder_.getMessageOrBuilder();
++ } else {
++ return initialize_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder>
++ getInitializeFieldBuilder() {
++ if (initializeBuilder_ == null) {
++ initializeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder>(
++ initialize_,
++ getParentForChildren(),
++ isClean());
++ initialize_ = null;
++ }
++ return initializeBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new ViewerRequest(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest)
+ }
+
++ public interface DevModeRequestOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;
++ boolean hasRequestType();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getRequestType();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;
++ boolean hasCapabilityExchange();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange getCapabilityExchange();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;
++ boolean hasRestartWebServer();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer getRestartWebServer();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder getRestartWebServerOrBuilder();
++ }
+ public static final class DevModeRequest extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements DevModeRequestOrBuilder {
+ // Use DevModeRequest.newBuilder() to construct.
+- private DevModeRequest() {}
++ private DevModeRequest(Builder builder) {
++ super(builder);
++ }
++ private DevModeRequest(boolean noInit) {}
+
+- private static final DevModeRequest defaultInstance = new DevModeRequest();
++ private static final DevModeRequest defaultInstance;
+ public static DevModeRequest getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -4901,22 +7613,25 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_fieldAccessorTable;
+ }
+
+ public enum RequestType
+- implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
++ implements com.google.protobuf.ProtocolMessageEnum {
+ CAPABILITY_EXCHANGE(0, 0),
+ RESTART_WEB_SERVER(1, 1),
+ ;
+
++ public static final int CAPABILITY_EXCHANGE_VALUE = 0;
++ public static final int RESTART_WEB_SERVER_VALUE = 1;
++
+
+ public final int getNumber() { return value; }
+
+@@ -4928,27 +7643,27 @@ public final class RemoteMessageProto {
+ }
+ }
+
+- public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>
++ public static com.google.protobuf.Internal.EnumLiteMap<RequestType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+- private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>
++ private static com.google.protobuf.Internal.EnumLiteMap<RequestType>
+ internalValueMap =
+- new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>() {
++ new com.google.protobuf.Internal.EnumLiteMap<RequestType>() {
+ public RequestType findValueByNumber(int number) {
+- return RequestType.valueOf(number)
+- ; }
++ return RequestType.valueOf(number);
++ }
+ };
+
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
++ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(index);
+ }
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+- public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDescriptor().getEnumTypes().get(0);
+ }
+@@ -4956,32 +7671,40 @@ public final class RemoteMessageProto {
+ private static final RequestType[] VALUES = {
+ CAPABILITY_EXCHANGE, RESTART_WEB_SERVER,
+ };
++
+ public static RequestType valueOf(
+- com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
++ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ return VALUES[desc.getIndex()];
+ }
++
+ private final int index;
+ private final int value;
++
+ private RequestType(int index, int value) {
+ this.index = index;
+ this.value = value;
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
+- }
++ // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType)
+ }
+
++ public interface CapabilityExchangeOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++ }
+ public static final class CapabilityExchange extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements CapabilityExchangeOrBuilder {
+ // Use CapabilityExchange.newBuilder() to construct.
+- private CapabilityExchange() {}
++ private CapabilityExchange(Builder builder) {
++ super(builder);
++ }
++ private CapabilityExchange(boolean noInit) {}
+
+- private static final CapabilityExchange defaultInstance = new CapabilityExchange();
++ private static final CapabilityExchange defaultInstance;
+ public static CapabilityExchange getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -4990,22 +7713,30 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_fieldAccessorTable;
+ }
+
++ private void initFields() {
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
++ getSerializedSize();
+ getUnknownFields().writeTo(output);
+ }
+
+@@ -5020,26 +7751,33 @@ public final class RemoteMessageProto {
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -5049,30 +7787,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -5085,37 +7832,52 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange();
++ super.clear();
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDescriptor();
+ }
+@@ -5124,36 +7886,31 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange(this);
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange)other);
+ } else {
+@@ -5168,23 +7925,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -5193,23 +7956,31 @@ public final class RemoteMessageProto {
+ }
+ }
+
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new CapabilityExchange(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange)
+ }
+
++ public interface RestartWebServerOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++ }
+ public static final class RestartWebServer extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements RestartWebServerOrBuilder {
+ // Use RestartWebServer.newBuilder() to construct.
+- private RestartWebServer() {}
++ private RestartWebServer(Builder builder) {
++ super(builder);
++ }
++ private RestartWebServer(boolean noInit) {}
+
+- private static final RestartWebServer defaultInstance = new RestartWebServer();
++ private static final RestartWebServer defaultInstance;
+ public static RestartWebServer getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -5218,22 +7989,30 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_fieldAccessorTable;
+ }
+
++ private void initFields() {
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
++ getSerializedSize();
+ getUnknownFields().writeTo(output);
+ }
+
+@@ -5248,26 +8027,33 @@ public final class RemoteMessageProto {
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -5277,30 +8063,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -5313,37 +8108,52 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer();
++ super.clear();
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDescriptor();
+ }
+@@ -5352,36 +8162,31 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer(this);
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer)other);
+ } else {
+@@ -5396,23 +8201,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -5421,52 +8232,80 @@ public final class RemoteMessageProto {
+ }
+ }
+
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new RestartWebServer(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer)
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;
+ public static final int REQUESTTYPE_FIELD_NUMBER = 1;
+- private boolean hasRequestType;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
+- public boolean hasRequestType() { return hasRequestType; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getRequestType() { return requestType_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType requestType_;
++ public boolean hasRequestType() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getRequestType() {
++ return requestType_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;
+ public static final int CAPABILITYEXCHANGE_FIELD_NUMBER = 2;
+- private boolean hasCapabilityExchange;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
+- public boolean hasCapabilityExchange() { return hasCapabilityExchange; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange getCapabilityExchange() { return capabilityExchange_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange_;
++ public boolean hasCapabilityExchange() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange getCapabilityExchange() {
++ return capabilityExchange_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
++ return capabilityExchange_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;
+ public static final int RESTARTWEBSERVER_FIELD_NUMBER = 3;
+- private boolean hasRestartWebServer;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
+- public boolean hasRestartWebServer() { return hasRestartWebServer; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer getRestartWebServer() { return restartWebServer_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer restartWebServer_;
++ public boolean hasRestartWebServer() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer getRestartWebServer() {
++ return restartWebServer_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder getRestartWebServerOrBuilder() {
++ return restartWebServer_;
++ }
+
++ private void initFields() {
++ requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
++ restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasRequestType()) {
+- output.writeEnum(1, getRequestType().getNumber());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeEnum(1, requestType_.getNumber());
+ }
+- if (hasCapabilityExchange()) {
+- output.writeMessage(2, getCapabilityExchange());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeMessage(2, capabilityExchange_);
+ }
+- if (hasRestartWebServer()) {
+- output.writeMessage(3, getRestartWebServer());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeMessage(3, restartWebServer_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -5477,43 +8316,50 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasRequestType()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(1, getRequestType().getNumber());
+- }
+- if (hasCapabilityExchange()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, getCapabilityExchange());
+- }
+- if (hasRestartWebServer()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(3, getRestartWebServer());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(1, requestType_.getNumber());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, capabilityExchange_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(3, restartWebServer_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -5523,30 +8369,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -5559,37 +8414,68 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getCapabilityExchangeFieldBuilder();
++ getRestartWebServerFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
++ } else {
++ capabilityExchangeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
++ if (restartWebServerBuilder_ == null) {
++ restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
++ } else {
++ restartWebServerBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest();
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDescriptor();
+ }
+@@ -5598,36 +8484,54 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.requestType_ = requestType_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ if (capabilityExchangeBuilder_ == null) {
++ result.capabilityExchange_ = capabilityExchange_;
++ } else {
++ result.capabilityExchange_ = capabilityExchangeBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest returnMe = result;
+- result = null;
+- return returnMe;
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ if (restartWebServerBuilder_ == null) {
++ result.restartWebServer_ = restartWebServer_;
++ } else {
++ result.restartWebServer_ = restartWebServerBuilder_.build();
++ }
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest)other);
+ } else {
+@@ -5651,23 +8555,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -5678,7 +8588,8 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(1, rawValue);
+ } else {
+- setRequestType(value);
++ bitField0_ |= 0x00000001;
++ requestType_ = value;
+ }
+ break;
+ }
+@@ -5704,150 +8615,291 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
+ public boolean hasRequestType() {
+- return result.hasRequestType();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getRequestType() {
+- return result.getRequestType();
++ return requestType_;
+ }
+ public Builder setRequestType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasRequestType = true;
+- result.requestType_ = value;
++ bitField0_ |= 0x00000001;
++ requestType_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearRequestType() {
+- result.hasRequestType = false;
+- result.requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
++ onChanged();
+ return this;
+ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder> capabilityExchangeBuilder_;
+ public boolean hasCapabilityExchange() {
+- return result.hasCapabilityExchange();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange getCapabilityExchange() {
+- return result.getCapabilityExchange();
++ if (capabilityExchangeBuilder_ == null) {
++ return capabilityExchange_;
++ } else {
++ return capabilityExchangeBuilder_.getMessage();
++ }
+ }
+ public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (capabilityExchangeBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ capabilityExchange_ = value;
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.setMessage(value);
+ }
+- result.hasCapabilityExchange = true;
+- result.capabilityExchange_ = value;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+- public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder builderForValue) {
+- result.hasCapabilityExchange = true;
+- result.capabilityExchange_ = builderForValue.build();
++ public Builder setCapabilityExchange(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder builderForValue) {
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = builderForValue.build();
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder mergeCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange value) {
+- if (result.hasCapabilityExchange() &&
+- result.capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance()) {
+- result.capabilityExchange_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.newBuilder(result.capabilityExchange_).mergeFrom(value).buildPartial();
++ if (capabilityExchangeBuilder_ == null) {
++ if (((bitField0_ & 0x00000002) == 0x00000002) &&
++ capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance()) {
++ capabilityExchange_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.newBuilder(capabilityExchange_).mergeFrom(value).buildPartial();
++ } else {
++ capabilityExchange_ = value;
++ }
++ onChanged();
+ } else {
+- result.capabilityExchange_ = value;
++ capabilityExchangeBuilder_.mergeFrom(value);
+ }
+- result.hasCapabilityExchange = true;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder clearCapabilityExchange() {
+- result.hasCapabilityExchange = false;
+- result.capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder getCapabilityExchangeBuilder() {
++ bitField0_ |= 0x00000002;
++ onChanged();
++ return getCapabilityExchangeFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
++ if (capabilityExchangeBuilder_ != null) {
++ return capabilityExchangeBuilder_.getMessageOrBuilder();
++ } else {
++ return capabilityExchange_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder>
++ getCapabilityExchangeFieldBuilder() {
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchangeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder>(
++ capabilityExchange_,
++ getParentForChildren(),
++ isClean());
++ capabilityExchange_ = null;
++ }
++ return capabilityExchangeBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder> restartWebServerBuilder_;
+ public boolean hasRestartWebServer() {
+- return result.hasRestartWebServer();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer getRestartWebServer() {
+- return result.getRestartWebServer();
++ if (restartWebServerBuilder_ == null) {
++ return restartWebServer_;
++ } else {
++ return restartWebServerBuilder_.getMessage();
++ }
+ }
+ public Builder setRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (restartWebServerBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ restartWebServer_ = value;
++ onChanged();
++ } else {
++ restartWebServerBuilder_.setMessage(value);
+ }
+- result.hasRestartWebServer = true;
+- result.restartWebServer_ = value;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+- public Builder setRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder builderForValue) {
+- result.hasRestartWebServer = true;
+- result.restartWebServer_ = builderForValue.build();
++ public Builder setRestartWebServer(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder builderForValue) {
++ if (restartWebServerBuilder_ == null) {
++ restartWebServer_ = builderForValue.build();
++ onChanged();
++ } else {
++ restartWebServerBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder mergeRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer value) {
+- if (result.hasRestartWebServer() &&
+- result.restartWebServer_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance()) {
+- result.restartWebServer_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.newBuilder(result.restartWebServer_).mergeFrom(value).buildPartial();
++ if (restartWebServerBuilder_ == null) {
++ if (((bitField0_ & 0x00000004) == 0x00000004) &&
++ restartWebServer_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance()) {
++ restartWebServer_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.newBuilder(restartWebServer_).mergeFrom(value).buildPartial();
++ } else {
++ restartWebServer_ = value;
++ }
++ onChanged();
+ } else {
+- result.restartWebServer_ = value;
++ restartWebServerBuilder_.mergeFrom(value);
+ }
+- result.hasRestartWebServer = true;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder clearRestartWebServer() {
+- result.hasRestartWebServer = false;
+- result.restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
++ if (restartWebServerBuilder_ == null) {
++ restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
++ onChanged();
++ } else {
++ restartWebServerBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder getRestartWebServerBuilder() {
++ bitField0_ |= 0x00000004;
++ onChanged();
++ return getRestartWebServerFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder getRestartWebServerOrBuilder() {
++ if (restartWebServerBuilder_ != null) {
++ return restartWebServerBuilder_.getMessageOrBuilder();
++ } else {
++ return restartWebServer_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder>
++ getRestartWebServerFieldBuilder() {
++ if (restartWebServerBuilder_ == null) {
++ restartWebServerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder>(
++ restartWebServer_,
++ getParentForChildren(),
++ isClean());
++ restartWebServer_ = null;
++ }
++ return restartWebServerBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new DevModeRequest(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest)
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;
+ public static final int SERVICETYPE_FIELD_NUMBER = 1;
+- private boolean hasServiceType;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
+- public boolean hasServiceType() { return hasServiceType; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType getServiceType() { return serviceType_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType serviceType_;
++ public boolean hasServiceType() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType getServiceType() {
++ return serviceType_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;
+ public static final int VIEWERREQUEST_FIELD_NUMBER = 2;
+- private boolean hasViewerRequest;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
+- public boolean hasViewerRequest() { return hasViewerRequest; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest getViewerRequest() { return viewerRequest_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest viewerRequest_;
++ public boolean hasViewerRequest() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest getViewerRequest() {
++ return viewerRequest_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder getViewerRequestOrBuilder() {
++ return viewerRequest_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;
+ public static final int DEVMODEREQUEST_FIELD_NUMBER = 3;
+- private boolean hasDevModeRequest;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
+- public boolean hasDevModeRequest() { return hasDevModeRequest; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest getDevModeRequest() { return devModeRequest_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest devModeRequest_;
++ public boolean hasDevModeRequest() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest getDevModeRequest() {
++ return devModeRequest_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder getDevModeRequestOrBuilder() {
++ return devModeRequest_;
++ }
+
++ private void initFields() {
++ serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
++ viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
++ devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
+ if (hasViewerRequest()) {
+- if (!getViewerRequest().isInitialized()) return false;
++ if (!getViewerRequest().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasServiceType()) {
+- output.writeEnum(1, getServiceType().getNumber());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeEnum(1, serviceType_.getNumber());
+ }
+- if (hasViewerRequest()) {
+- output.writeMessage(2, getViewerRequest());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeMessage(2, viewerRequest_);
+ }
+- if (hasDevModeRequest()) {
+- output.writeMessage(3, getDevModeRequest());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeMessage(3, devModeRequest_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -5858,43 +8910,50 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasServiceType()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(1, getServiceType().getNumber());
+- }
+- if (hasViewerRequest()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, getViewerRequest());
+- }
+- if (hasDevModeRequest()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(3, getDevModeRequest());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(1, serviceType_.getNumber());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, viewerRequest_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(3, devModeRequest_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -5904,30 +8963,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -5940,37 +9008,68 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getViewerRequestFieldBuilder();
++ getDevModeRequestFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ if (viewerRequestBuilder_ == null) {
++ viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
++ } else {
++ viewerRequestBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
++ if (devModeRequestBuilder_ == null) {
++ devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
++ } else {
++ devModeRequestBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request();
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDescriptor();
+ }
+@@ -5979,36 +9078,54 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.serviceType_ = serviceType_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ if (viewerRequestBuilder_ == null) {
++ result.viewerRequest_ = viewerRequest_;
++ } else {
++ result.viewerRequest_ = viewerRequestBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request returnMe = result;
+- result = null;
+- return returnMe;
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ if (devModeRequestBuilder_ == null) {
++ result.devModeRequest_ = devModeRequest_;
++ } else {
++ result.devModeRequest_ = devModeRequestBuilder_.build();
++ }
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request)other);
+ } else {
+@@ -6032,23 +9149,35 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (hasViewerRequest()) {
++ if (!getViewerRequest().isInitialized()) {
++
++ return false;
++ }
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -6059,7 +9188,8 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(1, rawValue);
+ } else {
+- setServiceType(value);
++ bitField0_ |= 0x00000001;
++ serviceType_ = value;
+ }
+ break;
+ }
+@@ -6085,118 +9215,246 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
+ public boolean hasServiceType() {
+- return result.hasServiceType();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType getServiceType() {
+- return result.getServiceType();
++ return serviceType_;
+ }
+ public Builder setServiceType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasServiceType = true;
+- result.serviceType_ = value;
++ bitField0_ |= 0x00000001;
++ serviceType_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearServiceType() {
+- result.hasServiceType = false;
+- result.serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
++ onChanged();
+ return this;
+ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder> viewerRequestBuilder_;
+ public boolean hasViewerRequest() {
+- return result.hasViewerRequest();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest getViewerRequest() {
+- return result.getViewerRequest();
++ if (viewerRequestBuilder_ == null) {
++ return viewerRequest_;
++ } else {
++ return viewerRequestBuilder_.getMessage();
++ }
+ }
+ public Builder setViewerRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (viewerRequestBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ viewerRequest_ = value;
++ onChanged();
++ } else {
++ viewerRequestBuilder_.setMessage(value);
+ }
+- result.hasViewerRequest = true;
+- result.viewerRequest_ = value;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+- public Builder setViewerRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder builderForValue) {
+- result.hasViewerRequest = true;
+- result.viewerRequest_ = builderForValue.build();
++ public Builder setViewerRequest(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder builderForValue) {
++ if (viewerRequestBuilder_ == null) {
++ viewerRequest_ = builderForValue.build();
++ onChanged();
++ } else {
++ viewerRequestBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder mergeViewerRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest value) {
+- if (result.hasViewerRequest() &&
+- result.viewerRequest_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance()) {
+- result.viewerRequest_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.newBuilder(result.viewerRequest_).mergeFrom(value).buildPartial();
++ if (viewerRequestBuilder_ == null) {
++ if (((bitField0_ & 0x00000002) == 0x00000002) &&
++ viewerRequest_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance()) {
++ viewerRequest_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.newBuilder(viewerRequest_).mergeFrom(value).buildPartial();
++ } else {
++ viewerRequest_ = value;
++ }
++ onChanged();
+ } else {
+- result.viewerRequest_ = value;
++ viewerRequestBuilder_.mergeFrom(value);
+ }
+- result.hasViewerRequest = true;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder clearViewerRequest() {
+- result.hasViewerRequest = false;
+- result.viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
++ if (viewerRequestBuilder_ == null) {
++ viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
++ onChanged();
++ } else {
++ viewerRequestBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder getViewerRequestBuilder() {
++ bitField0_ |= 0x00000002;
++ onChanged();
++ return getViewerRequestFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder getViewerRequestOrBuilder() {
++ if (viewerRequestBuilder_ != null) {
++ return viewerRequestBuilder_.getMessageOrBuilder();
++ } else {
++ return viewerRequest_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder>
++ getViewerRequestFieldBuilder() {
++ if (viewerRequestBuilder_ == null) {
++ viewerRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder>(
++ viewerRequest_,
++ getParentForChildren(),
++ isClean());
++ viewerRequest_ = null;
++ }
++ return viewerRequestBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder> devModeRequestBuilder_;
+ public boolean hasDevModeRequest() {
+- return result.hasDevModeRequest();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest getDevModeRequest() {
+- return result.getDevModeRequest();
++ if (devModeRequestBuilder_ == null) {
++ return devModeRequest_;
++ } else {
++ return devModeRequestBuilder_.getMessage();
++ }
+ }
+ public Builder setDevModeRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (devModeRequestBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ devModeRequest_ = value;
++ onChanged();
++ } else {
++ devModeRequestBuilder_.setMessage(value);
+ }
+- result.hasDevModeRequest = true;
+- result.devModeRequest_ = value;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+- public Builder setDevModeRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder builderForValue) {
+- result.hasDevModeRequest = true;
+- result.devModeRequest_ = builderForValue.build();
++ public Builder setDevModeRequest(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder builderForValue) {
++ if (devModeRequestBuilder_ == null) {
++ devModeRequest_ = builderForValue.build();
++ onChanged();
++ } else {
++ devModeRequestBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder mergeDevModeRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest value) {
+- if (result.hasDevModeRequest() &&
+- result.devModeRequest_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance()) {
+- result.devModeRequest_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.newBuilder(result.devModeRequest_).mergeFrom(value).buildPartial();
++ if (devModeRequestBuilder_ == null) {
++ if (((bitField0_ & 0x00000004) == 0x00000004) &&
++ devModeRequest_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance()) {
++ devModeRequest_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.newBuilder(devModeRequest_).mergeFrom(value).buildPartial();
++ } else {
++ devModeRequest_ = value;
++ }
++ onChanged();
+ } else {
+- result.devModeRequest_ = value;
++ devModeRequestBuilder_.mergeFrom(value);
+ }
+- result.hasDevModeRequest = true;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder clearDevModeRequest() {
+- result.hasDevModeRequest = false;
+- result.devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
++ if (devModeRequestBuilder_ == null) {
++ devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
++ onChanged();
++ } else {
++ devModeRequestBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder getDevModeRequestBuilder() {
++ bitField0_ |= 0x00000004;
++ onChanged();
++ return getDevModeRequestFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder getDevModeRequestOrBuilder() {
++ if (devModeRequestBuilder_ != null) {
++ return devModeRequestBuilder_.getMessageOrBuilder();
++ } else {
++ return devModeRequest_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder>
++ getDevModeRequestFieldBuilder() {
++ if (devModeRequestBuilder_ == null) {
++ devModeRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder>(
++ devModeRequest_,
++ getParentForChildren(),
++ isClean());
++ devModeRequest_ = null;
++ }
++ return devModeRequestBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new Request(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request)
+ }
+
++ public interface ResponseOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;
++ boolean hasViewerResponse();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse getViewerResponse();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder getViewerResponseOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;
++ boolean hasDevModeResponse();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse getDevModeResponse();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder getDevModeResponseOrBuilder();
++ }
+ public static final class Response extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements ResponseOrBuilder {
+ // Use Response.newBuilder() to construct.
+- private Response() {}
++ private Response(Builder builder) {
++ super(builder);
++ }
++ private Response(boolean noInit) {}
+
+- private static final Response defaultInstance = new Response();
++ private static final Response defaultInstance;
+ public static Response getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -6205,22 +9463,48 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_fieldAccessorTable;
+ }
+
++ public interface ViewerResponseOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;
++ boolean hasResponseType();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType getResponseType();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;
++ boolean hasCapabilityExchange();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange getCapabilityExchange();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;
++ boolean hasAddLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog getAddLog();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder getAddLogOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;
++ boolean hasAddLogBranch();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch getAddLogBranch();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder getAddLogBranchOrBuilder();
++ }
+ public static final class ViewerResponse extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements ViewerResponseOrBuilder {
+ // Use ViewerResponse.newBuilder() to construct.
+- private ViewerResponse() {}
++ private ViewerResponse(Builder builder) {
++ super(builder);
++ }
++ private ViewerResponse(boolean noInit) {}
+
+- private static final ViewerResponse defaultInstance = new ViewerResponse();
++ private static final ViewerResponse defaultInstance;
+ public static ViewerResponse getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -6229,23 +9513,27 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_fieldAccessorTable;
+ }
+
+ public enum ResponseType
+- implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
++ implements com.google.protobuf.ProtocolMessageEnum {
+ CAPABILITY_EXCHANGE(0, 0),
+ ADD_LOG(1, 1),
+ ADD_LOG_BRANCH(2, 2),
+ ;
+
++ public static final int CAPABILITY_EXCHANGE_VALUE = 0;
++ public static final int ADD_LOG_VALUE = 1;
++ public static final int ADD_LOG_BRANCH_VALUE = 2;
++
+
+ public final int getNumber() { return value; }
+
+@@ -6258,27 +9546,27 @@ public final class RemoteMessageProto {
+ }
+ }
+
+- public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>
++ public static com.google.protobuf.Internal.EnumLiteMap<ResponseType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+- private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>
++ private static com.google.protobuf.Internal.EnumLiteMap<ResponseType>
+ internalValueMap =
+- new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>() {
++ new com.google.protobuf.Internal.EnumLiteMap<ResponseType>() {
+ public ResponseType findValueByNumber(int number) {
+- return ResponseType.valueOf(number)
+- ; }
++ return ResponseType.valueOf(number);
++ }
+ };
+
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
++ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(index);
+ }
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+- public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDescriptor().getEnumTypes().get(0);
+ }
+@@ -6286,32 +9574,50 @@ public final class RemoteMessageProto {
+ private static final ResponseType[] VALUES = {
+ CAPABILITY_EXCHANGE, ADD_LOG, ADD_LOG_BRANCH,
+ };
++
+ public static ResponseType valueOf(
+- com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
++ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ return VALUES[desc.getIndex()];
+ }
++
+ private final int index;
+ private final int value;
++
+ private ResponseType(int index, int value) {
+ this.index = index;
+ this.value = value;
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
+- }
++ // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType)
+ }
+
++ public interface CapabilityExchangeOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;
++ java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>
++ getCapabilitiesList();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability getCapabilities(int index);
++ int getCapabilitiesCount();
++ java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>
++ getCapabilitiesOrBuilderList();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
++ int index);
++ }
+ public static final class CapabilityExchange extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements CapabilityExchangeOrBuilder {
+ // Use CapabilityExchange.newBuilder() to construct.
+- private CapabilityExchange() {}
++ private CapabilityExchange(Builder builder) {
++ super(builder);
++ }
++ private CapabilityExchange(boolean noInit) {}
+
+- private static final CapabilityExchange defaultInstance = new CapabilityExchange();
++ private static final CapabilityExchange defaultInstance;
+ public static CapabilityExchange getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -6320,22 +9626,33 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_fieldAccessorTable;
+ }
+
++ public interface CapabilityOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;
++ boolean hasCapability();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getCapability();
++ }
+ public static final class Capability extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements CapabilityOrBuilder {
+ // Use Capability.newBuilder() to construct.
+- private Capability() {}
++ private Capability(Builder builder) {
++ super(builder);
++ }
++ private Capability(boolean noInit) {}
+
+- private static final Capability defaultInstance = new Capability();
++ private static final Capability defaultInstance;
+ public static Capability getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -6344,31 +9661,44 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;
+ public static final int CAPABILITY_FIELD_NUMBER = 1;
+- private boolean hasCapability;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
+- public boolean hasCapability() { return hasCapability; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getCapability() { return capability_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType capability_;
++ public boolean hasCapability() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getCapability() {
++ return capability_;
++ }
+
++ private void initFields() {
++ capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasCapability()) {
+- output.writeEnum(1, getCapability().getNumber());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeEnum(1, capability_.getNumber());
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -6379,35 +9709,42 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasCapability()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(1, getCapability().getNumber());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(1, capability_.getNumber());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -6417,30 +9754,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -6453,37 +9799,54 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability();
++ super.clear();
++ capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.getDescriptor();
+ }
+@@ -6492,36 +9855,38 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.capability_ = capability_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability)other);
+ } else {
+@@ -6539,23 +9904,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -6566,7 +9937,8 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(1, rawValue);
+ } else {
+- setCapability(value);
++ bitField0_ |= 0x00000001;
++ capability_ = value;
+ }
+ break;
+ }
+@@ -6574,58 +9946,81 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
+ public boolean hasCapability() {
+- return result.hasCapability();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getCapability() {
+- return result.getCapability();
++ return capability_;
+ }
+ public Builder setCapability(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasCapability = true;
+- result.capability_ = value;
++ bitField0_ |= 0x00000001;
++ capability_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearCapability() {
+- result.hasCapability = false;
+- result.capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
++ onChanged();
+ return this;
+ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new Capability(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability)
+ }
+
+ // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;
+ public static final int CAPABILITIES_FIELD_NUMBER = 2;
+- private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> capabilities_ =
+- java.util.Collections.emptyList();
++ private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> capabilities_;
+ public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> getCapabilitiesList() {
+ return capabilities_;
+ }
+- public int getCapabilitiesCount() { return capabilities_.size(); }
++ public java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>
++ getCapabilitiesOrBuilderList() {
++ return capabilities_;
++ }
++ public int getCapabilitiesCount() {
++ return capabilities_.size();
++ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability getCapabilities(int index) {
+ return capabilities_.get(index);
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
++ int index) {
++ return capabilities_.get(index);
++ }
+
++ private void initFields() {
++ capabilities_ = java.util.Collections.emptyList();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- for (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability element : getCapabilitiesList()) {
+- output.writeMessage(2, element);
++ getSerializedSize();
++ for (int i = 0; i < capabilities_.size(); i++) {
++ output.writeMessage(2, capabilities_.get(i));
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -6636,35 +10031,42 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- for (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability element : getCapabilitiesList()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, element);
++ for (int i = 0; i < capabilities_.size(); i++) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, capabilities_.get(i));
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -6674,30 +10076,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -6710,37 +10121,59 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getCapabilitiesFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ if (capabilitiesBuilder_ == null) {
++ capabilities_ = java.util.Collections.emptyList();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ } else {
++ capabilitiesBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange();
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDescriptor();
+ }
+@@ -6749,40 +10182,41 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- if (result.capabilities_ != java.util.Collections.EMPTY_LIST) {
+- result.capabilities_ =
+- java.util.Collections.unmodifiableList(result.capabilities_);
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange(this);
++ int from_bitField0_ = bitField0_;
++ if (capabilitiesBuilder_ == null) {
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ capabilities_ = java.util.Collections.unmodifiableList(capabilities_);
++ bitField0_ = (bitField0_ & ~0x00000001);
++ }
++ result.capabilities_ = capabilities_;
++ } else {
++ result.capabilities_ = capabilitiesBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange returnMe = result;
+- result = null;
+- return returnMe;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange)other);
+ } else {
+@@ -6793,33 +10227,59 @@ public final class RemoteMessageProto {
+
+ public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange other) {
+ if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance()) return this;
+- if (!other.capabilities_.isEmpty()) {
+- if (result.capabilities_.isEmpty()) {
+- result.capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>();
++ if (capabilitiesBuilder_ == null) {
++ if (!other.capabilities_.isEmpty()) {
++ if (capabilities_.isEmpty()) {
++ capabilities_ = other.capabilities_;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ } else {
++ ensureCapabilitiesIsMutable();
++ capabilities_.addAll(other.capabilities_);
++ }
++ onChanged();
++ }
++ } else {
++ if (!other.capabilities_.isEmpty()) {
++ if (capabilitiesBuilder_.isEmpty()) {
++ capabilitiesBuilder_.dispose();
++ capabilitiesBuilder_ = null;
++ capabilities_ = other.capabilities_;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ capabilitiesBuilder_ =
++ com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
++ getCapabilitiesFieldBuilder() : null;
++ } else {
++ capabilitiesBuilder_.addAllMessages(other.capabilities_);
++ }
+ }
+- result.capabilities_.addAll(other.capabilities_);
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -6834,74 +10294,222 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;
++ private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> capabilities_ =
++ java.util.Collections.emptyList();
++ private void ensureCapabilitiesIsMutable() {
++ if (!((bitField0_ & 0x00000001) == 0x00000001)) {
++ capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>(capabilities_);
++ bitField0_ |= 0x00000001;
++ }
++ }
++
++ private com.google.protobuf.RepeatedFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder> capabilitiesBuilder_;
++
+ public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> getCapabilitiesList() {
+- return java.util.Collections.unmodifiableList(result.capabilities_);
++ if (capabilitiesBuilder_ == null) {
++ return java.util.Collections.unmodifiableList(capabilities_);
++ } else {
++ return capabilitiesBuilder_.getMessageList();
++ }
+ }
+ public int getCapabilitiesCount() {
+- return result.getCapabilitiesCount();
++ if (capabilitiesBuilder_ == null) {
++ return capabilities_.size();
++ } else {
++ return capabilitiesBuilder_.getCount();
++ }
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability getCapabilities(int index) {
+- return result.getCapabilities(index);
++ if (capabilitiesBuilder_ == null) {
++ return capabilities_.get(index);
++ } else {
++ return capabilitiesBuilder_.getMessage(index);
++ }
+ }
+- public Builder setCapabilities(int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability value) {
+- if (value == null) {
+- throw new NullPointerException();
++ public Builder setCapabilities(
++ int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability value) {
++ if (capabilitiesBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ ensureCapabilitiesIsMutable();
++ capabilities_.set(index, value);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.setMessage(index, value);
+ }
+- result.capabilities_.set(index, value);
+ return this;
+ }
+- public Builder setCapabilities(int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder builderForValue) {
+- result.capabilities_.set(index, builderForValue.build());
++ public Builder setCapabilities(
++ int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder builderForValue) {
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ capabilities_.set(index, builderForValue.build());
++ onChanged();
++ } else {
++ capabilitiesBuilder_.setMessage(index, builderForValue.build());
++ }
+ return this;
+ }
+ public Builder addCapabilities(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (capabilitiesBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ ensureCapabilitiesIsMutable();
++ capabilities_.add(value);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addMessage(value);
++ }
++ return this;
++ }
++ public Builder addCapabilities(
++ int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability value) {
++ if (capabilitiesBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ ensureCapabilitiesIsMutable();
++ capabilities_.add(index, value);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addMessage(index, value);
+ }
+- if (result.capabilities_.isEmpty()) {
+- result.capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>();
++ return this;
++ }
++ public Builder addCapabilities(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder builderForValue) {
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ capabilities_.add(builderForValue.build());
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addMessage(builderForValue.build());
+ }
+- result.capabilities_.add(value);
+ return this;
+ }
+- public Builder addCapabilities(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder builderForValue) {
+- if (result.capabilities_.isEmpty()) {
+- result.capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>();
++ public Builder addCapabilities(
++ int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder builderForValue) {
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ capabilities_.add(index, builderForValue.build());
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addMessage(index, builderForValue.build());
+ }
+- result.capabilities_.add(builderForValue.build());
+ return this;
+ }
+ public Builder addAllCapabilities(
+ java.lang.Iterable<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> values) {
+- if (result.capabilities_.isEmpty()) {
+- result.capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>();
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ super.addAll(values, capabilities_);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addAllMessages(values);
+ }
+- super.addAll(values, result.capabilities_);
+ return this;
+ }
+ public Builder clearCapabilities() {
+- result.capabilities_ = java.util.Collections.emptyList();
++ if (capabilitiesBuilder_ == null) {
++ capabilities_ = java.util.Collections.emptyList();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.clear();
++ }
++ return this;
++ }
++ public Builder removeCapabilities(int index) {
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ capabilities_.remove(index);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.remove(index);
++ }
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder getCapabilitiesBuilder(
++ int index) {
++ return getCapabilitiesFieldBuilder().getBuilder(index);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
++ int index) {
++ if (capabilitiesBuilder_ == null) {
++ return capabilities_.get(index); } else {
++ return capabilitiesBuilder_.getMessageOrBuilder(index);
++ }
++ }
++ public java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>
++ getCapabilitiesOrBuilderList() {
++ if (capabilitiesBuilder_ != null) {
++ return capabilitiesBuilder_.getMessageOrBuilderList();
++ } else {
++ return java.util.Collections.unmodifiableList(capabilities_);
++ }
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder addCapabilitiesBuilder() {
++ return getCapabilitiesFieldBuilder().addBuilder(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.getDefaultInstance());
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder addCapabilitiesBuilder(
++ int index) {
++ return getCapabilitiesFieldBuilder().addBuilder(
++ index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.getDefaultInstance());
++ }
++ public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder>
++ getCapabilitiesBuilderList() {
++ return getCapabilitiesFieldBuilder().getBuilderList();
++ }
++ private com.google.protobuf.RepeatedFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>
++ getCapabilitiesFieldBuilder() {
++ if (capabilitiesBuilder_ == null) {
++ capabilitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>(
++ capabilities_,
++ ((bitField0_ & 0x00000001) == 0x00000001),
++ getParentForChildren(),
++ isClean());
++ capabilities_ = null;
++ }
++ return capabilitiesBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new CapabilityExchange(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange)
+ }
+
++ public interface AddLogOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // required uint32 logHandle = 1;
++ boolean hasLogHandle();
++ int getLogHandle();
++ }
+ public static final class AddLog extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements AddLogOrBuilder {
+ // Use AddLog.newBuilder() to construct.
+- private AddLog() {}
++ private AddLog(Builder builder) {
++ super(builder);
++ }
++ private AddLog(boolean noInit) {}
+
+- private static final AddLog defaultInstance = new AddLog();
++ private static final AddLog defaultInstance;
+ public static AddLog getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -6910,32 +10518,48 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // required uint32 logHandle = 1;
+ public static final int LOGHANDLE_FIELD_NUMBER = 1;
+- private boolean hasLogHandle;
+- private int logHandle_ = 0;
+- public boolean hasLogHandle() { return hasLogHandle; }
+- public int getLogHandle() { return logHandle_; }
++ private int logHandle_;
++ public boolean hasLogHandle() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public int getLogHandle() {
++ return logHandle_;
++ }
+
++ private void initFields() {
++ logHandle_ = 0;
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasLogHandle) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasLogHandle()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasLogHandle()) {
+- output.writeUInt32(1, getLogHandle());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeUInt32(1, logHandle_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -6946,35 +10570,42 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasLogHandle()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeUInt32Size(1, getLogHandle());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeUInt32Size(1, logHandle_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -6984,30 +10615,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -7020,37 +10660,54 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog();
++ super.clear();
++ logHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDescriptor();
+ }
+@@ -7059,36 +10716,38 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.logHandle_ = logHandle_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog)other);
+ } else {
+@@ -7106,70 +10765,97 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasLogHandle()) {
++
++ return false;
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+- setLogHandle(input.readUInt32());
++ bitField0_ |= 0x00000001;
++ logHandle_ = input.readUInt32();
+ break;
+ }
+ }
+ }
+ }
+
++ private int bitField0_;
+
+ // required uint32 logHandle = 1;
++ private int logHandle_ ;
+ public boolean hasLogHandle() {
+- return result.hasLogHandle();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public int getLogHandle() {
+- return result.getLogHandle();
++ return logHandle_;
+ }
+ public Builder setLogHandle(int value) {
+- result.hasLogHandle = true;
+- result.logHandle_ = value;
++ bitField0_ |= 0x00000001;
++ logHandle_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearLogHandle() {
+- result.hasLogHandle = false;
+- result.logHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ logHandle_ = 0;
++ onChanged();
+ return this;
+ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new AddLog(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog)
+ }
+
++ public interface AddLogBranchOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // required uint32 logHandle = 1;
++ boolean hasLogHandle();
++ int getLogHandle();
++ }
+ public static final class AddLogBranch extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements AddLogBranchOrBuilder {
+ // Use AddLogBranch.newBuilder() to construct.
+- private AddLogBranch() {}
++ private AddLogBranch(Builder builder) {
++ super(builder);
++ }
++ private AddLogBranch(boolean noInit) {}
+
+- private static final AddLogBranch defaultInstance = new AddLogBranch();
++ private static final AddLogBranch defaultInstance;
+ public static AddLogBranch getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -7178,32 +10864,48 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // required uint32 logHandle = 1;
+ public static final int LOGHANDLE_FIELD_NUMBER = 1;
+- private boolean hasLogHandle;
+- private int logHandle_ = 0;
+- public boolean hasLogHandle() { return hasLogHandle; }
+- public int getLogHandle() { return logHandle_; }
++ private int logHandle_;
++ public boolean hasLogHandle() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public int getLogHandle() {
++ return logHandle_;
++ }
+
++ private void initFields() {
++ logHandle_ = 0;
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasLogHandle) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasLogHandle()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasLogHandle()) {
+- output.writeUInt32(1, getLogHandle());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeUInt32(1, logHandle_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -7214,35 +10916,42 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasLogHandle()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeUInt32Size(1, getLogHandle());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeUInt32Size(1, logHandle_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -7252,30 +10961,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -7288,37 +11006,54 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch();
++ super.clear();
++ logHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDescriptor();
+ }
+@@ -7327,36 +11062,38 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.logHandle_ = logHandle_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch)other);
+ } else {
+@@ -7374,115 +11111,171 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasLogHandle()) {
++
++ return false;
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+- setLogHandle(input.readUInt32());
++ bitField0_ |= 0x00000001;
++ logHandle_ = input.readUInt32();
+ break;
+ }
+ }
+ }
+ }
+
++ private int bitField0_;
+
+ // required uint32 logHandle = 1;
++ private int logHandle_ ;
+ public boolean hasLogHandle() {
+- return result.hasLogHandle();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public int getLogHandle() {
+- return result.getLogHandle();
++ return logHandle_;
+ }
+ public Builder setLogHandle(int value) {
+- result.hasLogHandle = true;
+- result.logHandle_ = value;
++ bitField0_ |= 0x00000001;
++ logHandle_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearLogHandle() {
+- result.hasLogHandle = false;
+- result.logHandle_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ logHandle_ = 0;
++ onChanged();
+ return this;
+ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new AddLogBranch(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch)
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;
+ public static final int RESPONSETYPE_FIELD_NUMBER = 1;
+- private boolean hasResponseType;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
+- public boolean hasResponseType() { return hasResponseType; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType getResponseType() { return responseType_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType responseType_;
++ public boolean hasResponseType() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType getResponseType() {
++ return responseType_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;
+ public static final int CAPABILITYEXCHANGE_FIELD_NUMBER = 2;
+- private boolean hasCapabilityExchange;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
+- public boolean hasCapabilityExchange() { return hasCapabilityExchange; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange getCapabilityExchange() { return capabilityExchange_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange_;
++ public boolean hasCapabilityExchange() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange getCapabilityExchange() {
++ return capabilityExchange_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
++ return capabilityExchange_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;
+ public static final int ADDLOG_FIELD_NUMBER = 3;
+- private boolean hasAddLog;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
+- public boolean hasAddLog() { return hasAddLog; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog getAddLog() { return addLog_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog addLog_;
++ public boolean hasAddLog() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog getAddLog() {
++ return addLog_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder getAddLogOrBuilder() {
++ return addLog_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;
+ public static final int ADDLOGBRANCH_FIELD_NUMBER = 4;
+- private boolean hasAddLogBranch;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
+- public boolean hasAddLogBranch() { return hasAddLogBranch; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch getAddLogBranch() { return addLogBranch_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch addLogBranch_;
++ public boolean hasAddLogBranch() {
++ return ((bitField0_ & 0x00000008) == 0x00000008);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch getAddLogBranch() {
++ return addLogBranch_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder getAddLogBranchOrBuilder() {
++ return addLogBranch_;
++ }
+
++ private void initFields() {
++ responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
++ addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
++ addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
+ if (hasAddLog()) {
+- if (!getAddLog().isInitialized()) return false;
++ if (!getAddLog().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
+ if (hasAddLogBranch()) {
+- if (!getAddLogBranch().isInitialized()) return false;
++ if (!getAddLogBranch().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasResponseType()) {
+- output.writeEnum(1, getResponseType().getNumber());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeEnum(1, responseType_.getNumber());
+ }
+- if (hasCapabilityExchange()) {
+- output.writeMessage(2, getCapabilityExchange());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeMessage(2, capabilityExchange_);
+ }
+- if (hasAddLog()) {
+- output.writeMessage(3, getAddLog());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeMessage(3, addLog_);
+ }
+- if (hasAddLogBranch()) {
+- output.writeMessage(4, getAddLogBranch());
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ output.writeMessage(4, addLogBranch_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -7493,47 +11286,54 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasResponseType()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(1, getResponseType().getNumber());
+- }
+- if (hasCapabilityExchange()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, getCapabilityExchange());
+- }
+- if (hasAddLog()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(3, getAddLog());
+- }
+- if (hasAddLogBranch()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(4, getAddLogBranch());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(1, responseType_.getNumber());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, capabilityExchange_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(3, addLog_);
++ }
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(4, addLogBranch_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -7543,30 +11343,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -7579,37 +11388,75 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getCapabilityExchangeFieldBuilder();
++ getAddLogFieldBuilder();
++ getAddLogBranchFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
++ } else {
++ capabilityExchangeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
++ if (addLogBuilder_ == null) {
++ addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
++ } else {
++ addLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
++ if (addLogBranchBuilder_ == null) {
++ addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
++ } else {
++ addLogBranchBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse();
++ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDescriptor();
+ }
+@@ -7618,36 +11465,62 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.responseType_ = responseType_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ if (capabilityExchangeBuilder_ == null) {
++ result.capabilityExchange_ = capabilityExchange_;
++ } else {
++ result.capabilityExchange_ = capabilityExchangeBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ if (addLogBuilder_ == null) {
++ result.addLog_ = addLog_;
++ } else {
++ result.addLog_ = addLogBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
++ to_bitField0_ |= 0x00000008;
++ }
++ if (addLogBranchBuilder_ == null) {
++ result.addLogBranch_ = addLogBranch_;
++ } else {
++ result.addLogBranch_ = addLogBranchBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse returnMe = result;
+- result = null;
+- return returnMe;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse)other);
+ } else {
+@@ -7674,23 +11547,41 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (hasAddLog()) {
++ if (!getAddLog().isInitialized()) {
++
++ return false;
++ }
++ }
++ if (hasAddLogBranch()) {
++ if (!getAddLogBranch().isInitialized()) {
++
++ return false;
++ }
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -7701,7 +11592,8 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(1, rawValue);
+ } else {
+- setResponseType(value);
++ bitField0_ |= 0x00000001;
++ responseType_ = value;
+ }
+ break;
+ }
+@@ -7736,155 +11628,340 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
+ public boolean hasResponseType() {
+- return result.hasResponseType();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType getResponseType() {
+- return result.getResponseType();
++ return responseType_;
+ }
+ public Builder setResponseType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasResponseType = true;
+- result.responseType_ = value;
++ bitField0_ |= 0x00000001;
++ responseType_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearResponseType() {
+- result.hasResponseType = false;
+- result.responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
++ onChanged();
+ return this;
+ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder> capabilityExchangeBuilder_;
+ public boolean hasCapabilityExchange() {
+- return result.hasCapabilityExchange();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange getCapabilityExchange() {
+- return result.getCapabilityExchange();
++ if (capabilityExchangeBuilder_ == null) {
++ return capabilityExchange_;
++ } else {
++ return capabilityExchangeBuilder_.getMessage();
++ }
+ }
+ public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (capabilityExchangeBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ capabilityExchange_ = value;
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.setMessage(value);
+ }
+- result.hasCapabilityExchange = true;
+- result.capabilityExchange_ = value;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+- public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder builderForValue) {
+- result.hasCapabilityExchange = true;
+- result.capabilityExchange_ = builderForValue.build();
++ public Builder setCapabilityExchange(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder builderForValue) {
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = builderForValue.build();
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder mergeCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange value) {
+- if (result.hasCapabilityExchange() &&
+- result.capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance()) {
+- result.capabilityExchange_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.newBuilder(result.capabilityExchange_).mergeFrom(value).buildPartial();
++ if (capabilityExchangeBuilder_ == null) {
++ if (((bitField0_ & 0x00000002) == 0x00000002) &&
++ capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance()) {
++ capabilityExchange_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.newBuilder(capabilityExchange_).mergeFrom(value).buildPartial();
++ } else {
++ capabilityExchange_ = value;
++ }
++ onChanged();
+ } else {
+- result.capabilityExchange_ = value;
++ capabilityExchangeBuilder_.mergeFrom(value);
+ }
+- result.hasCapabilityExchange = true;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder clearCapabilityExchange() {
+- result.hasCapabilityExchange = false;
+- result.capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder getCapabilityExchangeBuilder() {
++ bitField0_ |= 0x00000002;
++ onChanged();
++ return getCapabilityExchangeFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
++ if (capabilityExchangeBuilder_ != null) {
++ return capabilityExchangeBuilder_.getMessageOrBuilder();
++ } else {
++ return capabilityExchange_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder>
++ getCapabilityExchangeFieldBuilder() {
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchangeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder>(
++ capabilityExchange_,
++ getParentForChildren(),
++ isClean());
++ capabilityExchange_ = null;
++ }
++ return capabilityExchangeBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder> addLogBuilder_;
+ public boolean hasAddLog() {
+- return result.hasAddLog();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog getAddLog() {
+- return result.getAddLog();
++ if (addLogBuilder_ == null) {
++ return addLog_;
++ } else {
++ return addLogBuilder_.getMessage();
++ }
+ }
+ public Builder setAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (addLogBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ addLog_ = value;
++ onChanged();
++ } else {
++ addLogBuilder_.setMessage(value);
+ }
+- result.hasAddLog = true;
+- result.addLog_ = value;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+- public Builder setAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder builderForValue) {
+- result.hasAddLog = true;
+- result.addLog_ = builderForValue.build();
++ public Builder setAddLog(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder builderForValue) {
++ if (addLogBuilder_ == null) {
++ addLog_ = builderForValue.build();
++ onChanged();
++ } else {
++ addLogBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder mergeAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog value) {
+- if (result.hasAddLog() &&
+- result.addLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance()) {
+- result.addLog_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.newBuilder(result.addLog_).mergeFrom(value).buildPartial();
++ if (addLogBuilder_ == null) {
++ if (((bitField0_ & 0x00000004) == 0x00000004) &&
++ addLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance()) {
++ addLog_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.newBuilder(addLog_).mergeFrom(value).buildPartial();
++ } else {
++ addLog_ = value;
++ }
++ onChanged();
+ } else {
+- result.addLog_ = value;
++ addLogBuilder_.mergeFrom(value);
+ }
+- result.hasAddLog = true;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder clearAddLog() {
+- result.hasAddLog = false;
+- result.addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
++ if (addLogBuilder_ == null) {
++ addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
++ onChanged();
++ } else {
++ addLogBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder getAddLogBuilder() {
++ bitField0_ |= 0x00000004;
++ onChanged();
++ return getAddLogFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder getAddLogOrBuilder() {
++ if (addLogBuilder_ != null) {
++ return addLogBuilder_.getMessageOrBuilder();
++ } else {
++ return addLog_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder>
++ getAddLogFieldBuilder() {
++ if (addLogBuilder_ == null) {
++ addLogBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder>(
++ addLog_,
++ getParentForChildren(),
++ isClean());
++ addLog_ = null;
++ }
++ return addLogBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder> addLogBranchBuilder_;
+ public boolean hasAddLogBranch() {
+- return result.hasAddLogBranch();
++ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch getAddLogBranch() {
+- return result.getAddLogBranch();
++ if (addLogBranchBuilder_ == null) {
++ return addLogBranch_;
++ } else {
++ return addLogBranchBuilder_.getMessage();
++ }
+ }
+ public Builder setAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (addLogBranchBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ addLogBranch_ = value;
++ onChanged();
++ } else {
++ addLogBranchBuilder_.setMessage(value);
+ }
+- result.hasAddLogBranch = true;
+- result.addLogBranch_ = value;
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+- public Builder setAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder builderForValue) {
+- result.hasAddLogBranch = true;
+- result.addLogBranch_ = builderForValue.build();
++ public Builder setAddLogBranch(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder builderForValue) {
++ if (addLogBranchBuilder_ == null) {
++ addLogBranch_ = builderForValue.build();
++ onChanged();
++ } else {
++ addLogBranchBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+ public Builder mergeAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch value) {
+- if (result.hasAddLogBranch() &&
+- result.addLogBranch_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance()) {
+- result.addLogBranch_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.newBuilder(result.addLogBranch_).mergeFrom(value).buildPartial();
++ if (addLogBranchBuilder_ == null) {
++ if (((bitField0_ & 0x00000008) == 0x00000008) &&
++ addLogBranch_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance()) {
++ addLogBranch_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.newBuilder(addLogBranch_).mergeFrom(value).buildPartial();
++ } else {
++ addLogBranch_ = value;
++ }
++ onChanged();
+ } else {
+- result.addLogBranch_ = value;
++ addLogBranchBuilder_.mergeFrom(value);
+ }
+- result.hasAddLogBranch = true;
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+ public Builder clearAddLogBranch() {
+- result.hasAddLogBranch = false;
+- result.addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
++ if (addLogBranchBuilder_ == null) {
++ addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
++ onChanged();
++ } else {
++ addLogBranchBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder getAddLogBranchBuilder() {
++ bitField0_ |= 0x00000008;
++ onChanged();
++ return getAddLogBranchFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder getAddLogBranchOrBuilder() {
++ if (addLogBranchBuilder_ != null) {
++ return addLogBranchBuilder_.getMessageOrBuilder();
++ } else {
++ return addLogBranch_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder>
++ getAddLogBranchFieldBuilder() {
++ if (addLogBranchBuilder_ == null) {
++ addLogBranchBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder>(
++ addLogBranch_,
++ getParentForChildren(),
++ isClean());
++ addLogBranch_ = null;
++ }
++ return addLogBranchBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new ViewerResponse(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse)
+ }
+
++ public interface DevModeResponseOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;
++ boolean hasResponseType();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType getResponseType();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;
++ boolean hasCapabilityExchange();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange getCapabilityExchange();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder();
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;
++ boolean hasRestartWebServer();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer getRestartWebServer();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder getRestartWebServerOrBuilder();
++ }
+ public static final class DevModeResponse extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements DevModeResponseOrBuilder {
+ // Use DevModeResponse.newBuilder() to construct.
+- private DevModeResponse() {}
++ private DevModeResponse(Builder builder) {
++ super(builder);
++ }
++ private DevModeResponse(boolean noInit) {}
+
+- private static final DevModeResponse defaultInstance = new DevModeResponse();
++ private static final DevModeResponse defaultInstance;
+ public static DevModeResponse getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -7893,22 +11970,25 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_fieldAccessorTable;
+ }
+
+ public enum ResponseType
+- implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
++ implements com.google.protobuf.ProtocolMessageEnum {
+ CAPABILITY_EXCHANGE(0, 0),
+ RESTART_WEB_SERVER(1, 1),
+ ;
+
++ public static final int CAPABILITY_EXCHANGE_VALUE = 0;
++ public static final int RESTART_WEB_SERVER_VALUE = 1;
++
+
+ public final int getNumber() { return value; }
+
+@@ -7920,27 +12000,27 @@ public final class RemoteMessageProto {
+ }
+ }
+
+- public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>
++ public static com.google.protobuf.Internal.EnumLiteMap<ResponseType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+- private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>
++ private static com.google.protobuf.Internal.EnumLiteMap<ResponseType>
+ internalValueMap =
+- new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>() {
++ new com.google.protobuf.Internal.EnumLiteMap<ResponseType>() {
+ public ResponseType findValueByNumber(int number) {
+- return ResponseType.valueOf(number)
+- ; }
++ return ResponseType.valueOf(number);
++ }
+ };
+
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
++ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(index);
+ }
+- public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+- public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
++ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDescriptor().getEnumTypes().get(0);
+ }
+@@ -7948,32 +12028,50 @@ public final class RemoteMessageProto {
+ private static final ResponseType[] VALUES = {
+ CAPABILITY_EXCHANGE, RESTART_WEB_SERVER,
+ };
++
+ public static ResponseType valueOf(
+- com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
++ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ return VALUES[desc.getIndex()];
+ }
++
+ private final int index;
+ private final int value;
++
+ private ResponseType(int index, int value) {
+ this.index = index;
+ this.value = value;
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
+- }
++ // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType)
+ }
+
++ public interface CapabilityExchangeOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;
++ java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>
++ getCapabilitiesList();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability getCapabilities(int index);
++ int getCapabilitiesCount();
++ java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>
++ getCapabilitiesOrBuilderList();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
++ int index);
++ }
+ public static final class CapabilityExchange extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements CapabilityExchangeOrBuilder {
+ // Use CapabilityExchange.newBuilder() to construct.
+- private CapabilityExchange() {}
++ private CapabilityExchange(Builder builder) {
++ super(builder);
++ }
++ private CapabilityExchange(boolean noInit) {}
+
+- private static final CapabilityExchange defaultInstance = new CapabilityExchange();
++ private static final CapabilityExchange defaultInstance;
+ public static CapabilityExchange getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -7982,22 +12080,33 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_fieldAccessorTable;
+ }
+
++ public interface CapabilityOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;
++ boolean hasCapability();
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getCapability();
++ }
+ public static final class Capability extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements CapabilityOrBuilder {
+ // Use Capability.newBuilder() to construct.
+- private Capability() {}
++ private Capability(Builder builder) {
++ super(builder);
++ }
++ private Capability(boolean noInit) {}
+
+- private static final Capability defaultInstance = new Capability();
++ private static final Capability defaultInstance;
+ public static Capability getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -8006,31 +12115,44 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;
+ public static final int CAPABILITY_FIELD_NUMBER = 1;
+- private boolean hasCapability;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
+- public boolean hasCapability() { return hasCapability; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getCapability() { return capability_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType capability_;
++ public boolean hasCapability() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getCapability() {
++ return capability_;
++ }
+
++ private void initFields() {
++ capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasCapability()) {
+- output.writeEnum(1, getCapability().getNumber());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeEnum(1, capability_.getNumber());
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -8041,35 +12163,42 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasCapability()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(1, getCapability().getNumber());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(1, capability_.getNumber());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -8079,30 +12208,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -8115,37 +12253,54 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability();
++ super.clear();
++ capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.getDescriptor();
+ }
+@@ -8154,36 +12309,38 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.capability_ = capability_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability)other);
+ } else {
+@@ -8201,23 +12358,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -8228,7 +12391,8 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(1, rawValue);
+ } else {
+- setCapability(value);
++ bitField0_ |= 0x00000001;
++ capability_ = value;
+ }
+ break;
+ }
+@@ -8236,58 +12400,81 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
+ public boolean hasCapability() {
+- return result.hasCapability();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getCapability() {
+- return result.getCapability();
++ return capability_;
+ }
+ public Builder setCapability(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasCapability = true;
+- result.capability_ = value;
++ bitField0_ |= 0x00000001;
++ capability_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearCapability() {
+- result.hasCapability = false;
+- result.capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
++ onChanged();
+ return this;
+ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new Capability(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability)
+ }
+
+ // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;
+ public static final int CAPABILITIES_FIELD_NUMBER = 2;
+- private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> capabilities_ =
+- java.util.Collections.emptyList();
++ private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> capabilities_;
+ public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> getCapabilitiesList() {
+ return capabilities_;
+ }
+- public int getCapabilitiesCount() { return capabilities_.size(); }
++ public java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>
++ getCapabilitiesOrBuilderList() {
++ return capabilities_;
++ }
++ public int getCapabilitiesCount() {
++ return capabilities_.size();
++ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability getCapabilities(int index) {
+ return capabilities_.get(index);
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
++ int index) {
++ return capabilities_.get(index);
++ }
+
++ private void initFields() {
++ capabilities_ = java.util.Collections.emptyList();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- for (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability element : getCapabilitiesList()) {
+- output.writeMessage(2, element);
++ getSerializedSize();
++ for (int i = 0; i < capabilities_.size(); i++) {
++ output.writeMessage(2, capabilities_.get(i));
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -8298,35 +12485,42 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- for (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability element : getCapabilitiesList()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, element);
++ for (int i = 0; i < capabilities_.size(); i++) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, capabilities_.get(i));
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -8336,30 +12530,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -8372,37 +12575,59 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getCapabilitiesFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ if (capabilitiesBuilder_ == null) {
++ capabilities_ = java.util.Collections.emptyList();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ } else {
++ capabilitiesBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange();
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDescriptor();
+ }
+@@ -8411,40 +12636,41 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- if (result.capabilities_ != java.util.Collections.EMPTY_LIST) {
+- result.capabilities_ =
+- java.util.Collections.unmodifiableList(result.capabilities_);
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange(this);
++ int from_bitField0_ = bitField0_;
++ if (capabilitiesBuilder_ == null) {
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ capabilities_ = java.util.Collections.unmodifiableList(capabilities_);
++ bitField0_ = (bitField0_ & ~0x00000001);
++ }
++ result.capabilities_ = capabilities_;
++ } else {
++ result.capabilities_ = capabilitiesBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange returnMe = result;
+- result = null;
+- return returnMe;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange)other);
+ } else {
+@@ -8455,33 +12681,59 @@ public final class RemoteMessageProto {
+
+ public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange other) {
+ if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance()) return this;
+- if (!other.capabilities_.isEmpty()) {
+- if (result.capabilities_.isEmpty()) {
+- result.capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>();
++ if (capabilitiesBuilder_ == null) {
++ if (!other.capabilities_.isEmpty()) {
++ if (capabilities_.isEmpty()) {
++ capabilities_ = other.capabilities_;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ } else {
++ ensureCapabilitiesIsMutable();
++ capabilities_.addAll(other.capabilities_);
++ }
++ onChanged();
++ }
++ } else {
++ if (!other.capabilities_.isEmpty()) {
++ if (capabilitiesBuilder_.isEmpty()) {
++ capabilitiesBuilder_.dispose();
++ capabilitiesBuilder_ = null;
++ capabilities_ = other.capabilities_;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ capabilitiesBuilder_ =
++ com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
++ getCapabilitiesFieldBuilder() : null;
++ } else {
++ capabilitiesBuilder_.addAllMessages(other.capabilities_);
++ }
+ }
+- result.capabilities_.addAll(other.capabilities_);
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -8496,74 +12748,218 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;
++ private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> capabilities_ =
++ java.util.Collections.emptyList();
++ private void ensureCapabilitiesIsMutable() {
++ if (!((bitField0_ & 0x00000001) == 0x00000001)) {
++ capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>(capabilities_);
++ bitField0_ |= 0x00000001;
++ }
++ }
++
++ private com.google.protobuf.RepeatedFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder> capabilitiesBuilder_;
++
+ public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> getCapabilitiesList() {
+- return java.util.Collections.unmodifiableList(result.capabilities_);
++ if (capabilitiesBuilder_ == null) {
++ return java.util.Collections.unmodifiableList(capabilities_);
++ } else {
++ return capabilitiesBuilder_.getMessageList();
++ }
+ }
+ public int getCapabilitiesCount() {
+- return result.getCapabilitiesCount();
++ if (capabilitiesBuilder_ == null) {
++ return capabilities_.size();
++ } else {
++ return capabilitiesBuilder_.getCount();
++ }
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability getCapabilities(int index) {
+- return result.getCapabilities(index);
++ if (capabilitiesBuilder_ == null) {
++ return capabilities_.get(index);
++ } else {
++ return capabilitiesBuilder_.getMessage(index);
++ }
+ }
+- public Builder setCapabilities(int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability value) {
+- if (value == null) {
+- throw new NullPointerException();
++ public Builder setCapabilities(
++ int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability value) {
++ if (capabilitiesBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ ensureCapabilitiesIsMutable();
++ capabilities_.set(index, value);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.setMessage(index, value);
+ }
+- result.capabilities_.set(index, value);
+ return this;
+ }
+- public Builder setCapabilities(int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder builderForValue) {
+- result.capabilities_.set(index, builderForValue.build());
++ public Builder setCapabilities(
++ int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder builderForValue) {
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ capabilities_.set(index, builderForValue.build());
++ onChanged();
++ } else {
++ capabilitiesBuilder_.setMessage(index, builderForValue.build());
++ }
+ return this;
+ }
+ public Builder addCapabilities(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (capabilitiesBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ ensureCapabilitiesIsMutable();
++ capabilities_.add(value);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addMessage(value);
++ }
++ return this;
++ }
++ public Builder addCapabilities(
++ int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability value) {
++ if (capabilitiesBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ ensureCapabilitiesIsMutable();
++ capabilities_.add(index, value);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addMessage(index, value);
+ }
+- if (result.capabilities_.isEmpty()) {
+- result.capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>();
++ return this;
++ }
++ public Builder addCapabilities(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder builderForValue) {
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ capabilities_.add(builderForValue.build());
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addMessage(builderForValue.build());
+ }
+- result.capabilities_.add(value);
+ return this;
+ }
+- public Builder addCapabilities(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder builderForValue) {
+- if (result.capabilities_.isEmpty()) {
+- result.capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>();
++ public Builder addCapabilities(
++ int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder builderForValue) {
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ capabilities_.add(index, builderForValue.build());
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addMessage(index, builderForValue.build());
+ }
+- result.capabilities_.add(builderForValue.build());
+ return this;
+ }
+ public Builder addAllCapabilities(
+ java.lang.Iterable<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> values) {
+- if (result.capabilities_.isEmpty()) {
+- result.capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>();
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ super.addAll(values, capabilities_);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.addAllMessages(values);
+ }
+- super.addAll(values, result.capabilities_);
+ return this;
+ }
+ public Builder clearCapabilities() {
+- result.capabilities_ = java.util.Collections.emptyList();
++ if (capabilitiesBuilder_ == null) {
++ capabilities_ = java.util.Collections.emptyList();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.clear();
++ }
++ return this;
++ }
++ public Builder removeCapabilities(int index) {
++ if (capabilitiesBuilder_ == null) {
++ ensureCapabilitiesIsMutable();
++ capabilities_.remove(index);
++ onChanged();
++ } else {
++ capabilitiesBuilder_.remove(index);
++ }
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder getCapabilitiesBuilder(
++ int index) {
++ return getCapabilitiesFieldBuilder().getBuilder(index);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
++ int index) {
++ if (capabilitiesBuilder_ == null) {
++ return capabilities_.get(index); } else {
++ return capabilitiesBuilder_.getMessageOrBuilder(index);
++ }
++ }
++ public java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>
++ getCapabilitiesOrBuilderList() {
++ if (capabilitiesBuilder_ != null) {
++ return capabilitiesBuilder_.getMessageOrBuilderList();
++ } else {
++ return java.util.Collections.unmodifiableList(capabilities_);
++ }
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder addCapabilitiesBuilder() {
++ return getCapabilitiesFieldBuilder().addBuilder(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.getDefaultInstance());
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder addCapabilitiesBuilder(
++ int index) {
++ return getCapabilitiesFieldBuilder().addBuilder(
++ index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.getDefaultInstance());
++ }
++ public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder>
++ getCapabilitiesBuilderList() {
++ return getCapabilitiesFieldBuilder().getBuilderList();
++ }
++ private com.google.protobuf.RepeatedFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>
++ getCapabilitiesFieldBuilder() {
++ if (capabilitiesBuilder_ == null) {
++ capabilitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>(
++ capabilities_,
++ ((bitField0_ & 0x00000001) == 0x00000001),
++ getParentForChildren(),
++ isClean());
++ capabilities_ = null;
++ }
++ return capabilitiesBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new CapabilityExchange(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange)
+ }
+
++ public interface RestartWebServerOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++ }
+ public static final class RestartWebServer extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements RestartWebServerOrBuilder {
+ // Use RestartWebServer.newBuilder() to construct.
+- private RestartWebServer() {}
++ private RestartWebServer(Builder builder) {
++ super(builder);
++ }
++ private RestartWebServer(boolean noInit) {}
+
+- private static final RestartWebServer defaultInstance = new RestartWebServer();
++ private static final RestartWebServer defaultInstance;
+ public static RestartWebServer getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -8572,22 +12968,30 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_fieldAccessorTable;
+ }
+
++ private void initFields() {
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
++ getSerializedSize();
+ getUnknownFields().writeTo(output);
+ }
+
+@@ -8602,26 +13006,33 @@ public final class RemoteMessageProto {
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -8631,30 +13042,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -8667,37 +13087,52 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer();
++ super.clear();
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDescriptor();
+ }
+@@ -8706,36 +13141,31 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer(this);
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer)other);
+ } else {
+@@ -8750,23 +13180,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -8775,52 +13211,80 @@ public final class RemoteMessageProto {
+ }
+ }
+
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new RestartWebServer(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer)
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;
+ public static final int RESPONSETYPE_FIELD_NUMBER = 1;
+- private boolean hasResponseType;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
+- public boolean hasResponseType() { return hasResponseType; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType getResponseType() { return responseType_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType responseType_;
++ public boolean hasResponseType() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType getResponseType() {
++ return responseType_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;
+ public static final int CAPABILITYEXCHANGE_FIELD_NUMBER = 2;
+- private boolean hasCapabilityExchange;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
+- public boolean hasCapabilityExchange() { return hasCapabilityExchange; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange getCapabilityExchange() { return capabilityExchange_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange_;
++ public boolean hasCapabilityExchange() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange getCapabilityExchange() {
++ return capabilityExchange_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
++ return capabilityExchange_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;
+ public static final int RESTARTWEBSERVER_FIELD_NUMBER = 3;
+- private boolean hasRestartWebServer;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
+- public boolean hasRestartWebServer() { return hasRestartWebServer; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer getRestartWebServer() { return restartWebServer_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer restartWebServer_;
++ public boolean hasRestartWebServer() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer getRestartWebServer() {
++ return restartWebServer_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder getRestartWebServerOrBuilder() {
++ return restartWebServer_;
++ }
+
++ private void initFields() {
++ responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
++ restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasResponseType()) {
+- output.writeEnum(1, getResponseType().getNumber());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeEnum(1, responseType_.getNumber());
+ }
+- if (hasCapabilityExchange()) {
+- output.writeMessage(2, getCapabilityExchange());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeMessage(2, capabilityExchange_);
+ }
+- if (hasRestartWebServer()) {
+- output.writeMessage(3, getRestartWebServer());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeMessage(3, restartWebServer_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -8831,43 +13295,50 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasResponseType()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(1, getResponseType().getNumber());
+- }
+- if (hasCapabilityExchange()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, getCapabilityExchange());
+- }
+- if (hasRestartWebServer()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(3, getRestartWebServer());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(1, responseType_.getNumber());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, capabilityExchange_);
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(3, restartWebServer_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -8877,30 +13348,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -8913,37 +13393,68 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getCapabilityExchangeFieldBuilder();
++ getRestartWebServerFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
++ } else {
++ capabilityExchangeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
++ if (restartWebServerBuilder_ == null) {
++ restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
++ } else {
++ restartWebServerBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse();
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDescriptor();
+ }
+@@ -8952,36 +13463,54 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.responseType_ = responseType_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ if (capabilityExchangeBuilder_ == null) {
++ result.capabilityExchange_ = capabilityExchange_;
++ } else {
++ result.capabilityExchange_ = capabilityExchangeBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ if (restartWebServerBuilder_ == null) {
++ result.restartWebServer_ = restartWebServer_;
++ } else {
++ result.restartWebServer_ = restartWebServerBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse returnMe = result;
+- result = null;
+- return returnMe;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse)other);
+ } else {
+@@ -9005,23 +13534,29 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -9032,7 +13567,8 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(1, rawValue);
+ } else {
+- setResponseType(value);
++ bitField0_ |= 0x00000001;
++ responseType_ = value;
+ }
+ break;
+ }
+@@ -9058,140 +13594,277 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
+ public boolean hasResponseType() {
+- return result.hasResponseType();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType getResponseType() {
+- return result.getResponseType();
++ return responseType_;
+ }
+ public Builder setResponseType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasResponseType = true;
+- result.responseType_ = value;
++ bitField0_ |= 0x00000001;
++ responseType_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearResponseType() {
+- result.hasResponseType = false;
+- result.responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
++ bitField0_ = (bitField0_ & ~0x00000001);
++ responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
++ onChanged();
+ return this;
+ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder> capabilityExchangeBuilder_;
+ public boolean hasCapabilityExchange() {
+- return result.hasCapabilityExchange();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange getCapabilityExchange() {
+- return result.getCapabilityExchange();
++ if (capabilityExchangeBuilder_ == null) {
++ return capabilityExchange_;
++ } else {
++ return capabilityExchangeBuilder_.getMessage();
++ }
+ }
+ public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (capabilityExchangeBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ capabilityExchange_ = value;
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.setMessage(value);
+ }
+- result.hasCapabilityExchange = true;
+- result.capabilityExchange_ = value;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+- public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder builderForValue) {
+- result.hasCapabilityExchange = true;
+- result.capabilityExchange_ = builderForValue.build();
++ public Builder setCapabilityExchange(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder builderForValue) {
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = builderForValue.build();
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder mergeCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange value) {
+- if (result.hasCapabilityExchange() &&
+- result.capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance()) {
+- result.capabilityExchange_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.newBuilder(result.capabilityExchange_).mergeFrom(value).buildPartial();
++ if (capabilityExchangeBuilder_ == null) {
++ if (((bitField0_ & 0x00000002) == 0x00000002) &&
++ capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance()) {
++ capabilityExchange_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.newBuilder(capabilityExchange_).mergeFrom(value).buildPartial();
++ } else {
++ capabilityExchange_ = value;
++ }
++ onChanged();
+ } else {
+- result.capabilityExchange_ = value;
++ capabilityExchangeBuilder_.mergeFrom(value);
+ }
+- result.hasCapabilityExchange = true;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder clearCapabilityExchange() {
+- result.hasCapabilityExchange = false;
+- result.capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
++ onChanged();
++ } else {
++ capabilityExchangeBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder getCapabilityExchangeBuilder() {
++ bitField0_ |= 0x00000002;
++ onChanged();
++ return getCapabilityExchangeFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
++ if (capabilityExchangeBuilder_ != null) {
++ return capabilityExchangeBuilder_.getMessageOrBuilder();
++ } else {
++ return capabilityExchange_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder>
++ getCapabilityExchangeFieldBuilder() {
++ if (capabilityExchangeBuilder_ == null) {
++ capabilityExchangeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder>(
++ capabilityExchange_,
++ getParentForChildren(),
++ isClean());
++ capabilityExchange_ = null;
++ }
++ return capabilityExchangeBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder> restartWebServerBuilder_;
+ public boolean hasRestartWebServer() {
+- return result.hasRestartWebServer();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer getRestartWebServer() {
+- return result.getRestartWebServer();
++ if (restartWebServerBuilder_ == null) {
++ return restartWebServer_;
++ } else {
++ return restartWebServerBuilder_.getMessage();
++ }
+ }
+ public Builder setRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (restartWebServerBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ restartWebServer_ = value;
++ onChanged();
++ } else {
++ restartWebServerBuilder_.setMessage(value);
+ }
+- result.hasRestartWebServer = true;
+- result.restartWebServer_ = value;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+- public Builder setRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder builderForValue) {
+- result.hasRestartWebServer = true;
+- result.restartWebServer_ = builderForValue.build();
++ public Builder setRestartWebServer(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder builderForValue) {
++ if (restartWebServerBuilder_ == null) {
++ restartWebServer_ = builderForValue.build();
++ onChanged();
++ } else {
++ restartWebServerBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder mergeRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer value) {
+- if (result.hasRestartWebServer() &&
+- result.restartWebServer_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance()) {
+- result.restartWebServer_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.newBuilder(result.restartWebServer_).mergeFrom(value).buildPartial();
++ if (restartWebServerBuilder_ == null) {
++ if (((bitField0_ & 0x00000004) == 0x00000004) &&
++ restartWebServer_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance()) {
++ restartWebServer_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.newBuilder(restartWebServer_).mergeFrom(value).buildPartial();
++ } else {
++ restartWebServer_ = value;
++ }
++ onChanged();
+ } else {
+- result.restartWebServer_ = value;
++ restartWebServerBuilder_.mergeFrom(value);
+ }
+- result.hasRestartWebServer = true;
++ bitField0_ |= 0x00000004;
+ return this;
+ }
+ public Builder clearRestartWebServer() {
+- result.hasRestartWebServer = false;
+- result.restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
++ if (restartWebServerBuilder_ == null) {
++ restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
++ onChanged();
++ } else {
++ restartWebServerBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder getRestartWebServerBuilder() {
++ bitField0_ |= 0x00000004;
++ onChanged();
++ return getRestartWebServerFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder getRestartWebServerOrBuilder() {
++ if (restartWebServerBuilder_ != null) {
++ return restartWebServerBuilder_.getMessageOrBuilder();
++ } else {
++ return restartWebServer_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder>
++ getRestartWebServerFieldBuilder() {
++ if (restartWebServerBuilder_ == null) {
++ restartWebServerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder>(
++ restartWebServer_,
++ getParentForChildren(),
++ isClean());
++ restartWebServer_ = null;
++ }
++ return restartWebServerBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new DevModeResponse(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse)
+ }
+
++ private int bitField0_;
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;
+ public static final int VIEWERRESPONSE_FIELD_NUMBER = 1;
+- private boolean hasViewerResponse;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
+- public boolean hasViewerResponse() { return hasViewerResponse; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse getViewerResponse() { return viewerResponse_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse viewerResponse_;
++ public boolean hasViewerResponse() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse getViewerResponse() {
++ return viewerResponse_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder getViewerResponseOrBuilder() {
++ return viewerResponse_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;
+ public static final int DEVMODERESPONSE_FIELD_NUMBER = 2;
+- private boolean hasDevModeResponse;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
+- public boolean hasDevModeResponse() { return hasDevModeResponse; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse getDevModeResponse() { return devModeResponse_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse devModeResponse_;
++ public boolean hasDevModeResponse() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse getDevModeResponse() {
++ return devModeResponse_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder getDevModeResponseOrBuilder() {
++ return devModeResponse_;
++ }
+
++ private void initFields() {
++ viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
++ devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
+ if (hasViewerResponse()) {
+- if (!getViewerResponse().isInitialized()) return false;
++ if (!getViewerResponse().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasViewerResponse()) {
+- output.writeMessage(1, getViewerResponse());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeMessage(1, viewerResponse_);
+ }
+- if (hasDevModeResponse()) {
+- output.writeMessage(2, getDevModeResponse());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeMessage(2, devModeResponse_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -9202,39 +13875,46 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasViewerResponse()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(1, getViewerResponse());
+- }
+- if (hasDevModeResponse()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(2, getDevModeResponse());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(1, viewerResponse_);
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(2, devModeResponse_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -9244,30 +13924,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -9280,37 +13969,66 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getViewerResponseFieldBuilder();
++ getDevModeResponseFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ if (viewerResponseBuilder_ == null) {
++ viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
++ } else {
++ viewerResponseBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000001);
++ if (devModeResponseBuilder_ == null) {
++ devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
++ } else {
++ devModeResponseBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response();
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDescriptor();
+ }
+@@ -9319,36 +14037,50 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ if (viewerResponseBuilder_ == null) {
++ result.viewerResponse_ = viewerResponse_;
++ } else {
++ result.viewerResponse_ = viewerResponseBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response returnMe = result;
+- result = null;
+- return returnMe;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ if (devModeResponseBuilder_ == null) {
++ result.devModeResponse_ = devModeResponse_;
++ } else {
++ result.devModeResponse_ = devModeResponseBuilder_.build();
++ }
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response)other);
+ } else {
+@@ -9369,23 +14101,35 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (hasViewerResponse()) {
++ if (!getViewerResponse().isInitialized()) {
++
++ return false;
++ }
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+@@ -9412,97 +14156,220 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder> viewerResponseBuilder_;
+ public boolean hasViewerResponse() {
+- return result.hasViewerResponse();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse getViewerResponse() {
+- return result.getViewerResponse();
++ if (viewerResponseBuilder_ == null) {
++ return viewerResponse_;
++ } else {
++ return viewerResponseBuilder_.getMessage();
++ }
+ }
+ public Builder setViewerResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (viewerResponseBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ viewerResponse_ = value;
++ onChanged();
++ } else {
++ viewerResponseBuilder_.setMessage(value);
+ }
+- result.hasViewerResponse = true;
+- result.viewerResponse_ = value;
++ bitField0_ |= 0x00000001;
+ return this;
+ }
+- public Builder setViewerResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder builderForValue) {
+- result.hasViewerResponse = true;
+- result.viewerResponse_ = builderForValue.build();
++ public Builder setViewerResponse(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder builderForValue) {
++ if (viewerResponseBuilder_ == null) {
++ viewerResponse_ = builderForValue.build();
++ onChanged();
++ } else {
++ viewerResponseBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000001;
+ return this;
+ }
+ public Builder mergeViewerResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse value) {
+- if (result.hasViewerResponse() &&
+- result.viewerResponse_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance()) {
+- result.viewerResponse_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.newBuilder(result.viewerResponse_).mergeFrom(value).buildPartial();
++ if (viewerResponseBuilder_ == null) {
++ if (((bitField0_ & 0x00000001) == 0x00000001) &&
++ viewerResponse_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance()) {
++ viewerResponse_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.newBuilder(viewerResponse_).mergeFrom(value).buildPartial();
++ } else {
++ viewerResponse_ = value;
++ }
++ onChanged();
+ } else {
+- result.viewerResponse_ = value;
++ viewerResponseBuilder_.mergeFrom(value);
+ }
+- result.hasViewerResponse = true;
++ bitField0_ |= 0x00000001;
+ return this;
+ }
+ public Builder clearViewerResponse() {
+- result.hasViewerResponse = false;
+- result.viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
++ if (viewerResponseBuilder_ == null) {
++ viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
++ onChanged();
++ } else {
++ viewerResponseBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder getViewerResponseBuilder() {
++ bitField0_ |= 0x00000001;
++ onChanged();
++ return getViewerResponseFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder getViewerResponseOrBuilder() {
++ if (viewerResponseBuilder_ != null) {
++ return viewerResponseBuilder_.getMessageOrBuilder();
++ } else {
++ return viewerResponse_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder>
++ getViewerResponseFieldBuilder() {
++ if (viewerResponseBuilder_ == null) {
++ viewerResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder>(
++ viewerResponse_,
++ getParentForChildren(),
++ isClean());
++ viewerResponse_ = null;
++ }
++ return viewerResponseBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder> devModeResponseBuilder_;
+ public boolean hasDevModeResponse() {
+- return result.hasDevModeResponse();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse getDevModeResponse() {
+- return result.getDevModeResponse();
++ if (devModeResponseBuilder_ == null) {
++ return devModeResponse_;
++ } else {
++ return devModeResponseBuilder_.getMessage();
++ }
+ }
+ public Builder setDevModeResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (devModeResponseBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ devModeResponse_ = value;
++ onChanged();
++ } else {
++ devModeResponseBuilder_.setMessage(value);
+ }
+- result.hasDevModeResponse = true;
+- result.devModeResponse_ = value;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+- public Builder setDevModeResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder builderForValue) {
+- result.hasDevModeResponse = true;
+- result.devModeResponse_ = builderForValue.build();
++ public Builder setDevModeResponse(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder builderForValue) {
++ if (devModeResponseBuilder_ == null) {
++ devModeResponse_ = builderForValue.build();
++ onChanged();
++ } else {
++ devModeResponseBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder mergeDevModeResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse value) {
+- if (result.hasDevModeResponse() &&
+- result.devModeResponse_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance()) {
+- result.devModeResponse_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.newBuilder(result.devModeResponse_).mergeFrom(value).buildPartial();
++ if (devModeResponseBuilder_ == null) {
++ if (((bitField0_ & 0x00000002) == 0x00000002) &&
++ devModeResponse_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance()) {
++ devModeResponse_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.newBuilder(devModeResponse_).mergeFrom(value).buildPartial();
++ } else {
++ devModeResponse_ = value;
++ }
++ onChanged();
+ } else {
+- result.devModeResponse_ = value;
++ devModeResponseBuilder_.mergeFrom(value);
+ }
+- result.hasDevModeResponse = true;
++ bitField0_ |= 0x00000002;
+ return this;
+ }
+ public Builder clearDevModeResponse() {
+- result.hasDevModeResponse = false;
+- result.devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
++ if (devModeResponseBuilder_ == null) {
++ devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
++ onChanged();
++ } else {
++ devModeResponseBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder getDevModeResponseBuilder() {
++ bitField0_ |= 0x00000002;
++ onChanged();
++ return getDevModeResponseFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder getDevModeResponseOrBuilder() {
++ if (devModeResponseBuilder_ != null) {
++ return devModeResponseBuilder_.getMessageOrBuilder();
++ } else {
++ return devModeResponse_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder>
++ getDevModeResponseFieldBuilder() {
++ if (devModeResponseBuilder_ == null) {
++ devModeResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder>(
++ devModeResponse_,
++ getParentForChildren(),
++ isClean());
++ devModeResponse_ = null;
++ }
++ return devModeResponseBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new Response(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response)
+ }
+
++ public interface FailureOrBuilder
++ extends com.google.protobuf.MessageOrBuilder {
++
++ // optional string message = 1;
++ boolean hasMessage();
++ String getMessage();
++
++ // optional string stackTrace = 2;
++ boolean hasStackTrace();
++ String getStackTrace();
++ }
+ public static final class Failure extends
+- com.google.gwt.dev.protobuf.GeneratedMessage {
++ com.google.protobuf.GeneratedMessage
++ implements FailureOrBuilder {
+ // Use Failure.newBuilder() to construct.
+- private Failure() {}
++ private Failure(Builder builder) {
++ super(builder);
++ }
++ private Failure(boolean noInit) {}
+
+- private static final Failure defaultInstance = new Failure();
++ private static final Failure defaultInstance;
+ public static Failure getDefaultInstance() {
+ return defaultInstance;
+ }
+@@ -9511,41 +14378,102 @@ public final class RemoteMessageProto {
+ return defaultInstance;
+ }
+
+- public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor;
+ }
+
+- protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_fieldAccessorTable;
+ }
+
++ private int bitField0_;
+ // optional string message = 1;
+ public static final int MESSAGE_FIELD_NUMBER = 1;
+- private boolean hasMessage;
+- private java.lang.String message_ = "";
+- public boolean hasMessage() { return hasMessage; }
+- public java.lang.String getMessage() { return message_; }
++ private java.lang.Object message_;
++ public boolean hasMessage() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public String getMessage() {
++ java.lang.Object ref = message_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ message_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getMessageBytes() {
++ java.lang.Object ref = message_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ message_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional string stackTrace = 2;
+ public static final int STACKTRACE_FIELD_NUMBER = 2;
+- private boolean hasStackTrace;
+- private java.lang.String stackTrace_ = "";
+- public boolean hasStackTrace() { return hasStackTrace; }
+- public java.lang.String getStackTrace() { return stackTrace_; }
++ private java.lang.Object stackTrace_;
++ public boolean hasStackTrace() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public String getStackTrace() {
++ java.lang.Object ref = stackTrace_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ stackTrace_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getStackTraceBytes() {
++ java.lang.Object ref = stackTrace_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ stackTrace_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
++ private void initFields() {
++ message_ = "";
++ stackTrace_ = "";
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasMessage()) {
+- output.writeString(1, getMessage());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeBytes(1, getMessageBytes());
+ }
+- if (hasStackTrace()) {
+- output.writeString(2, getStackTrace());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeBytes(2, getStackTraceBytes());
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -9556,39 +14484,46 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasMessage()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(1, getMessage());
+- }
+- if (hasStackTrace()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(2, getStackTrace());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(1, getMessageBytes());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(2, getStackTraceBytes());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -9598,30 +14533,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -9634,37 +14578,56 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
+- }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure();
++ super.clear();
++ message_ = "";
++ bitField0_ = (bitField0_ & ~0x00000001);
++ stackTrace_ = "";
++ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDescriptor();
+ }
+@@ -9673,36 +14636,42 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
+- }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure returnMe = result;
+- result = null;
+- return returnMe;
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.message_ = message_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ result.stackTrace_ = stackTrace_;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure)other);
+ } else {
+@@ -9723,164 +14692,277 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+- setMessage(input.readString());
++ bitField0_ |= 0x00000001;
++ message_ = input.readBytes();
+ break;
+ }
+ case 18: {
+- setStackTrace(input.readString());
++ bitField0_ |= 0x00000002;
++ stackTrace_ = input.readBytes();
+ break;
+ }
+ }
+ }
+ }
+
++ private int bitField0_;
+
+ // optional string message = 1;
++ private java.lang.Object message_ = "";
+ public boolean hasMessage() {
+- return result.hasMessage();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+- public java.lang.String getMessage() {
+- return result.getMessage();
++ public String getMessage() {
++ java.lang.Object ref = message_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ message_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setMessage(java.lang.String value) {
++ public Builder setMessage(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasMessage = true;
+- result.message_ = value;
++ bitField0_ |= 0x00000001;
++ message_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearMessage() {
+- result.hasMessage = false;
+- result.message_ = getDefaultInstance().getMessage();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ message_ = getDefaultInstance().getMessage();
++ onChanged();
+ return this;
+ }
++ void setMessage(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000001;
++ message_ = value;
++ onChanged();
++ }
+
+ // optional string stackTrace = 2;
++ private java.lang.Object stackTrace_ = "";
+ public boolean hasStackTrace() {
+- return result.hasStackTrace();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+- public java.lang.String getStackTrace() {
+- return result.getStackTrace();
++ public String getStackTrace() {
++ java.lang.Object ref = stackTrace_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ stackTrace_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setStackTrace(java.lang.String value) {
++ public Builder setStackTrace(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasStackTrace = true;
+- result.stackTrace_ = value;
++ bitField0_ |= 0x00000002;
++ stackTrace_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearStackTrace() {
+- result.hasStackTrace = false;
+- result.stackTrace_ = getDefaultInstance().getStackTrace();
++ bitField0_ = (bitField0_ & ~0x00000002);
++ stackTrace_ = getDefaultInstance().getStackTrace();
++ onChanged();
+ return this;
+ }
++ void setStackTrace(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000002;
++ stackTrace_ = value;
++ onChanged();
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Failure)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new Failure(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Failure)
+ }
+
++ private int bitField0_;
+ // optional string protocolVersion = 1;
+ public static final int PROTOCOLVERSION_FIELD_NUMBER = 1;
+- private boolean hasProtocolVersion;
+- private java.lang.String protocolVersion_ = "";
+- public boolean hasProtocolVersion() { return hasProtocolVersion; }
+- public java.lang.String getProtocolVersion() { return protocolVersion_; }
++ private java.lang.Object protocolVersion_;
++ public boolean hasProtocolVersion() {
++ return ((bitField0_ & 0x00000001) == 0x00000001);
++ }
++ public String getProtocolVersion() {
++ java.lang.Object ref = protocolVersion_;
++ if (ref instanceof String) {
++ return (String) ref;
++ } else {
++ com.google.protobuf.ByteString bs =
++ (com.google.protobuf.ByteString) ref;
++ String s = bs.toStringUtf8();
++ if (com.google.protobuf.Internal.isValidUtf8(bs)) {
++ protocolVersion_ = s;
++ }
++ return s;
++ }
++ }
++ private com.google.protobuf.ByteString getProtocolVersionBytes() {
++ java.lang.Object ref = protocolVersion_;
++ if (ref instanceof String) {
++ com.google.protobuf.ByteString b =
++ com.google.protobuf.ByteString.copyFromUtf8((String) ref);
++ protocolVersion_ = b;
++ return b;
++ } else {
++ return (com.google.protobuf.ByteString) ref;
++ }
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;
+ public static final int MESSAGETYPE_FIELD_NUMBER = 2;
+- private boolean hasMessageType;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
+- public boolean hasMessageType() { return hasMessageType; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType getMessageType() { return messageType_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType messageType_;
++ public boolean hasMessageType() {
++ return ((bitField0_ & 0x00000002) == 0x00000002);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType getMessageType() {
++ return messageType_;
++ }
+
+ // required uint32 messageId = 3;
+ public static final int MESSAGEID_FIELD_NUMBER = 3;
+- private boolean hasMessageId;
+- private int messageId_ = 0;
+- public boolean hasMessageId() { return hasMessageId; }
+- public int getMessageId() { return messageId_; }
++ private int messageId_;
++ public boolean hasMessageId() {
++ return ((bitField0_ & 0x00000004) == 0x00000004);
++ }
++ public int getMessageId() {
++ return messageId_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;
+ public static final int REQUEST_FIELD_NUMBER = 4;
+- private boolean hasRequest;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
+- public boolean hasRequest() { return hasRequest; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request getRequest() { return request_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request request_;
++ public boolean hasRequest() {
++ return ((bitField0_ & 0x00000008) == 0x00000008);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request getRequest() {
++ return request_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder getRequestOrBuilder() {
++ return request_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;
+ public static final int RESPONSE_FIELD_NUMBER = 5;
+- private boolean hasResponse;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
+- public boolean hasResponse() { return hasResponse; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response getResponse() { return response_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response response_;
++ public boolean hasResponse() {
++ return ((bitField0_ & 0x00000010) == 0x00000010);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response getResponse() {
++ return response_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder getResponseOrBuilder() {
++ return response_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;
+ public static final int FAILURE_FIELD_NUMBER = 6;
+- private boolean hasFailure;
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
+- public boolean hasFailure() { return hasFailure; }
+- public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure getFailure() { return failure_; }
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure failure_;
++ public boolean hasFailure() {
++ return ((bitField0_ & 0x00000020) == 0x00000020);
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure getFailure() {
++ return failure_;
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder getFailureOrBuilder() {
++ return failure_;
++ }
+
++ private void initFields() {
++ protocolVersion_ = "";
++ messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
++ messageId_ = 0;
++ request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
++ response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
++ failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
++ }
++ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+- if (!hasMessageId) return false;
++ byte isInitialized = memoizedIsInitialized;
++ if (isInitialized != -1) return isInitialized == 1;
++
++ if (!hasMessageId()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ if (hasRequest()) {
+- if (!getRequest().isInitialized()) return false;
++ if (!getRequest().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
+ if (hasResponse()) {
+- if (!getResponse().isInitialized()) return false;
++ if (!getResponse().isInitialized()) {
++ memoizedIsInitialized = 0;
++ return false;
++ }
+ }
++ memoizedIsInitialized = 1;
+ return true;
+ }
+
+- public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
++ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+- if (hasProtocolVersion()) {
+- output.writeString(1, getProtocolVersion());
++ getSerializedSize();
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ output.writeBytes(1, getProtocolVersionBytes());
+ }
+- if (hasMessageType()) {
+- output.writeEnum(2, getMessageType().getNumber());
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ output.writeEnum(2, messageType_.getNumber());
+ }
+- if (hasMessageId()) {
+- output.writeUInt32(3, getMessageId());
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ output.writeUInt32(3, messageId_);
+ }
+- if (hasRequest()) {
+- output.writeMessage(4, getRequest());
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ output.writeMessage(4, request_);
+ }
+- if (hasResponse()) {
+- output.writeMessage(5, getResponse());
++ if (((bitField0_ & 0x00000010) == 0x00000010)) {
++ output.writeMessage(5, response_);
+ }
+- if (hasFailure()) {
+- output.writeMessage(6, getFailure());
++ if (((bitField0_ & 0x00000020) == 0x00000020)) {
++ output.writeMessage(6, failure_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+@@ -9891,55 +14973,62 @@ public final class RemoteMessageProto {
+ if (size != -1) return size;
+
+ size = 0;
+- if (hasProtocolVersion()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeStringSize(1, getProtocolVersion());
+- }
+- if (hasMessageType()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeEnumSize(2, getMessageType().getNumber());
+- }
+- if (hasMessageId()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeUInt32Size(3, getMessageId());
+- }
+- if (hasRequest()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(4, getRequest());
+- }
+- if (hasResponse()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(5, getResponse());
+- }
+- if (hasFailure()) {
+- size += com.google.gwt.dev.protobuf.CodedOutputStream
+- .computeMessageSize(6, getFailure());
++ if (((bitField0_ & 0x00000001) == 0x00000001)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeBytesSize(1, getProtocolVersionBytes());
++ }
++ if (((bitField0_ & 0x00000002) == 0x00000002)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeEnumSize(2, messageType_.getNumber());
++ }
++ if (((bitField0_ & 0x00000004) == 0x00000004)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeUInt32Size(3, messageId_);
++ }
++ if (((bitField0_ & 0x00000008) == 0x00000008)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(4, request_);
++ }
++ if (((bitField0_ & 0x00000010) == 0x00000010)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(5, response_);
++ }
++ if (((bitField0_ & 0x00000020) == 0x00000020)) {
++ size += com.google.protobuf.CodedOutputStream
++ .computeMessageSize(6, failure_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSerializedSize = size;
+ return size;
+ }
+
++ private static final long serialVersionUID = 0L;
++ @java.lang.Override
++ protected java.lang.Object writeReplace()
++ throws java.io.ObjectStreamException {
++ return super.writeReplace();
++ }
++
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
+- com.google.gwt.dev.protobuf.ByteString data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ByteString data,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(byte[] data)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
+ byte[] data,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
++ throws com.google.protobuf.InvalidProtocolBufferException {
+ return newBuilder().mergeFrom(data, extensionRegistry)
+ .buildParsed();
+ }
+@@ -9949,30 +15038,39 @@ public final class RemoteMessageProto {
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input).buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseDelimitedFrom(
+ java.io.InputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
+- .buildParsed();
++ Builder builder = newBuilder();
++ if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
++ return builder.buildParsed();
++ } else {
++ return null;
++ }
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input)
++ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input).buildParsed();
+ }
+ public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return newBuilder().mergeFrom(input, extensionRegistry)
+ .buildParsed();
+@@ -9985,37 +15083,79 @@ public final class RemoteMessageProto {
+ }
+ public Builder toBuilder() { return newBuilder(this); }
+
++ @java.lang.Override
++ protected Builder newBuilderForType(
++ com.google.protobuf.GeneratedMessage.BuilderParent parent) {
++ Builder builder = new Builder(parent);
++ return builder;
++ }
+ public static final class Builder extends
+- com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder> {
+- private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message result;
++ com.google.protobuf.GeneratedMessage.Builder<Builder>
++ implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.MessageOrBuilder {
++ public static final com.google.protobuf.Descriptors.Descriptor
++ getDescriptor() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor;
++ }
+
+- // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.newBuilder()
+- private Builder() {}
++ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
++ internalGetFieldAccessorTable() {
++ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_fieldAccessorTable;
++ }
+
+- private static Builder create() {
+- Builder builder = new Builder();
+- builder.result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message();
+- return builder;
++ // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.newBuilder()
++ private Builder() {
++ maybeForceBuilderInitialization();
+ }
+
+- protected com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message internalGetResult() {
+- return result;
++ private Builder(BuilderParent parent) {
++ super(parent);
++ maybeForceBuilderInitialization();
++ }
++ private void maybeForceBuilderInitialization() {
++ if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
++ getRequestFieldBuilder();
++ getResponseFieldBuilder();
++ getFailureFieldBuilder();
++ }
++ }
++ private static Builder create() {
++ return new Builder();
+ }
+
+ public Builder clear() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "Cannot call clear() after build().");
++ super.clear();
++ protocolVersion_ = "";
++ bitField0_ = (bitField0_ & ~0x00000001);
++ messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ messageId_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000004);
++ if (requestBuilder_ == null) {
++ request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
++ } else {
++ requestBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000008);
++ if (responseBuilder_ == null) {
++ response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
++ } else {
++ responseBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000010);
++ if (failureBuilder_ == null) {
++ failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
++ } else {
++ failureBuilder_.clear();
+ }
+- result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message();
++ bitField0_ = (bitField0_ & ~0x00000020);
+ return this;
+ }
+
+ public Builder clone() {
+- return create().mergeFrom(result);
++ return create().mergeFrom(buildPartial());
+ }
+
+- public com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.getDescriptor();
+ }
+@@ -10024,36 +15164,70 @@ public final class RemoteMessageProto {
+ return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.getDefaultInstance();
+ }
+
+- public boolean isInitialized() {
+- return result.isInitialized();
+- }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message build() {
+- if (result != null && !isInitialized()) {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+- return buildPartial();
++ return result;
+ }
+
+ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message buildParsed()
+- throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
+- if (!isInitialized()) {
++ throws com.google.protobuf.InvalidProtocolBufferException {
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message result = buildPartial();
++ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(
+ result).asInvalidProtocolBufferException();
+ }
+- return buildPartial();
++ return result;
+ }
+
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message buildPartial() {
+- if (result == null) {
+- throw new IllegalStateException(
+- "build() has already been called on this Builder.");
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message(this);
++ int from_bitField0_ = bitField0_;
++ int to_bitField0_ = 0;
++ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
++ to_bitField0_ |= 0x00000001;
++ }
++ result.protocolVersion_ = protocolVersion_;
++ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
++ to_bitField0_ |= 0x00000002;
++ }
++ result.messageType_ = messageType_;
++ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
++ to_bitField0_ |= 0x00000004;
++ }
++ result.messageId_ = messageId_;
++ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
++ to_bitField0_ |= 0x00000008;
++ }
++ if (requestBuilder_ == null) {
++ result.request_ = request_;
++ } else {
++ result.request_ = requestBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
++ to_bitField0_ |= 0x00000010;
++ }
++ if (responseBuilder_ == null) {
++ result.response_ = response_;
++ } else {
++ result.response_ = responseBuilder_.build();
++ }
++ if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
++ to_bitField0_ |= 0x00000020;
++ }
++ if (failureBuilder_ == null) {
++ result.failure_ = failure_;
++ } else {
++ result.failure_ = failureBuilder_.build();
+ }
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message returnMe = result;
+- result = null;
+- return returnMe;
++ result.bitField0_ = to_bitField0_;
++ onBuilt();
++ return result;
+ }
+
+- public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
++ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message) {
+ return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message)other);
+ } else {
+@@ -10086,29 +15260,52 @@ public final class RemoteMessageProto {
+ return this;
+ }
+
++ public final boolean isInitialized() {
++ if (!hasMessageId()) {
++
++ return false;
++ }
++ if (hasRequest()) {
++ if (!getRequest().isInitialized()) {
++
++ return false;
++ }
++ }
++ if (hasResponse()) {
++ if (!getResponse().isInitialized()) {
++
++ return false;
++ }
++ }
++ return true;
++ }
++
+ public Builder mergeFrom(
+- com.google.gwt.dev.protobuf.CodedInputStream input,
+- com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
++ com.google.protobuf.CodedInputStream input,
++ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+- com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
+- com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder(
++ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
++ com.google.protobuf.UnknownFieldSet.newBuilder(
+ this.getUnknownFields());
+ while (true) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ default: {
+ if (!parseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.setUnknownFields(unknownFields.build());
++ onChanged();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+- setProtocolVersion(input.readString());
++ bitField0_ |= 0x00000001;
++ protocolVersion_ = input.readBytes();
+ break;
+ }
+ case 16: {
+@@ -10117,12 +15314,14 @@ public final class RemoteMessageProto {
+ if (value == null) {
+ unknownFields.mergeVarintField(2, rawValue);
+ } else {
+- setMessageType(value);
++ bitField0_ |= 0x00000002;
++ messageType_ = value;
+ }
+ break;
+ }
+ case 24: {
+- setMessageId(input.readUInt32());
++ bitField0_ |= 0x00000004;
++ messageId_ = input.readUInt32();
+ break;
+ }
+ case 34: {
+@@ -10156,334 +15355,516 @@ public final class RemoteMessageProto {
+ }
+ }
+
++ private int bitField0_;
+
+ // optional string protocolVersion = 1;
++ private java.lang.Object protocolVersion_ = "";
+ public boolean hasProtocolVersion() {
+- return result.hasProtocolVersion();
++ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+- public java.lang.String getProtocolVersion() {
+- return result.getProtocolVersion();
++ public String getProtocolVersion() {
++ java.lang.Object ref = protocolVersion_;
++ if (!(ref instanceof String)) {
++ String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
++ protocolVersion_ = s;
++ return s;
++ } else {
++ return (String) ref;
++ }
+ }
+- public Builder setProtocolVersion(java.lang.String value) {
++ public Builder setProtocolVersion(String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasProtocolVersion = true;
+- result.protocolVersion_ = value;
++ bitField0_ |= 0x00000001;
++ protocolVersion_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearProtocolVersion() {
+- result.hasProtocolVersion = false;
+- result.protocolVersion_ = getDefaultInstance().getProtocolVersion();
++ bitField0_ = (bitField0_ & ~0x00000001);
++ protocolVersion_ = getDefaultInstance().getProtocolVersion();
++ onChanged();
+ return this;
+ }
++ void setProtocolVersion(com.google.protobuf.ByteString value) {
++ bitField0_ |= 0x00000001;
++ protocolVersion_ = value;
++ onChanged();
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
+ public boolean hasMessageType() {
+- return result.hasMessageType();
++ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType getMessageType() {
+- return result.getMessageType();
++ return messageType_;
+ }
+ public Builder setMessageType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+- result.hasMessageType = true;
+- result.messageType_ = value;
++ bitField0_ |= 0x00000002;
++ messageType_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearMessageType() {
+- result.hasMessageType = false;
+- result.messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
++ bitField0_ = (bitField0_ & ~0x00000002);
++ messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
++ onChanged();
+ return this;
+ }
+
+ // required uint32 messageId = 3;
++ private int messageId_ ;
+ public boolean hasMessageId() {
+- return result.hasMessageId();
++ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ public int getMessageId() {
+- return result.getMessageId();
++ return messageId_;
+ }
+ public Builder setMessageId(int value) {
+- result.hasMessageId = true;
+- result.messageId_ = value;
++ bitField0_ |= 0x00000004;
++ messageId_ = value;
++ onChanged();
+ return this;
+ }
+ public Builder clearMessageId() {
+- result.hasMessageId = false;
+- result.messageId_ = 0;
++ bitField0_ = (bitField0_ & ~0x00000004);
++ messageId_ = 0;
++ onChanged();
+ return this;
+ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder> requestBuilder_;
+ public boolean hasRequest() {
+- return result.hasRequest();
++ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request getRequest() {
+- return result.getRequest();
++ if (requestBuilder_ == null) {
++ return request_;
++ } else {
++ return requestBuilder_.getMessage();
++ }
+ }
+ public Builder setRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (requestBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ request_ = value;
++ onChanged();
++ } else {
++ requestBuilder_.setMessage(value);
+ }
+- result.hasRequest = true;
+- result.request_ = value;
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+- public Builder setRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder builderForValue) {
+- result.hasRequest = true;
+- result.request_ = builderForValue.build();
++ public Builder setRequest(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder builderForValue) {
++ if (requestBuilder_ == null) {
++ request_ = builderForValue.build();
++ onChanged();
++ } else {
++ requestBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+ public Builder mergeRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request value) {
+- if (result.hasRequest() &&
+- result.request_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance()) {
+- result.request_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.newBuilder(result.request_).mergeFrom(value).buildPartial();
++ if (requestBuilder_ == null) {
++ if (((bitField0_ & 0x00000008) == 0x00000008) &&
++ request_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance()) {
++ request_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.newBuilder(request_).mergeFrom(value).buildPartial();
++ } else {
++ request_ = value;
++ }
++ onChanged();
+ } else {
+- result.request_ = value;
++ requestBuilder_.mergeFrom(value);
+ }
+- result.hasRequest = true;
++ bitField0_ |= 0x00000008;
+ return this;
+ }
+ public Builder clearRequest() {
+- result.hasRequest = false;
+- result.request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
++ if (requestBuilder_ == null) {
++ request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
++ onChanged();
++ } else {
++ requestBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder getRequestBuilder() {
++ bitField0_ |= 0x00000008;
++ onChanged();
++ return getRequestFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder getRequestOrBuilder() {
++ if (requestBuilder_ != null) {
++ return requestBuilder_.getMessageOrBuilder();
++ } else {
++ return request_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder>
++ getRequestFieldBuilder() {
++ if (requestBuilder_ == null) {
++ requestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder>(
++ request_,
++ getParentForChildren(),
++ isClean());
++ request_ = null;
++ }
++ return requestBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder> responseBuilder_;
+ public boolean hasResponse() {
+- return result.hasResponse();
++ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response getResponse() {
+- return result.getResponse();
++ if (responseBuilder_ == null) {
++ return response_;
++ } else {
++ return responseBuilder_.getMessage();
++ }
+ }
+ public Builder setResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (responseBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ response_ = value;
++ onChanged();
++ } else {
++ responseBuilder_.setMessage(value);
+ }
+- result.hasResponse = true;
+- result.response_ = value;
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+- public Builder setResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder builderForValue) {
+- result.hasResponse = true;
+- result.response_ = builderForValue.build();
++ public Builder setResponse(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder builderForValue) {
++ if (responseBuilder_ == null) {
++ response_ = builderForValue.build();
++ onChanged();
++ } else {
++ responseBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+ public Builder mergeResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response value) {
+- if (result.hasResponse() &&
+- result.response_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance()) {
+- result.response_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.newBuilder(result.response_).mergeFrom(value).buildPartial();
++ if (responseBuilder_ == null) {
++ if (((bitField0_ & 0x00000010) == 0x00000010) &&
++ response_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance()) {
++ response_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.newBuilder(response_).mergeFrom(value).buildPartial();
++ } else {
++ response_ = value;
++ }
++ onChanged();
+ } else {
+- result.response_ = value;
++ responseBuilder_.mergeFrom(value);
+ }
+- result.hasResponse = true;
++ bitField0_ |= 0x00000010;
+ return this;
+ }
+ public Builder clearResponse() {
+- result.hasResponse = false;
+- result.response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
++ if (responseBuilder_ == null) {
++ response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
++ onChanged();
++ } else {
++ responseBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder getResponseBuilder() {
++ bitField0_ |= 0x00000010;
++ onChanged();
++ return getResponseFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder getResponseOrBuilder() {
++ if (responseBuilder_ != null) {
++ return responseBuilder_.getMessageOrBuilder();
++ } else {
++ return response_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder>
++ getResponseFieldBuilder() {
++ if (responseBuilder_ == null) {
++ responseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder>(
++ response_,
++ getParentForChildren(),
++ isClean());
++ response_ = null;
++ }
++ return responseBuilder_;
++ }
+
+ // optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;
++ private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder> failureBuilder_;
+ public boolean hasFailure() {
+- return result.hasFailure();
++ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure getFailure() {
+- return result.getFailure();
++ if (failureBuilder_ == null) {
++ return failure_;
++ } else {
++ return failureBuilder_.getMessage();
++ }
+ }
+ public Builder setFailure(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure value) {
+- if (value == null) {
+- throw new NullPointerException();
++ if (failureBuilder_ == null) {
++ if (value == null) {
++ throw new NullPointerException();
++ }
++ failure_ = value;
++ onChanged();
++ } else {
++ failureBuilder_.setMessage(value);
+ }
+- result.hasFailure = true;
+- result.failure_ = value;
++ bitField0_ |= 0x00000020;
+ return this;
+ }
+- public Builder setFailure(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder builderForValue) {
+- result.hasFailure = true;
+- result.failure_ = builderForValue.build();
++ public Builder setFailure(
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder builderForValue) {
++ if (failureBuilder_ == null) {
++ failure_ = builderForValue.build();
++ onChanged();
++ } else {
++ failureBuilder_.setMessage(builderForValue.build());
++ }
++ bitField0_ |= 0x00000020;
+ return this;
+ }
+ public Builder mergeFailure(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure value) {
+- if (result.hasFailure() &&
+- result.failure_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance()) {
+- result.failure_ =
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.newBuilder(result.failure_).mergeFrom(value).buildPartial();
++ if (failureBuilder_ == null) {
++ if (((bitField0_ & 0x00000020) == 0x00000020) &&
++ failure_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance()) {
++ failure_ =
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.newBuilder(failure_).mergeFrom(value).buildPartial();
++ } else {
++ failure_ = value;
++ }
++ onChanged();
+ } else {
+- result.failure_ = value;
++ failureBuilder_.mergeFrom(value);
+ }
+- result.hasFailure = true;
++ bitField0_ |= 0x00000020;
+ return this;
+ }
+ public Builder clearFailure() {
+- result.hasFailure = false;
+- result.failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
++ if (failureBuilder_ == null) {
++ failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
++ onChanged();
++ } else {
++ failureBuilder_.clear();
++ }
++ bitField0_ = (bitField0_ & ~0x00000020);
+ return this;
+ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder getFailureBuilder() {
++ bitField0_ |= 0x00000020;
++ onChanged();
++ return getFailureFieldBuilder().getBuilder();
++ }
++ public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder getFailureOrBuilder() {
++ if (failureBuilder_ != null) {
++ return failureBuilder_.getMessageOrBuilder();
++ } else {
++ return failure_;
++ }
++ }
++ private com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder>
++ getFailureFieldBuilder() {
++ if (failureBuilder_ == null) {
++ failureBuilder_ = new com.google.protobuf.SingleFieldBuilder<
++ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder>(
++ failure_,
++ getParentForChildren(),
++ isClean());
++ failure_ = null;
++ }
++ return failureBuilder_;
++ }
++
++ // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message)
+ }
+
+ static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.getDescriptor();
++ defaultInstance = new Message(true);
++ defaultInstance.initFields();
+ }
+
+- static {
+- com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internalForceInit();
+- }
++ // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message)
+ }
+
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_fieldAccessorTable;
+- private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
++ private static com.google.protobuf.Descriptors.Descriptor
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor;
+ private static
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_fieldAccessorTable;
+
+- public static com.google.gwt.dev.protobuf.Descriptors.FileDescriptor
++ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+- private static com.google.gwt.dev.protobuf.Descriptors.FileDescriptor
++ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+@@ -10618,15 +15999,15 @@ public final class RemoteMessageProto {
+ "ST\020\000\022\014\n\010RESPONSE\020\001\022\013\n\007FAILURE\020\002B\024B\022Remot" +
+ "eMessageProto"
+ };
+- com.google.gwt.dev.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+- new com.google.gwt.dev.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
+- public com.google.gwt.dev.protobuf.ExtensionRegistry assignDescriptors(
+- com.google.gwt.dev.protobuf.Descriptors.FileDescriptor root) {
++ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
++ new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
++ public com.google.protobuf.ExtensionRegistry assignDescriptors(
++ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor,
+ new java.lang.String[] { "ProtocolVersion", "MessageType", "MessageId", "Request", "Response", "Failure", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.class,
+@@ -10634,7 +16015,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor,
+ new java.lang.String[] { "ServiceType", "ViewerRequest", "DevModeRequest", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.class,
+@@ -10642,7 +16023,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor,
+ new java.lang.String[] { "RequestType", "CapabilityExchange", "AddLog", "AddLogBranch", "AddLogEntry", "DisconnectLog", "Initialize", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.class,
+@@ -10650,7 +16031,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor,
+ new java.lang.String[] { },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.class,
+@@ -10658,7 +16039,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(1);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor,
+ new java.lang.String[] { "Type", "ModuleLog", "ServerLog", "MainLog", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.class,
+@@ -10666,7 +16047,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor,
+ new java.lang.String[] { "Name", "Icon", "SessionKey", "UserAgent", "Url", "TabKey", "RemoteHost", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.class,
+@@ -10674,7 +16055,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor.getNestedTypes().get(1);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor,
+ new java.lang.String[] { "Name", "Icon", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.class,
+@@ -10682,7 +16063,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor.getNestedTypes().get(2);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor,
+ new java.lang.String[] { },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.class,
+@@ -10690,7 +16071,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(2);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor,
+ new java.lang.String[] { "Summary", "Level", "NeedsAttention", "Details", "HelpInfo", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.class,
+@@ -10698,7 +16079,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor,
+ new java.lang.String[] { "Url", "Text", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.class,
+@@ -10706,7 +16087,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(3);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor,
+ new java.lang.String[] { "ParentLogHandle", "IndexInParent", "LogData", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.class,
+@@ -10714,7 +16095,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(4);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor,
+ new java.lang.String[] { "LogHandle", "IndexInLog", "LogData", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.class,
+@@ -10722,7 +16103,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(5);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor,
+ new java.lang.String[] { "LogHandle", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.class,
+@@ -10730,7 +16111,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(6);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor,
+ new java.lang.String[] { "ClientId", "StartupURLs", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.class,
+@@ -10738,7 +16119,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor.getNestedTypes().get(1);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor,
+ new java.lang.String[] { "RequestType", "CapabilityExchange", "RestartWebServer", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.class,
+@@ -10746,7 +16127,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor,
+ new java.lang.String[] { },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.class,
+@@ -10754,7 +16135,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor.getNestedTypes().get(1);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor,
+ new java.lang.String[] { },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.class,
+@@ -10762,7 +16143,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor.getNestedTypes().get(1);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor,
+ new java.lang.String[] { "ViewerResponse", "DevModeResponse", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.class,
+@@ -10770,7 +16151,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor,
+ new java.lang.String[] { "ResponseType", "CapabilityExchange", "AddLog", "AddLogBranch", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.class,
+@@ -10778,7 +16159,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor,
+ new java.lang.String[] { "Capabilities", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.class,
+@@ -10786,7 +16167,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor,
+ new java.lang.String[] { "Capability", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.class,
+@@ -10794,7 +16175,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor.getNestedTypes().get(1);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor,
+ new java.lang.String[] { "LogHandle", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.class,
+@@ -10802,7 +16183,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor.getNestedTypes().get(2);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor,
+ new java.lang.String[] { "LogHandle", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.class,
+@@ -10810,7 +16191,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor.getNestedTypes().get(1);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor,
+ new java.lang.String[] { "ResponseType", "CapabilityExchange", "RestartWebServer", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.class,
+@@ -10818,7 +16199,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor,
+ new java.lang.String[] { "Capabilities", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.class,
+@@ -10826,7 +16207,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor.getNestedTypes().get(0);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor,
+ new java.lang.String[] { "Capability", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.class,
+@@ -10834,7 +16215,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor.getNestedTypes().get(1);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor,
+ new java.lang.String[] { },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.class,
+@@ -10842,7 +16223,7 @@ public final class RemoteMessageProto {
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor =
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor.getNestedTypes().get(2);
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_fieldAccessorTable = new
+- com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
++ com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor,
+ new java.lang.String[] { "Message", "StackTrace", },
+ com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.class,
+@@ -10850,11 +16231,11 @@ public final class RemoteMessageProto {
+ return null;
+ }
+ };
+- com.google.gwt.dev.protobuf.Descriptors.FileDescriptor
++ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+- new com.google.gwt.dev.protobuf.Descriptors.FileDescriptor[] {
++ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ }
+
+- public static void internalForceInit() {}
++ // @@protoc_insertion_point(outer_class_scope)
+ }
Modified: gwt/trunk/debian/patches/series
===================================================================
--- gwt/trunk/debian/patches/series 2012-07-04 12:08:19 UTC (rev 218)
+++ gwt/trunk/debian/patches/series 2012-07-04 12:08:23 UTC (rev 219)
@@ -6,4 +6,6 @@
fix-streamhtmlparser-pkg-path
use-json-simple
build-tests
+build-with-jdt35
+generated-protobuf-class
build-with-jdt37
Modified: gwt/trunk/debian/rules
===================================================================
--- gwt/trunk/debian/rules 2012-07-04 12:08:19 UTC (rev 218)
+++ gwt/trunk/debian/rules 2012-07-04 12:08:23 UTC (rev 219)
@@ -6,15 +6,23 @@
JAVA_HOME := /usr/lib/jvm/default-java
DEB_ANT_BUILDFILE := ./debian/build.xml
DEB_JARS := commons-collections3 jetty jetty-sslengine jetty-util ecj \
- /usr/share/java/swt.jar servlet-api-2.5 junit
+ /usr/share/java/swt.jar servlet-api-2.5 junit sac hibernate-core \
+ hibernate-validator jsilver
DEB_ANT_ARGS := -DartifactVersion=$(DEB_UPSTREAM_VERSION)
+clean::
+ rm -rf build target
+
binary-post-install/libgwt-user-java::
for jar in user servlet; do \
dh_install -plibgwt-user-java target/gwt-$$jar-$(DEB_UPSTREAM_VERSION).jar usr/share/java; \
dh_link -plibgwt-user-java usr/share/java/gwt-$$jar-$(DEB_UPSTREAM_VERSION).jar usr/share/java/gwt-$$jar.jar; \
done
+configure/libgwt-dev-java::
+ mkdir -p $(CURDIR)/build/out/dev/bin/com/google/gwt/dev
+ echo gwt.version=$(DEB_UPSTREAM_VERSION) >> $(CURDIR)/build/out/dev/bin/com/google/gwt/dev/About.properties
+
binary-post-install/libgwt-dev-java::
dh_install -plibgwt-dev-java target/gwt-dev-$(DEB_UPSTREAM_VERSION).jar usr/share/java
dh_link -plibgwt-dev-java usr/share/java/gwt-dev-$(DEB_UPSTREAM_VERSION).jar usr/share/java/gwt-dev.jar
More information about the pkg-eucalyptus-commits
mailing list