301 }); |
301 }); |
302 try { |
302 try { |
303 attr.attribTree(newTree, speculativeEnv, resultInfo); |
303 attr.attribTree(newTree, speculativeEnv, resultInfo); |
304 unenterScanner.scan(newTree); |
304 unenterScanner.scan(newTree); |
305 return newTree; |
305 return newTree; |
306 } catch (Abort ex) { |
|
307 //if some very bad condition occurred during deferred attribution |
|
308 //we should dump all errors before killing javac |
|
309 deferredDiagnosticHandler.reportDeferredDiagnostics(); |
|
310 throw ex; |
|
311 } finally { |
306 } finally { |
312 unenterScanner.scan(newTree); |
307 unenterScanner.scan(newTree); |
313 log.popDiagnosticHandler(deferredDiagnosticHandler); |
308 log.popDiagnosticHandler(deferredDiagnosticHandler); |
314 } |
309 } |
315 } |
310 } |