interface CollectionManagementPanelUiBinder extends UiBinder<CollectionManagementLayout, SomeViewImpl> {}
<collectionmanagement:CollectionManagementLayout ui:field="layout"> . . .
</collectionmanagement:CollectionManagementLayout>
[ERROR] Errors in 'generated://09CDEAB17C92C8C75AB00C9F2F0DF847/com/myco/myproduct/client/stuff/collections/SomeViewImpl_CollectionManagementPanelUiBinderImpl.java' [ERROR] Line 17: The interface UiBinder cannot be implemented more than once with different arguments: UiBinder<CollectionManagementLayout,SomeViewImpl> and UiBinder<CollectionManagementLayout,SomeViewImpl> See snapshot: /tmp/com.myco.myproduct.client.stuff.collections.SomeViewImpl_CollectionManagementPanelUiBinderImpl3472216513944602205.java Tracing compile failure path for type 'com.myco.myproduct.client.stuff.collections.SomeViewImpl_CollectionManagementPanelUiBinderImpl' [ERROR] Errors in 'generated://09CDEAB17C92C8C75AB00C9F2F0DF847/com/myco/myproduct/client/stuff/collections/SomeViewImpl_CollectionManagementPanelUiBinderImpl.java' [ERROR] Line 17: The interface UiBinder cannot be implemented more than once with different arguments: UiBinder<CollectionManagementLayout,SomeViewImpl> and UiBinder<CollectionManagementLayout,SomeViewImpl>
public class SomeViewImpl_CollectionManagementPanelUiBinderImpl implements UiBinder<CollectionManagementLayout, SomeViewImpl>, SomeViewImpl.CollectionManagementPanelUiBinder {
interface CollectionManagementPanelUiBinder extends UiBinder<Widget, SomeViewImpl> {}
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:m="urn:import:gwt.material.design.client.ui">
<g:HTMLPanel>
<g:PopupPanel ui:field="launchPad" styleName="launch">
<m:MaterialColumn ui:field="container" shadow="3"> <!-- Dialog title --> <m:MaterialPanel styleName="centeredContentDiv peruseStandardBackground noPadding">
<m:MaterialLabel styleName="launchTitle">PeruseLab - Loading your drawings...</m:MaterialLabel>
<m:MaterialProgress type="INDETERMINATE" enabled="false" ui:field="progressBar" />
<!-- The above shows the progress bar while retrieving drawing(s) for user -->
</m:MaterialPanel>
</m:MaterialColumn>
</g:PopupPanel>
</g:HTMLPanel>
</ui:UiBinder>
public class Loader extends Composite {
interface LoaderUiBinder extends UiBinder<Widget, Loader> {
}
private static LoaderUiBinder uiBinder = GWT.create(LoaderUiBinder.class);
@UiField
PopupPanel launchPad;
@UiField
MaterialColumn container;
public Loader() {
initWidget(uiBinder.createAndBindUi(this));
}
public void hide() {
clear();
launchPad.hide(true);
}
public void show() {
launchPad.show();
}
private void clear() {
while (container.getWidgetCount() > 0) {
container.remove(0);
}
}
}
Caused by: java.lang.NoSuchMethodError: com.google.gwt.uibinder.rebind.UiBinderWriter.<init>(Lcom/google/gwt/core/ext/typeinfo/JClassType;Ljava/lang/String;Ljava/lang/String;Lcom/google/gwt/core/ext/typeinfo/TypeOracle;Lcom/google/gwt/uibinder/rebind/MortalLogger;Lcom/google/gwt/uibinder/rebind/FieldManager;Lcom/google/gwt/uibinder/rebind/messages/MessagesWriter;Lcom/google/gwt/uibinder/rebind/DesignTimeUtils;Lcom/google/gwt/uibinder/rebind/UiBinderContext;ZZLjava/lang/String;Lcom/google/gwt/dev/resource/ResourceOracle;Lcom/google/gwt/resources/rg/GssResourceGenerator$GssOptions;)V
at com.google.gwt.uibinder.rebind.UiBinderGenerator.generateOnce(UiBinderGenerator.java:174)
at com.google.gwt.uibinder.rebind.UiBinderGenerator.generate(UiBinderGenerator.java:128)
at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:745)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:103)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:262)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:251)
at com.google.gwt.dev.PrecompilationContextCreator$1.getAllPossibleRebindAnswers(PrecompilationContextCreator.java:86)
at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createStaticRebindExpression(UnifyAst.java:519)
at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createRebindExpression(UnifyAst.java:487)
at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.maybeHandleMagicMethodCall(UnifyAst.java:415)
at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.visit(UnifyAst.java:402)
at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:265)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
... 46 more
[ERROR] at Loader.java(29): GWT.create(Loader$LoaderUiBinder.class)
com.google.gwt.dev.jjs.ast.JMethodCall
[ERROR] at Loader.java(29): (Loader$LoaderUiBinder) GWT.create(Loader$LoaderUiBinder.class)
com.google.gwt.dev.jjs.ast.JCastOperation
[ERROR] at Loader.java(29): static Loader$LoaderUiBinder uiBinder = (Loader$LoaderUiBinder) GWT.create(Loader$LoaderUiBinder.class)
com.google.gwt.dev.jjs.ast.JDeclarationStatement
[ERROR] at Loader.java(24): {
Composite.$clinit();
static Loader$LoaderUiBinder uiBinder = (Loader$LoaderUiBinder) GWT.create(Loader$LoaderUiBinder.class);
}
com.google.gwt.dev.jjs.ast.JBlock
[ERROR] at Loader.java(24): {
Composite.$clinit();
static Loader$LoaderUiBinder uiBinder = (Loader$LoaderUiBinder) GWT.create(Loader$LoaderUiBinder.class);
}
com.google.gwt.dev.jjs.ast.JMethodBody
[ERROR] at Loader.java(24): com.snkv.peruse.client.Loader.$clinit()V
com.google.gwt.dev.jjs.ast.JMethod
[ERROR] Compiler returned false
[WARN] recompile failed
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
... 46 more
[ERROR] at Loader.java(29): GWT.create(Loader$LoaderUiBinder.class)
com.google.gwt.dev.jjs.ast.JMethodCall
[ERROR] at Loader.java(29): (Loader$LoaderUiBinder) GWT.create(Loader$LoaderUiBinder.class)
com.google.gwt.dev.jjs.ast.JCastOperation
[ERROR] at Loader.java(29): static Loader$LoaderUiBinder uiBinder = (Loader$LoaderUiBinder) GWT.create(Loader$LoaderUiBinder.class)
com.google.gwt.dev.jjs.ast.JDeclarationStatement
[ERROR] at Loader.java(24): {
Composite.$clinit();
static Loader$LoaderUiBinder uiBinder = (Loader$LoaderUiBinder) GWT.create(Loader$LoaderUiBinder.class);
}
com.google.gwt.dev.jjs.ast.JBlock
[ERROR] at Loader.java(24): {
Composite.$clinit();
static Loader$LoaderUiBinder uiBinder = (Loader$LoaderUiBinder) GWT.create(Loader$LoaderUiBinder.class);
}
com.google.gwt.dev.jjs.ast.JMethodBody
[ERROR] at Loader.java(24): com.snkv.peruse.client.Loader.$clinit()V
com.google.gwt.dev.jjs.ast.JMethod
[ERROR] Compiler returned false
at com.google.<span style="color: #000;" class="styled-by-pret
Oops! I do get the error.
My question is: Should this have failed in GWT 2.7? Or is there a bug in GWT 2.8?
The interface UiBinder cannot be implemented more than once with different arguments: UiBinder<CollectionManagementLayout,SomeViewImpl> and UiBinder<CollectionManagementLayout,SomeViewImpl>