http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/client/UiBinderUtil.java
File user/src/com/google/gwt/uibinder/client/UiBinderUtil.java (right):

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/client/UiBinderUtil.java#newcode44
user/src/com/google/gwt/uibinder/client/UiBinderUtil.java:44: element =
com.google.gwt.dom.client.Document.get()
On 2011/04/19 21:07:20, rjrjr wrote:
no need for the long name, this is imported

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/elementparsers/LazyPanelParser.java
File
user/src/com/google/gwt/uibinder/elementparsers/LazyPanelParser.java
(right):

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/elementparsers/LazyPanelParser.java#newcode38
user/src/com/google/gwt/uibinder/elementparsers/LazyPanelParser.java:38:

On 2011/04/19 21:07:20, rjrjr wrote:
assert writer.useAttachableStrategyMabobThing();

Well, the parser is not registered if the flag is disabled so this point
is never reached. But did the change anyway since this way I can spit
out a better warning message.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/elementparsers/LazyPanelParser.java#newcode40
user/src/com/google/gwt/uibinder/elementparsers/LazyPanelParser.java:40:
String widgetClassPath = writer.getClassPath(Widget.class);
On 2011/04/19 21:07:20, rjrjr wrote:
just use Widget.class.getName(), getClassPath adds no value I can see.

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/elementparsers/LazyPanelParser.java#newcode42
user/src/com/google/gwt/uibinder/elementparsers/LazyPanelParser.java:42:
String code = null;
On 2011/04/19 21:07:20, rjrjr wrote:
Use XMLElement#consumeSingleChildElement and you don't need your own
one-and-only-one checks.

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java
File
user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java
(right):

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java#newcode95
user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java:95:
"com.google.gwt.uibinder.client.UiBinderUtil.LazyDomElement",
elementPointer);
On 2011/04/19 21:07:20, rjrjr wrote:
Please use LazyDomElement.class.getName()

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java#newcode98
user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java:98:
"new com.google.gwt.uibinder.client.UiBinderUtil.LazyDomElement(%s)",
On 2011/04/19 21:07:20, rjrjr wrote:
ditto

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java
File user/src/com/google/gwt/uibinder/rebind/FieldManager.java (right):

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode98
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:98: public
void addAttachStatement(String fieldName, String format, Object... args)
On 2011/04/19 21:07:20, rjrjr wrote:
Don't duplicate the FieldWriter api. To get them add a new
require(fieldName)
method that wraps lookup() and does the die thing.

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode102
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:102:
logger.die("Failing adding attach statement. FieldName %s has no
FieldWriter associated.",
On 2011/04/19 21:07:20, rjrjr wrote:
die is for user error. If this is really developer error, make it a
RuntimeException.

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode112
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:112: public
void addDetachStatement(String fieldName, String format, Object... args)
On 2011/04/19 21:07:20, rjrjr wrote:
ditto

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode126
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:126: public
FieldWriter addFieldStatement(String fieldName, String format, Object...
args)
On 2011/04/19 21:07:20, rjrjr wrote:
ditto

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode143
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:143: public
String convertFieldToGetter(String fieldName) {
On 2011/04/19 21:07:20, rjrjr wrote:
Can this be a FieldWriter instance method?

No because convertFieldToGetter() might be called before FieldWriter is
actually created, so for now this is the easier way.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode155
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:155: * There
are 3 possible situations:
On 2011/04/19 21:07:20, rjrjr wrote:
Lists like this are more readable if you use <dl>, and drop the
colons. e.g.

<dl>
<dt>getter never called
<dd> write builder only if...
</dl>

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode177
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:177: Integer
count = getGetterCounter(field.getName());
On 2011/04/19 21:07:20, rjrjr wrote:
And this block can be an instance method on FieldWriter

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode314
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:314: public
void setFieldInitializer(String fieldName, String format, Object...
args)
On 2011/04/19 21:07:20, rjrjr wrote:
ditto

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldManager.java#newcode379
user/src/com/google/gwt/uibinder/rebind/FieldManager.java:379: private
int getGetterCounter(String fieldName) {
On 2011/04/19 21:07:20, rjrjr wrote:
Wouldn't this count be more natural as a field on the FieldWriter?

see my previous comment.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldWriter.java
File user/src/com/google/gwt/uibinder/rebind/FieldWriter.java (right):

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldWriter.java#newcode41
user/src/com/google/gwt/uibinder/rebind/FieldWriter.java:41: * Add a
statement to be executed right after the current field is attached.
On 2011/04/19 21:07:20, rjrjr wrote:
Thanks, this is helpful.

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldWriter.java#newcode66
user/src/com/google/gwt/uibinder/rebind/FieldWriter.java:66: * Add a
statement to be executed right after the current field is detached.
Example:
On 2011/04/19 21:07:20, rjrjr wrote:
lose "Example:"

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldWriter.java#newcode155
user/src/com/google/gwt/uibinder/rebind/FieldWriter.java:155: *  private
WidgetX get_widgetX() {
On 2011/04/19 21:07:20, rjrjr wrote:
I'm wondering if some of your code size penalty will go away if you
simply don't
write get_ methods for only-once widgets. Make them work as if
useAttachableStrategy is false. Needn't gate submitting this since you
put the
switch in, just something to think about.

OK.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldWriter.java#newcode164
user/src/com/google/gwt/uibinder/rebind/FieldWriter.java:164: *  Notice
that there's no field class and the getter just fallback to
On 2011/04/19 21:07:20, rjrjr wrote:
"field class" You mean just "field"?

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderGenerator.java
File user/src/com/google/gwt/uibinder/rebind/UiBinderGenerator.java
(right):

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderGenerator.java#newcode50
user/src/com/google/gwt/uibinder/rebind/UiBinderGenerator.java:50:
private static final String ELEMENT_FACTORY_PROPERTY =
"uibinder.html.elementfactory";
On 2011/04/19 21:07:20, rjrjr wrote:
You're stale, this field is gone now.

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderGenerator.java#newcode166
user/src/com/google/gwt/uibinder/rebind/UiBinderGenerator.java:166: //
TODO(hermes): poor naming
On 2011/04/19 21:07:20, rjrjr wrote:
How about useLazyWidgetBuilders

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
File user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
(right):

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java#newcode129
user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java:129: public
static String extractFieldFromCode(String code) {
On 2011/04/19 21:07:20, rjrjr wrote:
Does this really need to be public?

Moved to where it's called.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java#newcode322
user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java:322: // I'm
expliciting over-simplifying this and assuming that the input
On 2011/04/19 21:07:20, rjrjr wrote:
Use /* for long comments. And doesn't this comment belong in
extractFieldFromCode?

I'd rather having them together, so I'm moving the code from
extractFieldFromCode to here.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java#newcode329
user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java:329: } catch
(UnableToCompleteException e) {
On 2011/04/19 21:07:20, rjrjr wrote:
Why is this okay?

Not OK, sort of done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java#newcode364
user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java:364: *
@param fieldName The name of the field being declared
On 2011/04/19 21:07:20, rjrjr wrote:
@param ancestorField ...

Done.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java#newcode404
user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java:404:
domField.setBuildPrecendence(2);
On 2011/04/19 21:07:20, rjrjr wrote:
comment explaining why

Done. I really hated this but it's the easier way of determining which
builders should come first.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java#newcode624
user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java:624: public
String getClassPath(Class clazz) {
On 2011/04/19 21:07:20, rjrjr wrote:
Really? What's wrong with clazz.getName()? Why have this method at
all?

Not needed, old shit I forgot to get rid of.

http://gwt-code-reviews.appspot.com/1420804/diff/1/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java#newcode713
user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java:713: return
(returnGetter ? fieldManager.convertFieldToGetter(fieldName) :
fieldName);
On 2011/04/19 21:07:20, rjrjr wrote:
Can convertFieldToGetter be an instant method on FieldWriter?

If so, instead of the hacky returnGetter arg, you can make this method
return
the FieldWriter itself (still leaving the old one as a wrapper around
it to
avoid mass parser update -- maybe this is just
parseElement(XMLElement)?). Now
that you've made FieldManager more public might as well go whole hog.

Either way, please update the javadoc here and below.

See my previous comment, convertFieldToGetter() cannot be FieldWriter,
at least for now. Sometimes it is called before the field writer is
actually created.

Can I leave a TODO? We must revisit this in the future when
useLazyWidgetBuilders become the main branch.

http://gwt-code-reviews.appspot.com/1420804/

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

Reply via email to