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