internal/core/dep: first stab at precise dependency analyzer

Change-Id: I0bf5de9a1b2421ddffa4108c6dbffd38dae2cfe0
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/7604
Reviewed-by: CUE cueckoo <cueckoo@gmail.com>
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/internal/core/dep/testdata/field.txtar b/internal/core/dep/testdata/field.txtar
new file mode 100644
index 0000000..e993bc3
--- /dev/null
+++ b/internal/core/dep/testdata/field.txtar
@@ -0,0 +1,23 @@
+-- in.cue --
+a: b: {
+    { [pattern]:  c }
+    { "\(name)": c }
+    regular:    c
+    optional?:  c
+    ...
+}
+
+pattern: =~"^Foo"
+value:   c
+name:    "name"
+c:       "descendants"
+-- out/dependencies/field --
+pattern
+name
+-- out/dependencies/all --
+pattern
+c
+name
+c
+c
+c