diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index 3f9617cd4..da7d1bf41 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -10,3 +10,4 @@ - Sequence diagram multi-line edge labels no longer can collide with other elements [#2049](https://github.com/terrastruct/d2/pull/2049) - Sequence diagram long self-referential edge labels no longer can collide neighboring actors (or its own) lifeline edges [#2050](https://github.com/terrastruct/d2/pull/2050) +- Globs: An edge case was fixed where globs used in edges were creating nodes when it shouldn't have [#2051](https://github.com/terrastruct/d2/pull/2051) diff --git a/d2ir/d2ir.go b/d2ir/d2ir.go index 1ab518acc..236e36c18 100644 --- a/d2ir/d2ir.go +++ b/d2ir/d2ir.go @@ -435,7 +435,7 @@ func (eid *EdgeID) resolve(m *Map) (_ *EdgeID, _ *Map, common []string, _ error) } for len(eid.SrcPath) > 1 && len(eid.DstPath) > 1 { - if !strings.EqualFold(eid.SrcPath[0], eid.DstPath[0]) || eid.SrcPath[0] == "*" { + if !strings.EqualFold(eid.SrcPath[0], eid.DstPath[0]) || strings.Contains(eid.SrcPath[0], "*") { return eid, m, common, nil } common = append(common, eid.SrcPath[0]) @@ -1218,11 +1218,11 @@ func (m *Map) createEdge(eid *EdgeID, refctx *RefContext, gctx *globContext, c * eid2.SrcPath = RelIDA(m, src) eid2.DstPath = RelIDA(m, dst) - e, err := m.createEdge2(eid2, refctx, gctx, c, src, dst) + es, err := m.createEdge2(eid2, refctx, gctx, c, src, dst) if err != nil { return err } - if e != nil { + for _, e := range es { *ea = append(*ea, e) } } @@ -1230,7 +1230,7 @@ func (m *Map) createEdge(eid *EdgeID, refctx *RefContext, gctx *globContext, c * return nil } -func (m *Map) createEdge2(eid *EdgeID, refctx *RefContext, gctx *globContext, c *compiler, src, dst *Field) (*Edge, error) { +func (m *Map) createEdge2(eid *EdgeID, refctx *RefContext, gctx *globContext, c *compiler, src, dst *Field) ([]*Edge, error) { if NodeBoardKind(src) != "" { return nil, d2parser.Errorf(refctx.Edge.Src, "cannot create edges between boards") } @@ -1241,6 +1241,45 @@ func (m *Map) createEdge2(eid *EdgeID, refctx *RefContext, gctx *globContext, c return nil, d2parser.Errorf(refctx.Edge, "cannot create edges between boards") } + eid, m, common, err := eid.resolve(m) + if err != nil { + return nil, d2parser.Errorf(refctx.Edge, err.Error()) + } + if len(common) > 0 { + commonKP := d2ast.MakeKeyPath(common) + lastMatch := 0 + for i, el := range commonKP.Path { + for j := lastMatch; j < len(refctx.Edge.Src.Path); j++ { + realEl := refctx.Edge.Src.Path[j] + if el.ScalarString() == realEl.ScalarString() { + commonKP.Path[i] = realEl + lastMatch += j + 1 + } + } + } + fa, err := m.EnsureField(commonKP, nil, true, c) + if err != nil { + return nil, err + } + var edges []*Edge + for _, f := range fa { + if _, ok := f.Composite.(*Array); ok { + return nil, d2parser.Errorf(refctx.Edge.Src, "cannot index into array") + } + if f.Map() == nil { + f.Composite = &Map{ + parent: f, + } + } + edges2, err := f.Map().createEdge2(eid, refctx, gctx, c, src, dst) + if err != nil { + return nil, err + } + edges = append(edges, edges2...) + } + return edges, nil + } + eid.Index = nil eid.Glob = true ea := m.GetEdges(eid, nil, nil) @@ -1276,7 +1315,7 @@ func (m *Map) createEdge2(eid *EdgeID, refctx *RefContext, gctx *globContext, c m.Edges = append(m.Edges, e) - return e, nil + return []*Edge{e}, nil } func (s *Scalar) AST() d2ast.Node { diff --git a/d2ir/pattern_test.go b/d2ir/pattern_test.go index 8cc32c6cf..40c07323d 100644 --- a/d2ir/pattern_test.go +++ b/d2ir/pattern_test.go @@ -157,6 +157,24 @@ sh*.an* -> sh*.an*`) assertQuery(t, m, 0, 0, nil, "shared.(animal -> animate)[0]") }, }, + { + name: "edge/4", + run: func(t testing.TB) { + m, err := compile(t, `app_a: { + x + } + + app_b: { + y + } + + app_*.x -> app_*.y`) + assert.Success(t, err) + assertQuery(t, m, 6, 4, nil, "") + assertQuery(t, m, 2, 1, nil, "app_a") + assertQuery(t, m, 2, 1, nil, "app_b") + }, + }, { name: "edge-glob-index", run: func(t testing.TB) { diff --git a/testdata/d2ir/TestCompile/patterns/edge/4.exp.json b/testdata/d2ir/TestCompile/patterns/edge/4.exp.json new file mode 100644 index 000000000..b3fa57457 --- /dev/null +++ b/testdata/d2ir/TestCompile/patterns/edge/4.exp.json @@ -0,0 +1,1722 @@ +{ + "fields": [ + { + "name": "app_a", + "composite": { + "fields": [ + { + "name": "x", + "references": [ + { + "string": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "key": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + }, + { + "string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "edges": [ + { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "name": "y", + "references": [ + { + "string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "edges": [ + { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + } + ], + "edges": [ + { + "edge_id": { + "src_path": [ + "x" + ], + "src_arrow": false, + "dst_path": [ + "y" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "edges": [ + { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + } + ] + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/edge/4.d2,0:0:0-0:5:5", + "value": [ + { + "string": "app_a", + "raw_string": "app_a" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/edge/4.d2,0:0:0-0:5:5", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,0:0:0-0:5:5", + "value": [ + { + "string": "app_a", + "raw_string": "app_a" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/patterns/edge/4.d2,0:0:0-2:2:16", + "key": { + "range": "TestCompile/patterns/edge/4.d2,0:0:0-0:5:5", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,0:0:0-0:5:5", + "value": [ + { + "string": "app_a", + "raw_string": "app_a" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/patterns/edge/4.d2,0:7:7-2:2:16", + "nodes": [ + { + "map_key": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "key": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,1:3:12-1:4:13", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + } + ] + } + } + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + }, + { + "name": "app_b", + "composite": { + "fields": [ + { + "name": "y", + "references": [ + { + "string": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "key": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + }, + { + "string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "edges": [ + { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "name": "x", + "references": [ + { + "string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "edges": [ + { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + } + ], + "edges": [ + { + "edge_id": { + "src_path": [ + "x" + ], + "src_arrow": false, + "dst_path": [ + "y" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "edges": [ + { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + } + ] + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/edge/4.d2,4:1:19-4:6:24", + "value": [ + { + "string": "app_b", + "raw_string": "app_b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/edge/4.d2,4:1:19-4:6:24", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,4:1:19-4:6:24", + "value": [ + { + "string": "app_b", + "raw_string": "app_b" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/patterns/edge/4.d2,4:1:19-6:2:35", + "key": { + "range": "TestCompile/patterns/edge/4.d2,4:1:19-4:6:24", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,4:1:19-4:6:24", + "value": [ + { + "string": "app_b", + "raw_string": "app_b" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/patterns/edge/4.d2,4:8:26-6:2:35", + "nodes": [ + { + "map_key": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "key": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,5:3:31-5:4:32", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "primary": {}, + "value": {} + } + } + ] + } + } + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + } + ], + "edges": [ + { + "edge_id": { + "src_path": [ + "app_a", + "x" + ], + "src_arrow": false, + "dst_path": [ + "app_b", + "y" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "edges": [ + { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "app_b", + "x" + ], + "src_arrow": false, + "dst_path": [ + "app_a", + "y" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "edges": [ + { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:19:56", + "src": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:8:45", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:1:38-8:6:43", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:7:44-8:8:45", + "value": [ + { + "string": "x", + "raw_string": "x" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:19:56", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:12:49-8:17:54", + "value": [ + { + "string": "app_*", + "raw_string": "app_*" + } + ], + "pattern": [ + "app_", + "*" + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/edge/4.d2,8:18:55-8:19:56", + "value": [ + { + "string": "y", + "raw_string": "y" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + } + ] +} diff --git a/testdata/d2ir/TestCompile/patterns/scenarios.exp.json b/testdata/d2ir/TestCompile/patterns/scenarios.exp.json index a352aa25a..587b6d6c3 100644 --- a/testdata/d2ir/TestCompile/patterns/scenarios.exp.json +++ b/testdata/d2ir/TestCompile/patterns/scenarios.exp.json @@ -285,7 +285,1484 @@ ] } ], - "edges": null + "edges": [ + { + "edge_id": { + "src_path": [ + "e" + ], + "src_arrow": false, + "dst_path": [ + "f" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "e" + ], + "src_arrow": false, + "dst_path": [ + "g" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "e" + ], + "src_arrow": false, + "dst_path": [ + "h" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "f" + ], + "src_arrow": false, + "dst_path": [ + "e" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "f" + ], + "src_arrow": false, + "dst_path": [ + "g" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "f" + ], + "src_arrow": false, + "dst_path": [ + "h" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "g" + ], + "src_arrow": false, + "dst_path": [ + "e" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "g" + ], + "src_arrow": false, + "dst_path": [ + "f" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "g" + ], + "src_arrow": false, + "dst_path": [ + "h" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "h" + ], + "src_arrow": false, + "dst_path": [ + "e" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "h" + ], + "src_arrow": false, + "dst_path": [ + "f" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "h" + ], + "src_arrow": false, + "dst_path": [ + "g" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "edges": [ + { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", + "src": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", + "value": [ + { + "string": "**", + "raw_string": "**" + } + ], + "pattern": [ + "*", + "", + "*" + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + } + ] + } + ] }, "references": [ { @@ -905,1530 +2382,6 @@ } ], "edges": [ - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "e" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "f" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "e" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "g" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "e" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "h" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "f" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "e" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "f" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "g" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "f" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "h" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "g" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "e" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "g" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "f" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "g" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "h" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "h" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "e" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "h" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "f" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, - { - "edge_id": { - "src_path": [ - "scenarios", - "meow", - "h" - ], - "src_arrow": false, - "dst_path": [ - "scenarios", - "meow", - "g" - ], - "dst_arrow": true, - "index": 0, - "glob": false - }, - "references": [ - { - "context": { - "edge": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - }, - "key": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "edges": [ - { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:8:75", - "src": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:0:67-17:2:69", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "src_arrow": "", - "dst": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "path": [ - { - "unquoted_string": { - "range": "TestCompile/patterns/scenarios.d2,17:6:73-17:8:75", - "value": [ - { - "string": "**", - "raw_string": "**" - } - ], - "pattern": [ - "*", - "", - "*" - ] - } - } - ] - }, - "dst_arrow": ">" - } - ], - "primary": {}, - "value": {} - } - }, - "due_to_glob": true, - "due_to_lazy_glob": false - } - ] - }, { "edge_id": { "src_path": [