Reviewers: Keith,

Description:
Moves assertion checking inside the check block to avoid a bad assertion
on unreachable local classes.

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


Please review this at http://gwt-code-reviews.appspot.com/582801/show

Affected files:
  M dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java


Index: dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
diff --git a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java index e685994da342c12752032557abde768a5493971a..811658673c2cf6d0d202f3ef850639cecb007cbd 100644
--- a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
@@ -84,8 +84,7 @@ public class JdtCompiler {
CompilationUnitDeclaration cud, List<CompiledClass> compiledClasses) {
       CompilationUnit unit = builder.build(compiledClasses,
           compiler.computeDependencies(cud),
-          Collections.<JsniMethod> emptyList(),
-          new MethodArgNamesLookup(),
+          Collections.<JsniMethod> emptyList(), new MethodArgNamesLookup(),
           cud.compilationResult().getProblems());
       if (cud.compilationResult().hasErrors()) {
         unit = new ErrorCompilationUnit(unit);
@@ -176,13 +175,13 @@ public class JdtCompiler {

     @Override
     public boolean visit(TypeDeclaration typeDecl, BlockScope scope) {
- CompiledClass enclosingClass = map.get(typeDecl.binding.enclosingType());
-      assert (enclosingClass != null);
       /*
        * Weird case: if JDT determines that this local class is totally
        * uninstantiable, it won't bother allocating a local name.
        */
       if (typeDecl.binding.constantPoolName() != null) {
+ CompiledClass enclosingClass = map.get(typeDecl.binding.enclosingType());
+        assert (enclosingClass != null);
CompiledClass newClass = new CompiledClass(typeDecl, enclosingClass);
         map.put(typeDecl.binding, newClass);
       }


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

Reply via email to