96e9dce1d4
Previously, PhaseOutput produced a single AssetNode whose value it would update whenever the forwarded output changed. This worked well for a while, but once Phase started caring about the AssetNode's origin, it became problematic. PhaseOutput would change the origin, but Phase would have no way of knowing this, and the AssetNode would end up sorted into the wrong place (treated as a forwarded node when it shouldn't be, or vice versa). This CL fixes that issue by removing the possibility of modifying an AssetNode's origin. PhaseOutput now just creates a new AssetNode instead. This has the additional benefit of cleaning up some duplicated code in Phase. R=rnystrom@google.com BUG= Review URL: https://codereview.chromium.org//26413003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28386 260f80e4-7a28-3924-810f-c04153c831b5