Bug 3305 - Incremental build doesn't detect abstract method to implements. (1GF5TZT)
Summary: Incremental build doesn't detect abstract method to implements. (1GF5TZT)
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: All Windows NT
: P3 normal (vote)
Target Milestone: 2.0 M1   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-10-10 22:52 EDT by David Audel CLA
Modified: 2002-01-14 11:08 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 David Audel CLA 2001-10-10 22:52:55 EDT
Step to repreduce :
	1) create a project P1.
	2) add an abstract class A in P1.
	3) create a project P2 with P1 in build path.
	4) add a class B which extends A in P2.
	5) add an abstract in A ( e.g. public abstract void foo(); ).

	no error signaled in B.

NOTES:
DA (6/11/01 4:23:13 AM)
	bugs already exist in build 0.120.

DA (6/11/01 5:09:50 AM)
	bugs already exist in build 0.101.
	but doesn't exist in 0.046.

PM (6/12/01 12:31:47 AM)
	Related to 1GF5UG8: ITPJCORE:WINNT - Incremental build doesn't detect 
disappearance of field.

	I believe both are the same scenario.	What appears is that since 
build 101 (when we put in the changes for using incremental deltas from other 
projects, as opposed
	to my code for binary book-keeping), inter-project dependencies are no 
longer sensitive to structural changes in binaries.

JW (6/12/01 5:44:15 PM)
	How much work is this to bring forward?

PM (6/12/01 6:44:15 PM)
	I have a naive way to make this work, by changing the code of 
IncrementalImageBuilder.changedSourceElement(SourceEntry)
	in the case of non-source change to mark dependents of the changed 
binary for recompile.

	This is way too much requesting for recompile... I think the right 
solution should be to perform indictments on the binary, but 
	unfortunately at this point it does not have a builder type or a 
principal structure...

	I was looking at a simple way to queue those binary changes for 
considerating them along when the updateState is performed, but
	could not figure how to do this easily again. Are we stuck with saying 
the bug is there, or can you think of a way to solve this one ?

PM (6/13/2001 3:44:30 PM)
	NE assesses the bug is real, and there is no easy work-around.
	
	The naive fix would provide the same behavior as pre101 change. NE 
suggested adding a CRC check, but this is already more change than
	what we can put in at this point.

	I think there should be some deep change to apply to the builder, but 
this is post-june.

	It should really compile the changed sources, producing some new 
binaries, and add the externally changed binaries in the update/indictment loop.
	Note: there should not be any need to remember the structure of 
binaries in memory, since it would only compute a binary delta upon replacing 
the existing class
	file.

	Those binary deltas would be the only things remembered in memory for 
the duration of an incremental build.
Comment 1 DJ Houghton CLA 2001-10-29 17:08:09 EST
PRODUCT VERSION:
build 0.122

Comment 2 Kent Johnson CLA 2001-12-10 16:14:05 EST
Closed - not reproducable with new builder.