| Index: lib/src/server/dependency_graph.dart
|
| diff --git a/lib/src/server/dependency_graph.dart b/lib/src/server/dependency_graph.dart
|
| index a5bbecf89ba4887acbc6ace9157e1846adbea9c4..60835e40f84f600aba70cfb4bf446ae032166270 100644
|
| --- a/lib/src/server/dependency_graph.dart
|
| +++ b/lib/src/server/dependency_graph.dart
|
| @@ -156,6 +156,22 @@ abstract class SourceNode {
|
| }
|
| }
|
|
|
| +/// A unique node representing all entry points in the graph. This is just for
|
| +/// graph algorthm convenience.
|
| +class EntryNode extends SourceNode {
|
| + final Iterable<SourceNode> entryPoints;
|
| +
|
| + @override
|
| + Iterable<SourceNode> get allDeps => entryPoints;
|
| +
|
| + @override
|
| + Iterable<SourceNode> get depsWithoutParts => entryPoints;
|
| +
|
| + EntryNode(SourceGraph graph, Uri uri, Iterable<SourceNode> nodes)
|
| + : entryPoints = nodes,
|
| + super(graph, uri, null);
|
| +}
|
| +
|
| /// A node representing an entry HTML source file.
|
| class HtmlSourceNode extends SourceNode {
|
| /// Resources included by default on any application.
|
| @@ -466,7 +482,7 @@ rebuild(SourceNode start, bool build(SourceNode node)) {
|
| bool shouldBuildNode(SourceNode n) {
|
| if (n.needsRebuild) return true;
|
| if (n is HtmlSourceNode) return htmlNeedsRebuild;
|
| - if (n is ResourceSourceNode) return false;
|
| + if (n is ResourceSourceNode || n is EntryNode) return false;
|
| return (n as DartSourceNode)
|
| .imports
|
| .any((i) => apiChangeDetected.contains(i));
|
|
|