Chromium Code Reviews| Index: dart/pkg/dart2js_incremental/lib/diff.dart |
| diff --git a/dart/pkg/dart2js_incremental/lib/diff.dart b/dart/pkg/dart2js_incremental/lib/diff.dart |
| index e3fad3afd209bf748bf555ccea6b1603c4239bfb..c2ed650eebbcf299d774bc10b4e60a83073e3ef5 100644 |
| --- a/dart/pkg/dart2js_incremental/lib/diff.dart |
| +++ b/dart/pkg/dart2js_incremental/lib/diff.dart |
| @@ -33,7 +33,11 @@ class Difference { |
| final DeclarationSite after; |
| Token token; |
|
Johnni Winther
2014/10/16 07:48:46
Add comment on the semantics of [token].
ahe
2014/10/16 09:19:48
Done.
|
| - Difference(this.before, this.after); |
| + Difference(this.before, this.after) { |
| + if (before == after) { |
| + throw '[before] and [after] are the same.'; |
| + } |
| + } |
| String toString() { |
| if (before == null) return 'Added($after)'; |
| @@ -48,8 +52,10 @@ List<Difference> computeDifference( |
| Map<String, DeclarationSite> beforeMap = <String, DeclarationSite>{}; |
| before.forEachLocalMember((modelx.ElementX element) { |
| DeclarationSite site = element.declarationSite; |
| - assert(site != null); |
| - beforeMap[element.name] = site; |
| + assert(site != null || element.isSynthesized); |
| + if (!element.isSynthesized) { |
| + beforeMap[element.name] = site; |
| + } |
| }); |
| List<Difference> modifications = <Difference>[]; |
| List<Difference> potentiallyChanged = <Difference>[]; |