For more information, here's the exception.

Caused by: java.lang.ClassCastException:
com.google.gwt.dev.jjs.ast.JPrimitiveType cannot be cast to
com.google.gwt.dev.jjs.ast.JReferenceType
        at com.google.gwt.dev.jjs.impl.EqualityNormalizer.endVisit(
EqualityNormalizer.java:85<http://google3/?fileprint=//depot/google3/third_party/java_src/gwt/svn/trunk/user/src/com/google/gwt/dev/jjs/impl/EqualityNormalizer.java&hilite_regexp=main&line=85&hilite_line=85#85>
)
        at com.google.gwt.dev.jjs.ast.JBinaryOperation.traverse(
JBinaryOperation.java:84<http://google3/?fileprint=//depot/google3/third_party/java_src/gwt/svn/trunk/user/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java&hilite_regexp=endVisit&line=84&hilite_line=84#84>
)
        at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(
JModVisitor.java:383<http://google3/?fileprint=//depot/google3/third_party/java_src/gwt/svn/trunk/user/src/com/google/gwt/dev/jjs/ast/JModVisitor.java&hilite_regexp=traverse&line=383&hilite_line=383#383>
)
        at com.google.gwt.dev.jjs.ast.JModVisitor.accept(
JModVisitor.java:283<http://google3/?fileprint=//depot/google3/third_party/java_src/gwt/svn/trunk/user/src/com/google/gwt/dev/jjs/ast/JModVisitor.java&hilite_regexp=traverse&line=283&hilite_line=283#283>
)
        ... 41 more
      [ERROR] at PanelUpdateManager.java(152): null.nullField == 1
         com.google.gwt.dev.jjs.ast.JBinaryOperation
      [ERROR] at PanelUpdateManager.java(152): null.nullField == 1 &&
(null.nullField || null.nullMethod())
         com.google.gwt.dev.jjs.ast.JBinaryOperation
      [ERROR] at PanelUpdateManager.java(152): null.nullField == 1 &&
(null.nullField || null.nullMethod())
         com.google.gwt.dev.jjs.ast.JExpressionStatement
      [ERROR] at Panel.java(562): {
  null.nullMethod();
  ++null.nullField;
  ++null.nullField;
  null.nullField == 1 && (null.nullField || null.nullMethod());


According to Scott, "The right fix is, that 'null.nullField' ref needs its
type overridden...."

On Thu, Sep 23, 2010 at 4:36 PM, Scott Blum <[email protected]> wrote:

> This actually gives me pause.  What kind of code can leave primitives on
> one side but not the other?
>
> I'm concerned because in Java, I think this should be true:
>
> Integer.valueOf(1) == 1
>
> Because the RHS gets autoboxed.  If we're translating this as-is into JS
> triple-equals without boxing it, the test would fail.
>
>


-- 
Eric Z. Ayers
Google Web Toolkit, Atlanta, GA USA

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to