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: rchandia@google.com
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10338 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java b/user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java
index 820e82b..7dc6ee6 100644
--- a/user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java
+++ b/user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java
@@ -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.
@@ -33,6 +34,13 @@
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.
*/