First of a handful of related patches for improving DevMode error handling.

On Tue, Nov 30, 2010 at 8:34 PM, <[email protected]> wrote:

> Reviewers: scottb,
>
> Description:
> In CompilingClassLoader, refuse to load a class if its compilation unit
> has errors.
>
>
> Please review this at http://gwt-code-reviews.appspot.com/1167801/show
>
> Affected files:
>  M dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
>
>
> Index: dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
> ===================================================================
> --- dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
> (revision 9312)
> +++ dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
> (working copy)
> @@ -1070,6 +1070,13 @@
>          */
>         while (toInject.size() > 0) {
>           CompilationUnit unit = toInject.remove(0);
> +          if (unit.isError()) {
> +            logger.log(TreeLogger.ERROR,
> +                "Cannot inject JSNI code in compilation unit "
> +                    + unit.getTypeName() + " at " +
> unit.getDisplayLocation()
> +                    + " for class " + className);
> +            return null;
> +          }
>           if (!alreadyInjected.contains(unit)) {
>             injectJsniMethods(unit);
>             alreadyInjected.add(unit);
> @@ -1136,6 +1143,12 @@
>
>     CompilationUnit unit = (compiledClass == null)
>         ? getUnitForClassName(lookupClassName) : compiledClass.getUnit();
> +
> +    if (unit != null && unit.isError()) {
> +      logger.log(TreeLogger.ERROR, "Cannot load class " + className + "
> because it has errors.");
> +      return null;
> +    }
> +
>     if (emmaAvailable) {
>       /*
>        * build the map for anonymous classes. Do so only if unit has
> anonymous
>
>
>

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

Reply via email to