Revision: 10338
Author:   [email protected]
Date:     Wed Jun 15 06:24:57 2011
Log: Add a compile-time check against provided UiFields for RenderablePanel. I want to add the same check for HTMLPanel, but since that'll probably break a lot of
people, it'd be better to do it in a separate patch.

Review at http://gwt-code-reviews.appspot.com/1454812

Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=10338

Modified:
/trunk/user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java

=======================================
--- /trunk/user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java Tue May 24 10:37:15 2011 +++ /trunk/user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java Wed Jun 15 06:24:57 2011
@@ -22,6 +22,7 @@
 import com.google.gwt.uibinder.rebind.XMLElement;
 import com.google.gwt.uibinder.rebind.messages.MessageWriter;
 import com.google.gwt.uibinder.rebind.messages.PlaceholderInterpreter;
+import com.google.gwt.uibinder.rebind.model.OwnerField;

 /**
  * Parses {@link com.google.gwt.user.client.ui.RenderablePanel} widgets.
@@ -32,6 +33,13 @@
       final UiBinderWriter writer) throws UnableToCompleteException {

     assert writer.useLazyWidgetBuilders();
+
+    // Make sure that, if there is a UiField for this panel, it isn't
+    // (provided = true), as that isn't supported.
+    OwnerField uiField = writer.getOwnerClass().getUiField(fieldName);
+    if (uiField != null && uiField.isProvided()) {
+ writer.die("UiField %s for RenderablePanel cannot be provided.", fieldName);
+    }

     /*
      * Gathers up elements that indicate nested IsRenderable objects.

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

Reply via email to