Skip to content

Commit a917243

Browse files
Fixes internal compiler error caused by a null logger parsing jsni code that was generated by a generator at test time.
Change-Id: I034918d940c3318bc82ed9cb615c6f64b89fb027 Review-Link: https://gwt-review.googlesource.com/#/c/1830/ Review by: [email protected] git-svn-id: http://google-web-toolkit.googlecode.com/svn/trunk@11491 8db76d5a-ed1c-0410-87a9-c151d255dfc7
1 parent 4cb0ca0 commit a917243

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ public StandardGeneratorContext getGeneratorContext() {
6666

6767
JProgram jprogram = new JProgram();
6868
JsProgram jsProgram = new JsProgram();
69-
UnifyAst unifyAst = new UnifyAst(jprogram, jsProgram, options, rpo);
70-
unifyAst.buildEverything(logger);
69+
UnifyAst unifyAst = new UnifyAst(logger, jprogram, jsProgram, options, rpo);
70+
unifyAst.buildEverything();
7171

7272
// Compute all super type/sub type info
7373
jprogram.typeOracle.computeBeforeAST();

dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -633,11 +633,11 @@ public static UnifiedAst precompile(TreeLogger logger, ModuleDef module,
633633

634634
try {
635635
// (2) Assemble the Java AST.
636-
UnifyAst unifyAst = new UnifyAst(jprogram, jsProgram, options, rpo);
636+
UnifyAst unifyAst = new UnifyAst(logger, jprogram, jsProgram, options, rpo);
637637
unifyAst.addRootTypes(allRootTypes);
638638
// TODO: move this into UnifyAst?
639639
findEntryPoints(logger, rpo, declEntryPts, jprogram);
640-
unifyAst.exec(logger);
640+
unifyAst.exec();
641641

642642
List<String> finalTypeOracleTypes = Lists.create();
643643
if (precompilationMetrics != null) {

dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ private JExpression handleMagicMethodCall(JMethodCall x) {
498498
*/
499499
private final Set<JNode> liveFieldsAndMethods = new IdentityHashSet<JNode>();
500500

501-
private TreeLogger logger;
501+
private final TreeLogger logger;
502502
private Set<JMethod> magicMethodCalls = new IdentityHashSet<JMethod>();
503503
private final Map<String, JMethod> methodMap = new HashMap<String, JMethod>();
504504
private final JJSOptions options;
@@ -515,8 +515,9 @@ private JExpression handleMagicMethodCall(JMethodCall x) {
515515
private final Map<String, List<JMethod>> virtualMethodsPending =
516516
new java.util.HashMap<String, List<JMethod>>();
517517

518-
public UnifyAst(JProgram program, JsProgram jsProgram, JJSOptions options,
518+
public UnifyAst(TreeLogger logger, JProgram program, JsProgram jsProgram, JJSOptions options,
519519
RebindPermutationOracle rpo) {
520+
this.logger = logger;
520521
this.program = program;
521522
this.jsProgram = jsProgram;
522523
this.options = options;
@@ -538,8 +539,7 @@ public void addRootTypes(Collection<String> sourceTypeNames) throws UnableToComp
538539
* Special AST construction, useful for tests. Everything is resolved,
539540
* translated, and unified.
540541
*/
541-
public void buildEverything(TreeLogger logger) throws UnableToCompleteException {
542-
this.logger = logger;
542+
public void buildEverything() throws UnableToCompleteException {
543543
for (String internalName : classFileMap.keySet()) {
544544
String typeName = InternalName.toBinaryName(internalName);
545545
searchForTypeByBinary(typeName);
@@ -568,9 +568,7 @@ public void buildEverything(TreeLogger logger) throws UnableToCompleteException
568568
* entry points. This reduces memory and improves compile speed. Any
569569
* unreachable elements are pruned.
570570
*/
571-
public void exec(TreeLogger logger) throws UnableToCompleteException {
572-
this.logger = logger;
573-
571+
public void exec() throws UnableToCompleteException {
574572
// Trace execution from entry points.
575573
for (JMethod entryMethod : program.getEntryMethods()) {
576574
flowInto(entryMethod);

0 commit comments

Comments
 (0)