I posted earlier 
<https://groups.google.com/d/msg/google-web-toolkit-contributors/vCELYDM2_tE/S-E_AKanEVcJ>
 
about a bug I was seeing in the 2.7 beta, and it looks like it's still 
there in RC1. I don't have a minimal repro case yet, and it might be tough 
to make one, but I do have a bit more information.

The problem occurs when trying to compute the deferred binding result for 
some (not all) of the UiBinders in my application. When I run with 
loglevel=DEBUG, it's suggesting that there's a compilation failure when 
processing the one deferred binding rule I have in my top-level gwt.xml. 
That rule looks like this:

<replace-with class="client.environment.ProdEnvironment">
  <when-type-assignable class="client.environment.Environment"/>
</replace-with>


The log shows that everything works fine for most of the UiBinders - they 
skip over this rule (which is always the first one they check, probably 
because it's at the root of the inheritance chain) and eventually find the 
right one:

   Computing all possible rebind results for 
'client.widget.band.BandView.MyUiBinder'
      Rebinding client.widget.band.BandView.MyUiBinder
         Checking rule <replace-with 
class='client.environment.ProdEnvironment'/>
            Checking if all subconditions are true (<all>)
       <when-assignable class='client.environment.Environment'/>
                  No, the requested type was not assignable
               No: One or more subconditions was false
         Rule did not match
         Found better fallback match for <replace-with 
class='client.environment.ProdEnvironment'/>
         Checking rule <generate-with 
class='com.google.web.bindery.autobean.gwt.rebind.AutoBeanFactoryGenerator'/>
            Checking if all subconditions are true (<all>)
       <when-assignable 
class='com.google.web.bindery.autobean.shared.AutoBeanFactory'/>
                  No, the requested type was not assignable
       No: One or more subconditions was false
         Rule did not match
         Found better fallback match for <generate-with 
class='com.google.web.bindery.autobean.gwt.rebind.AutoBeanFactoryGenerator'/>

              /* ... snip 100's of lines checking other rules */ 

         Checking rule <generate-with 
class='com.google.gwt.uibinder.rebind.UiBinderGenerator'/>
            Checking if all subconditions are true (<all>)
       <when-assignable class='com.google.gwt.uibinder.client.UiBinder'/>
                  Yes, the requested type was assignable
               Yes: All subconditions were true
         Rule was a match and will be used
         Invoking generator com.google.gwt.uibinder.rebind.UiBinderGenerator
            Parsing CSS stylesheet 
file:/var/folders/99/npwplk0x5s716r29tmllw_7h0000gn/T/uiBinder_client.widget.band_BandView_MyUiBinderImpl_GenCss_style1449650163126694696.css
            Generator returned type 
'client.widget.band.BandView_MyUiBinderImpl; mode 
USE_ALL_NEW_WITH_NO_CACHING; in 15 ms                                       
                                                       
         Rebind result was client.widget.band.BandView_MyUiBinderImpl

But for just a few UiBinders, it crashes when checking the deferred binding 
rule:

   Computing all possible rebind results for 
'client.AddParametersView.MyUiBinder'
      Rebinding client.pages.AddParametersView.MyUiBinder
         Checking rule <replace-with 
class='client.environment.ProdEnvironment'/>
            Checking if all subconditions are true (<all>)
               <when-assignable class='client.environment.Environment'/>
                  Tracing compile failure path for type 
'client.pages.AddParametersView.MyUiBinder'
                     Checked 0 dependencies for errors.
                  [ERROR] Hint: Check the inheritance chain from your 
module; it may not be inheriting a required module or a module may not be 
adding its source path entries properly                                     
                                     
   [ERROR] Errors in 'client/pages/AddParametersView.java'
      [ERROR] Line 33: Failed to resolve 
'client.pages.AddParametersView.MyUiBinder' via deferred binding


There's no hint of what's causing the compile failure, but there are only a 
few 
<https://github.com/gwtproject/gwt/search?utf8=%E2%9C%93&q=logErrorTrace> 
places in GWT that log that message, so someone more familiar with the 
internals might be able to tell what's going on. When I remove my deferred 
binding rule, the errors go away. There are no changes in my code other 
than switching the dependency from 2.6.1 to 2.7.0-rc1.

Does this ring any bells around what the problem might be, or should I try 
digging deeper into figuring out what's different about the UiBinders with 
errors? I might have a little time this weekend but I'm not sure how deep 
I'll be able to go.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/ae0c9922-98b4-4e87-bdf7-732a6388ba55%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to