Bug 128112 - Improve Compiler Error Recovery & Accuracy
Summary: Improve Compiler Error Recovery & Accuracy
Status: RESOLVED DUPLICATE of bug 42660
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.5.0   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-15 17:20 EST by Ron Bodkin CLA
Modified: 2006-02-16 03:02 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2006-02-15 17:20:55 EST
I have noticed that ajc does significantly worse at isolating/recovering from compiler errors than javac. For example, on a recent project build of a pure Java file, I was refactoring to change the return type of a method, but I forgot to delete the void return. So the single compiler error was this line:
    protected void FailureStats addFailure(FailureDescription failureDescription) {

ajc reports about 35 compiler errors (!) from this one problem. By contrast, I recompiled this code in a test Java project and Eclipse's Java compiler and it had four, useful errors that would make the problem easy to track down:

Severity	Description	Resource	In Folder	Location	Creation Time	Id
2	The method addFailure(FailureDescription) is undefined for the type PerfStatsImpl	PerfStatsImpl.java	testajccompiler/src/glassbox/track/api	line 360	February 15, 2006 2:20:34 PM	2405281
2	Return type for the method is missing	PerfStatsImpl.java	testajccompiler/src/glassbox/track/api	line 367	February 15, 2006 2:20:34 PM	2405284
2	Syntax error, insert ";" to complete FieldDeclaration	PerfStatsImpl.java	testajccompiler/src/glassbox/track/api	line 367	February 15, 2006 2:20:34 PM	2405283
2	void is an invalid type for the variable FailureStats	PerfStatsImpl.java	testajccompiler/src/glassbox/track/api	line 367	February 15, 2006 2:20:34 PM	2405282


Here are the ajc compiler errors from compiling inside Eclipse:

Severity	Description	Resource	In Folder	Location	Creation Time	Id
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 96	February 15, 2006 12:42:47 PM	2403725
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 103	February 15, 2006 12:42:47 PM	2403726
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 150	February 15, 2006 12:42:47 PM	2403727
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 170	February 15, 2006 12:42:47 PM	2403728
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 191	February 15, 2006 12:42:47 PM	2403729
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 192	February 15, 2006 12:42:47 PM	2403730
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 193	February 15, 2006 12:42:47 PM	2403731
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 194	February 15, 2006 12:42:47 PM	2403732
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 195	February 15, 2006 12:42:47 PM	2403733
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 196	February 15, 2006 12:42:47 PM	2403734
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 197	February 15, 2006 12:42:47 PM	2403735
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 198	February 15, 2006 12:42:47 PM	2403736
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 199	February 15, 2006 12:42:47 PM	2403737
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 289	February 15, 2006 12:42:47 PM	2403738
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 298	February 15, 2006 12:42:47 PM	2403739
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 299	February 15, 2006 12:42:47 PM	2403740
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 338	February 15, 2006 12:42:47 PM	2403741
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 362	February 15, 2006 12:42:47 PM	2403742
2	Syntax error, insert ";" to complete FieldDeclaration	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 367	February 15, 2006 12:42:47 PM	2403743
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 371	February 15, 2006 12:42:47 PM	2403744
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 381	February 15, 2006 12:42:47 PM	2403745
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 384	February 15, 2006 12:42:47 PM	2403746
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 398	February 15, 2006 12:42:47 PM	2403747
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 401	February 15, 2006 12:42:47 PM	2403748
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 403	February 15, 2006 12:42:47 PM	2403749
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 405	February 15, 2006 12:42:47 PM	2403750
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 415	February 15, 2006 12:42:47 PM	2403751
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 418	February 15, 2006 12:42:47 PM	2403752
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 421	February 15, 2006 12:42:47 PM	2403753
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 456	February 15, 2006 12:42:47 PM	2403754
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 460	February 15, 2006 12:42:47 PM	2403755
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 471	February 15, 2006 12:42:47 PM	2403756
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 522	February 15, 2006 12:42:47 PM	2403757
2	Syntax error on tokens, valid member declaration expected instead	PerfStatsImpl.java	crankjAgent/src/glassbox/track/api	line 523	February 15, 2006 12:42:47 PM	2403758
Comment 1 Andrew Clement CLA 2006-02-16 03:02:09 EST
our poor parser recovery is already covered by bug 42660, this is another case.

*** This bug has been marked as a duplicate of 42660 ***