From 137b9092bafe24ba447600dc01842e9073227ea0 Mon Sep 17 00:00:00 2001 From: Anmol Sethi Date: Sat, 29 Jul 2023 16:16:05 -0700 Subject: [PATCH] d2ir: Fix and add test for glob-edge-glob-index --- d2ir/compile.go | 10 +- d2ir/d2ir.go | 136 +- d2ir/merge.go | 2 +- d2ir/pattern_test.go | 29 +- d2ir/query.go | 2 +- .../errors/glob-edge-glob-index.exp.json | 667 +++ .../patterns/glob-edge-glob-index.exp.json | 3945 +++++++++++++++++ 7 files changed, 4766 insertions(+), 25 deletions(-) create mode 100644 testdata/d2ir/TestCompile/patterns/errors/glob-edge-glob-index.exp.json create mode 100644 testdata/d2ir/TestCompile/patterns/glob-edge-glob-index.exp.json diff --git a/d2ir/compile.go b/d2ir/compile.go index 9d97f5b6d8..c2bff5f552 100644 --- a/d2ir/compile.go +++ b/d2ir/compile.go @@ -396,7 +396,7 @@ func (c *compiler) compileKey(refctx *RefContext) { } func (c *compiler) compileField(dst *Map, kp *d2ast.KeyPath, refctx *RefContext) { - fa, err := dst.EnsureField(kp, refctx) + fa, err := dst.EnsureField(kp, refctx, true) if err != nil { c.err.Errors = append(c.err.Errors, err.(d2ast.Error)) return @@ -614,7 +614,7 @@ func (c *compiler) compileEdges(refctx *RefContext) { return } - fa, err := refctx.ScopeMap.EnsureField(refctx.Key.Key, refctx) + fa, err := refctx.ScopeMap.EnsureField(refctx.Key.Key, refctx, true) if err != nil { c.err.Errors = append(c.err.Errors, err.(d2ast.Error)) return @@ -648,7 +648,7 @@ func (c *compiler) _compileEdges(refctx *RefContext) { var ea []*Edge if eid.Index != nil || eid.Glob { - ea = refctx.ScopeMap.GetEdges(eid) + ea = refctx.ScopeMap.GetEdges(eid, refctx) if len(ea) == 0 { c.errorf(refctx.Edge, "indexed edge does not exist") continue @@ -661,12 +661,12 @@ func (c *compiler) _compileEdges(refctx *RefContext) { refctx.ScopeMap.appendFieldReferences(0, refctx.Edge.Dst, refctx) } } else { - _, err := refctx.ScopeMap.EnsureField(refctx.Edge.Src, refctx) + _, err := refctx.ScopeMap.EnsureField(refctx.Edge.Src, refctx, true) if err != nil { c.err.Errors = append(c.err.Errors, err.(d2ast.Error)) continue } - _, err = refctx.ScopeMap.EnsureField(refctx.Edge.Dst, refctx) + _, err = refctx.ScopeMap.EnsureField(refctx.Edge.Dst, refctx, true) if err != nil { c.err.Errors = append(c.err.Errors, err.(d2ast.Error)) continue diff --git a/d2ir/d2ir.go b/d2ir/d2ir.go index dbc3daa39d..531237b050 100644 --- a/d2ir/d2ir.go +++ b/d2ir/d2ir.go @@ -653,7 +653,7 @@ func (m *Map) getField(ida []string) *Field { return nil } -func (m *Map) EnsureField(kp *d2ast.KeyPath, refctx *RefContext) ([]*Field, error) { +func (m *Map) EnsureField(kp *d2ast.KeyPath, refctx *RefContext, create bool) ([]*Field, error) { i := 0 for kp.Path[i].Unbox().ScalarString() == "_" { m = ParentMap(m) @@ -667,11 +667,11 @@ func (m *Map) EnsureField(kp *d2ast.KeyPath, refctx *RefContext) ([]*Field, erro } var fa []*Field - err := m.ensureField(i, kp, refctx, &fa) + err := m.ensureField(i, kp, refctx, create, &fa) return fa, err } -func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, fa *[]*Field) error { +func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, create bool, fa *[]*Field) error { us, ok := kp.Path[i].Unbox().(*d2ast.UnquotedString) if ok && us.Pattern != nil { fa2, ok := m.doubleGlob(us.Pattern) @@ -685,7 +685,7 @@ func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, fa *[]*F parent: f, } } - err := f.Map().ensureField(i+1, kp, refctx, fa) + err := f.Map().ensureField(i+1, kp, refctx, create, fa) if err != nil { return err } @@ -703,7 +703,7 @@ func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, fa *[]*F parent: f, } } - err := f.Map().ensureField(i+1, kp, refctx, fa) + err := f.Map().ensureField(i+1, kp, refctx, create, fa) if err != nil { return err } @@ -760,9 +760,12 @@ func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, fa *[]*F parent: f, } } - return f.Map().ensureField(i+1, kp, refctx, fa) + return f.Map().ensureField(i+1, kp, refctx, create, fa) } + if !create { + return nil + } f := &Field{ parent: m, Name: head, @@ -783,7 +786,7 @@ func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, fa *[]*F f.Composite = &Map{ parent: f, } - return f.Map().ensureField(i+1, kp, refctx, fa) + return f.Map().ensureField(i+1, kp, refctx, create, fa) } func (m *Map) DeleteEdge(eid *EdgeID) *Edge { @@ -848,7 +851,13 @@ func (m *Map) DeleteField(ida ...string) *Field { return nil } -func (m *Map) GetEdges(eid *EdgeID) []*Edge { +func (m *Map) GetEdges(eid *EdgeID, refctx *RefContext) []*Edge { + if refctx != nil { + var ea []*Edge + m.getEdges(eid, refctx, &ea) + return ea + } + eid, m, common, err := eid.resolve(m) if err != nil { return nil @@ -859,7 +868,7 @@ func (m *Map) GetEdges(eid *EdgeID) []*Edge { return nil } if f.Map() != nil { - return f.Map().GetEdges(eid) + return f.Map().GetEdges(eid, nil) } return nil } @@ -873,6 +882,90 @@ func (m *Map) GetEdges(eid *EdgeID) []*Edge { return ea } +func (m *Map) getEdges(eid *EdgeID, refctx *RefContext, ea *[]*Edge) error { + eid, m, common, err := eid.resolve(m) + if err != nil { + return err + } + + 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, false) + if err != nil { + return nil + } + for _, f := range fa { + if _, ok := f.Composite.(*Array); ok { + return d2parser.Errorf(refctx.Edge.Src, "cannot index into array") + } + if f.Map() == nil { + f.Composite = &Map{ + parent: f, + } + } + err = f.Map().getEdges(eid, refctx, ea) + if err != nil { + return err + } + } + return nil + } + + srcKP := d2ast.MakeKeyPath(eid.SrcPath) + lastMatch := 0 + for i, el := range srcKP.Path { + for j := lastMatch; j < len(refctx.Edge.Src.Path); j++ { + realEl := refctx.Edge.Src.Path[j] + if el.ScalarString() == realEl.ScalarString() { + srcKP.Path[i] = realEl + lastMatch += j + 1 + } + } + } + dstKP := d2ast.MakeKeyPath(eid.DstPath) + lastMatch = 0 + for i, el := range dstKP.Path { + for j := lastMatch; j < len(refctx.Edge.Dst.Path); j++ { + realEl := refctx.Edge.Dst.Path[j] + if el.ScalarString() == realEl.ScalarString() { + dstKP.Path[i] = realEl + lastMatch += j + 1 + } + } + } + + srcFA, err := m.EnsureField(srcKP, nil, false) + if err != nil { + return err + } + dstFA, err := m.EnsureField(dstKP, nil, false) + if err != nil { + return err + } + + for _, src := range srcFA { + for _, dst := range dstFA { + eid2 := eid.Copy() + eid2.SrcPath = RelIDA(m, src) + eid2.DstPath = RelIDA(m, dst) + + ea2 := m.GetEdges(eid2, nil) + *ea = append(*ea, ea2...) + } + } + return nil +} + func (m *Map) CreateEdge(eid *EdgeID, refctx *RefContext) ([]*Edge, error) { var ea []*Edge return ea, m.createEdge(eid, refctx, &ea) @@ -888,11 +981,18 @@ func (m *Map) createEdge(eid *EdgeID, refctx *RefContext, ea *[]*Edge) error { return d2parser.Errorf(refctx.Edge, err.Error()) } if len(common) > 0 { - commonEnd := len(refctx.Edge.Src.Path) - len(eid.SrcPath) - commonStart := commonEnd - len(common) - commonKP := refctx.Edge.Src.Copy() - commonKP.Path = commonKP.Path[commonStart:commonEnd] - fa, err := m.EnsureField(commonKP, nil) + 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) if err != nil { return err } @@ -954,11 +1054,11 @@ func (m *Map) createEdge(eid *EdgeID, refctx *RefContext, ea *[]*Edge) error { } } - srcFA, err := m.EnsureField(srcKP, nil) + srcFA, err := m.EnsureField(srcKP, nil, true) if err != nil { return err } - dstFA, err := m.EnsureField(dstKP, nil) + dstFA, err := m.EnsureField(dstKP, nil, true) if err != nil { return err } @@ -990,9 +1090,11 @@ func (m *Map) createEdge2(eid *EdgeID, refctx *RefContext, src, dst *Field) (*Ed } eid.Index = nil - ea := m.GetEdges(eid) + eid.Glob = true + ea := m.GetEdges(eid, refctx) index := len(ea) eid.Index = &index + eid.Glob = false e := &Edge{ parent: m, ID: eid, diff --git a/d2ir/merge.go b/d2ir/merge.go index 15ba2a9ece..a4a30d21f3 100644 --- a/d2ir/merge.go +++ b/d2ir/merge.go @@ -11,7 +11,7 @@ func OverlayMap(base, overlay *Map) { } for _, oe := range overlay.Edges { - bea := base.GetEdges(oe.ID) + bea := base.GetEdges(oe.ID, nil) if len(bea) == 0 { base.Edges = append(base.Edges, oe.Copy(base).(*Edge)) continue diff --git a/d2ir/pattern_test.go b/d2ir/pattern_test.go index a9dc163ef4..bae678f4a1 100644 --- a/d2ir/pattern_test.go +++ b/d2ir/pattern_test.go @@ -148,6 +148,23 @@ a -> b assertQuery(t, m, 0, 0, "red", "(a -> b)[2].style.fill") }, }, + { + name: "glob-edge-glob-index", + run: func(t testing.TB) { + m, err := compile(t, `a -> b +a -> b +a -> b +c -> b +(* -> b)[*].style.fill: red +`) + assert.Success(t, err) + assertQuery(t, m, 11, 4, nil, "") + assertQuery(t, m, 0, 0, "red", "(a -> b)[0].style.fill") + assertQuery(t, m, 0, 0, "red", "(a -> b)[1].style.fill") + assertQuery(t, m, 0, 0, "red", "(a -> b)[2].style.fill") + assertQuery(t, m, 0, 0, "red", "(c -> b)[0].style.fill") + }, + }, { name: "double-glob/1", run: func(t testing.TB) { @@ -169,7 +186,17 @@ shared.animal runa(t, tca) t.Run("errors", func(t *testing.T) { - tca := []testCase{} + tca := []testCase{ + { + name: "glob-edge-glob-index", + run: func(t testing.TB) { + m, err := compile(t, `(* -> b)[*].style.fill: red +`) + assert.ErrorString(t, err, `TestCompile/patterns/errors/glob-edge-glob-index.d2:1:2: indexed edge does not exist`) + assertQuery(t, m, 0, 0, nil, "") + }, + }, + } runa(t, tca) }) } diff --git a/d2ir/query.go b/d2ir/query.go index e2ab2e9443..0f7caddc9f 100644 --- a/d2ir/query.go +++ b/d2ir/query.go @@ -30,7 +30,7 @@ func (m *Map) QueryAll(idStr string) (na []Node, _ error) { eida := NewEdgeIDs(k) for _, eid := range eida { - ea := m.GetEdges(eid) + ea := m.GetEdges(eid, nil) for _, e := range ea { if k.EdgeKey == nil { na = append(na, e) diff --git a/testdata/d2ir/TestCompile/patterns/errors/glob-edge-glob-index.exp.json b/testdata/d2ir/TestCompile/patterns/errors/glob-edge-glob-index.exp.json new file mode 100644 index 0000000000..9735275e6b --- /dev/null +++ b/testdata/d2ir/TestCompile/patterns/errors/glob-edge-glob-index.exp.json @@ -0,0 +1,667 @@ +{ + "fields": [ + { + "name": "b", + "references": [ + { + "string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:7:7", + "src": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:0:0-0:24:24", + "edges": [ + { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:7:7", + "src": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_key": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:19:19", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:14:14", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:15:15-0:19:19", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:21:21-0:24:24", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": [ + { + "edge_id": { + "src_path": [ + "b" + ], + "src_arrow": false, + "dst_path": [ + "b" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "map": { + "fields": [ + { + "name": "style", + "composite": { + "fields": [ + { + "name": "fill", + "primary": { + "value": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:21:21-0:24:24", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:15:15-0:19:19", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:19:19", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:14:14", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:15:15-0:19:19", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:7:7", + "src": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:0:0-0:24:24", + "edges": [ + { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:7:7", + "src": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_key": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:19:19", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:14:14", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:15:15-0:19:19", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:21:21-0:24:24", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:14:14", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:19:19", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:14:14", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:15:15-0:19:19", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:7:7", + "src": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:0:0-0:24:24", + "edges": [ + { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:7:7", + "src": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_key": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:19:19", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:14:14", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:15:15-0:19:19", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:21:21-0:24:24", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:7:7", + "src": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:0:0-0:24:24", + "edges": [ + { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:7:7", + "src": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:1:1-0:2:2", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:6:6-0:7:7", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_key": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:19:19", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:9:9-0:14:14", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:15:15-0:19:19", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/errors/glob-edge-glob-index.d2,0:21:21-0:24:24", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ] +} diff --git a/testdata/d2ir/TestCompile/patterns/glob-edge-glob-index.exp.json b/testdata/d2ir/TestCompile/patterns/glob-edge-glob-index.exp.json new file mode 100644 index 0000000000..76ba3598ff --- /dev/null +++ b/testdata/d2ir/TestCompile/patterns/glob-edge-glob-index.exp.json @@ -0,0 +1,3945 @@ +{ + "fields": [ + { + "name": "a", + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + } + ] + }, + { + "name": "b", + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "value": [ + { + "string": "c", + "raw_string": "c" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "value": [ + { + "string": "c", + "raw_string": "c" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + }, + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + }, + { + "name": "c", + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "value": [ + { + "string": "c", + "raw_string": "c" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "value": [ + { + "string": "c", + "raw_string": "c" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "value": [ + { + "string": "c", + "raw_string": "c" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "value": [ + { + "string": "c", + "raw_string": "c" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + } + ] + } + ], + "edges": [ + { + "edge_id": { + "src_path": [ + "a" + ], + "src_arrow": false, + "dst_path": [ + "b" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "map": { + "fields": [ + { + "name": "style", + "composite": { + "fields": [ + { + "name": "fill", + "primary": { + "value": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:6:6", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:0:0-0:1:1", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,0:5:5-0:6:6", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + }, + { + "edge_id": { + "src_path": [ + "a" + ], + "src_arrow": false, + "dst_path": [ + "b" + ], + "dst_arrow": true, + "index": 1, + "glob": false + }, + "map": { + "fields": [ + { + "name": "style", + "composite": { + "fields": [ + { + "name": "fill", + "primary": { + "value": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:6:13", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:0:7-1:1:8", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,1:5:12-1:6:13", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + }, + { + "edge_id": { + "src_path": [ + "a" + ], + "src_arrow": false, + "dst_path": [ + "b" + ], + "dst_arrow": true, + "index": 2, + "glob": false + }, + "map": { + "fields": [ + { + "name": "style", + "composite": { + "fields": [ + { + "name": "fill", + "primary": { + "value": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:6:20", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:0:14-2:1:15", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,2:5:19-2:6:20", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + }, + { + "edge_id": { + "src_path": [ + "c" + ], + "src_arrow": false, + "dst_path": [ + "b" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "map": { + "fields": [ + { + "name": "style", + "composite": { + "fields": [ + { + "name": "fill", + "primary": { + "value": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + }, + "key_path": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ], + "edges": null + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "value": [ + { + "string": "c", + "raw_string": "c" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:6:27", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:0:21-3:1:22", + "value": [ + { + "string": "c", + "raw_string": "c" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,3:5:26-3:6:27", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + } + }, + { + "context": { + "edge": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:0:28-4:27:55", + "edges": [ + { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:7:35", + "src": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:1:29-4:2:30", + "value": [ + { + "string": "*", + "raw_string": "*" + } + ], + "pattern": [ + "*" + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:6:34-4:7:35", + "value": [ + { + "string": "b", + "raw_string": "b" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "edge_index": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:8:36-4:11:39", + "int": null, + "glob": true + }, + "edge_key": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:22:50", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:12:40-4:17:45", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:18:46-4:22:50", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/patterns/glob-edge-glob-index.d2,4:24:52-4:27:55", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + } + ] + } + ] +}