Add compile-time check to prevent provided fields for HTMLPanels.

Review by: rchandia@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10340 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/uibinder/elementparsers/HTMLPanelParser.java b/user/src/com/google/gwt/uibinder/elementparsers/HTMLPanelParser.java
index 83d5d40..0aca4c1 100644
--- a/user/src/com/google/gwt/uibinder/elementparsers/HTMLPanelParser.java
+++ b/user/src/com/google/gwt/uibinder/elementparsers/HTMLPanelParser.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.HTMLPanel} widgets.
@@ -31,6 +32,13 @@
   public void parse(XMLElement elem, String fieldName, JClassType type,
       final UiBinderWriter writer) throws UnableToCompleteException {
 
+    // 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 HTMLPanel cannot be provided.", fieldName);
+    }
+
     /*
      * Gathers up elements that indicate nested widgets (but only those that are
      * not inside msg elements).