Cherry picking r9540 into releases/2.2, Adds a hook to invalidate a rebind within dev mode git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/2.2@9541 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java b/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java index 2c1ddf4..8a23629 100644 --- a/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java +++ b/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java
@@ -84,6 +84,15 @@ return logger; } + /** + * Invalidates the given source type name, so the next rebind request will + * generate a type again. + */ + public void invalidateRebind(String sourceTypeName) { + checkForModuleSpace(); + rebindOracle.invalidateRebind(sourceTypeName); + } + public void onModuleReady(ModuleSpace readySpace) throws UnableToCompleteException { this.space = readySpace;
diff --git a/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java b/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java index 50bb0c2..502b221 100644 --- a/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java +++ b/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java
@@ -235,6 +235,14 @@ this.genCtx = genCtx; } + /** + * Invalidates the given source type name, so the next rebind request will + * generate type again. + */ + public void invalidateRebind(String sourceTypeName) { + typeNameBindingMap.remove(sourceTypeName); + } + public String rebind(TreeLogger logger, String typeName) throws UnableToCompleteException { return rebind(logger, typeName, null);