Recompile unit with potential conflict/dependency on some top-level symbol.

1. Change dependency tracking from API version on unit to just unit last modified time.

2. Track sets of top-level and all declared symbols in units, recompile in case of possible conflict.

3. Track units with TypeErrorCode.CANNOT_BE_RESOLVED, recompile if any unit changes top-level symbols.

4. Better tests with source code directly in test method.

R=zundel@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9148026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3799 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
scheglov@google.com
2012-02-01 17:47:04 +00:00
parent 16d87a7fd8
commit ecbd1874bf
35 changed files with 1735 additions and 995 deletions
@@ -22,4 +22,10 @@ public interface ErrorCode {
* @return the {@link SubSystem} which issued this error.
*/
SubSystem getSubSystem();
/**
* @return <code>true</code> if this {@link ErrorCode} should cause recompilation of the source
* during next incremental compilation.
*/
boolean needsRecompilation();
}