tools/flow: add IgnoreConcrete option

Ignore dependencies which point to immutable values.

This is the behavior of `cue cmd`. It is not sure whether
this is necessarily desirable, so this has been added as an option.

It would be possible to always have this behavior, though.

Change-Id: I3feacf5600a7ea1b69986e12fb5c7a285c9f413a
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/7642
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
Reviewed-by: CUE cueckoo <cueckoo@gmail.com>
diff --git a/tools/flow/flow.go b/tools/flow/flow.go
index 5f0b412..f028cee 100644
--- a/tools/flow/flow.go
+++ b/tools/flow/flow.go
@@ -136,6 +136,10 @@
 	// by any of the tasks defined within Root.
 	InferTasks bool
 
+	// IgnoreConcrete ignores references for which the values are already
+	// concrete and cannot change.
+	IgnoreConcrete bool
+
 	// UpdateFunc is called whenever the information in the controller is
 	// updated. This includes directly after initialization. The task may be
 	// nil if this call is not the result of a task completing.