diff --git a/d2ast/d2ast.go b/d2ast/d2ast.go index a210a49f3..87b0921f6 100644 --- a/d2ast/d2ast.go +++ b/d2ast/d2ast.go @@ -606,6 +606,15 @@ func (m *Map) IsFileMap() bool { return m.Range.Start.Line == 0 && m.Range.Start.Column == 0 } +func (m *Map) HasFilter() bool { + for _, n := range m.Nodes { + if n.MapKey != nil && (n.MapKey.Ampersand || n.MapKey.NotAmpersand) { + return true + } + } + return false +} + // TODO: require @ on import values for readability type Key struct { Range Range `json:"range"` diff --git a/d2ir/compile.go b/d2ir/compile.go index 71b1f5468..b4e22437d 100644 --- a/d2ir/compile.go +++ b/d2ir/compile.go @@ -376,6 +376,36 @@ func (g *globContext) prefixed(dst *Map) *globContext { return &g2 } +func (c *compiler) ampersandFilterMap(dst *Map, ast, scopeAST *d2ast.Map) bool { + for _, n := range ast.Nodes { + switch { + case n.MapKey != nil: + ok := c.ampersandFilter(&RefContext{ + Key: n.MapKey, + Scope: ast, + ScopeMap: dst, + ScopeAST: scopeAST, + }) + if !ok { + // Unapply glob if appropriate. + gctx := c.getGlobContext(c.mapRefContextStack[len(c.mapRefContextStack)-1]) + if gctx == nil { + return false + } + var ks string + if gctx.refctx.Key.HasTripleGlob() { + ks = d2format.Format(d2ast.MakeKeyPath(IDA(dst))) + } else { + ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(dst))) + } + delete(gctx.appliedFields, ks) + return false + } + } + } + return true +} + func (c *compiler) compileMap(dst *Map, ast, scopeAST *d2ast.Map) { var globs []*globContext if len(c.globContextStack) > 0 { @@ -400,31 +430,9 @@ func (c *compiler) compileMap(dst *Map, ast, scopeAST *d2ast.Map) { c.globContextStack = c.globContextStack[:len(c.globContextStack)-1] }() - for _, n := range ast.Nodes { - switch { - case n.MapKey != nil: - ok := c.ampersandFilter(&RefContext{ - Key: n.MapKey, - Scope: ast, - ScopeMap: dst, - ScopeAST: scopeAST, - }) - if !ok { - // Unapply glob if appropriate. - gctx := c.getGlobContext(c.mapRefContextStack[len(c.mapRefContextStack)-1]) - if gctx == nil { - return - } - var ks string - if gctx.refctx.Key.HasTripleGlob() { - ks = d2format.Format(d2ast.MakeKeyPath(IDA(dst))) - } else { - ks = d2format.Format(d2ast.MakeKeyPath(BoardIDA(dst))) - } - delete(gctx.appliedFields, ks) - return - } - } + ok := c.ampersandFilterMap(dst, ast, scopeAST) + if !ok { + return } for _, n := range ast.Nodes { @@ -644,7 +652,22 @@ func (c *compiler) _ampersandFilter(f *Field, refctx *RefContext) bool { } func (c *compiler) _compileField(f *Field, refctx *RefContext) { - if len(refctx.Key.Edges) == 0 && refctx.Key.Value.Null != nil { + // In case of filters, we need to pass filters before continuing + if refctx.Key.Value.Map != nil && refctx.Key.Value.Map.HasFilter() { + if f.Map() == nil { + f.Composite = &Map{ + parent: f, + } + } + c.mapRefContextStack = append(c.mapRefContextStack, refctx) + ok := c.ampersandFilterMap(f.Map(), refctx.Key.Value.Map, refctx.ScopeAST) + c.mapRefContextStack = c.mapRefContextStack[:len(c.mapRefContextStack)-1] + if !ok { + return + } + } + + if len(refctx.Key.Edges) == 0 && (refctx.Key.Primary.Null != nil || refctx.Key.Value.Null != nil) { // For vars, if we delete the field, it may just resolve to an outer scope var of the same name // Instead we keep it around, so that resolveSubstitutions can find it if !IsVar(ParentMap(f)) { @@ -662,6 +685,7 @@ func (c *compiler) _compileField(f *Field, refctx *RefContext) { Value: refctx.Key.Primary.Unbox(), } } + if refctx.Key.Value.Array != nil { a := &Array{ parent: f, diff --git a/d2ir/filter_test.go b/d2ir/filter_test.go index fa5d9ca8f..322d5b450 100644 --- a/d2ir/filter_test.go +++ b/d2ir/filter_test.go @@ -170,6 +170,46 @@ b.label: a assertQuery(t, m, 0, 0, "yellow", "b.style.fill") }, }, + { + name: "primary-filter", + run: func(t testing.TB) { + m, err := compile(t, ` +parent: { + a -> b1 + a -> b2 + a -> b3 + + b1 -> c1 + b1 -> c2 + + c1: { + c1-child.class: hidden + } + + c2: { + C2-child.class: hidden + } + c2.class: hidden + b2.class: hidden +} + +classes: { + hidden: { + style: { + fill: red + } + } +} + +# Error +**: null { + &class: hidden +} +`) + assert.Success(t, err) + assertQuery(t, m, 9, 3, nil, "") + }, + }, } runa(t, tca) diff --git a/testdata/d2ir/TestCompile/filters/array.exp.json b/testdata/d2ir/TestCompile/filters/array.exp.json index 1e379fa23..b65935e1b 100644 --- a/testdata/d2ir/TestCompile/filters/array.exp.json +++ b/testdata/d2ir/TestCompile/filters/array.exp.json @@ -114,6 +114,70 @@ "due_to_glob": false, "due_to_lazy_glob": false }, + { + "string": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/array.d2,11:1:134-11:15:148", + "ampersand": true, + "key": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/array.d2,11:9:142-11:15:148", + "value": [ + { + "string": "server", + "raw_string": "server" + } + ] + } + } + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + }, { "string": { "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", @@ -887,6 +951,70 @@ "due_to_glob": false, "due_to_lazy_glob": false }, + { + "string": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/array.d2,11:1:134-11:15:148", + "ampersand": true, + "key": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/array.d2,11:9:142-11:15:148", + "value": [ + { + "string": "server", + "raw_string": "server" + } + ] + } + } + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + }, { "string": { "range": "TestCompile/filters/array.d2,11:2:135-11:7:140", diff --git a/testdata/d2ir/TestCompile/filters/base.exp.json b/testdata/d2ir/TestCompile/filters/base.exp.json index a8e519a36..98d52c7fe 100644 --- a/testdata/d2ir/TestCompile/filters/base.exp.json +++ b/testdata/d2ir/TestCompile/filters/base.exp.json @@ -326,6 +326,70 @@ "due_to_glob": false, "due_to_lazy_glob": false }, + { + "string": { + "range": "TestCompile/filters/base.d2,7:2:63-7:7:68", + "value": [ + { + "string": "shape", + "raw_string": "shape" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/base.d2,7:2:63-7:7:68", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/base.d2,7:2:63-7:7:68", + "value": [ + { + "string": "shape", + "raw_string": "shape" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/base.d2,7:1:62-7:18:79", + "ampersand": true, + "key": { + "range": "TestCompile/filters/base.d2,7:2:63-7:7:68", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/base.d2,7:2:63-7:7:68", + "value": [ + { + "string": "shape", + "raw_string": "shape" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/base.d2,7:9:70-7:18:79", + "value": [ + { + "string": "rectangle", + "raw_string": "rectangle" + } + ] + } + } + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + }, { "string": { "range": "TestCompile/filters/base.d2,7:2:63-7:7:68", diff --git a/testdata/d2ir/TestCompile/filters/lazy-filter.exp.json b/testdata/d2ir/TestCompile/filters/lazy-filter.exp.json index 99cba51c3..3c8ace026 100644 --- a/testdata/d2ir/TestCompile/filters/lazy-filter.exp.json +++ b/testdata/d2ir/TestCompile/filters/lazy-filter.exp.json @@ -362,6 +362,70 @@ "due_to_glob": false, "due_to_lazy_glob": false }, + { + "string": { + "range": "TestCompile/filters/lazy-filter.d2,2:3:9-2:8:14", + "value": [ + { + "string": "label", + "raw_string": "label" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/lazy-filter.d2,2:3:9-2:8:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/lazy-filter.d2,2:3:9-2:8:14", + "value": [ + { + "string": "label", + "raw_string": "label" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/lazy-filter.d2,2:2:8-2:11:17", + "ampersand": true, + "key": { + "range": "TestCompile/filters/lazy-filter.d2,2:3:9-2:8:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/lazy-filter.d2,2:3:9-2:8:14", + "value": [ + { + "string": "label", + "raw_string": "label" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/lazy-filter.d2,2:10:16-2:11:17", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + } + }, + "due_to_glob": true, + "due_to_lazy_glob": true + }, { "string": { "range": "TestCompile/filters/lazy-filter.d2,2:3:9-2:8:14", diff --git a/testdata/d2ir/TestCompile/filters/order.exp.json b/testdata/d2ir/TestCompile/filters/order.exp.json index 79950f25e..aaaa8b71e 100644 --- a/testdata/d2ir/TestCompile/filters/order.exp.json +++ b/testdata/d2ir/TestCompile/filters/order.exp.json @@ -326,6 +326,70 @@ "due_to_glob": false, "due_to_lazy_glob": false }, + { + "string": { + "range": "TestCompile/filters/order.d2,8:2:87-8:7:92", + "value": [ + { + "string": "shape", + "raw_string": "shape" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/order.d2,8:2:87-8:7:92", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/order.d2,8:2:87-8:7:92", + "value": [ + { + "string": "shape", + "raw_string": "shape" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/order.d2,8:1:86-8:18:103", + "ampersand": true, + "key": { + "range": "TestCompile/filters/order.d2,8:2:87-8:7:92", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/order.d2,8:2:87-8:7:92", + "value": [ + { + "string": "shape", + "raw_string": "shape" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/order.d2,8:9:94-8:18:103", + "value": [ + { + "string": "rectangle", + "raw_string": "rectangle" + } + ] + } + } + } + }, + "due_to_glob": true, + "due_to_lazy_glob": false + }, { "string": { "range": "TestCompile/filters/order.d2,8:2:87-8:7:92", diff --git a/testdata/d2ir/TestCompile/filters/primary-filter.exp.json b/testdata/d2ir/TestCompile/filters/primary-filter.exp.json new file mode 100644 index 000000000..d17adef3f --- /dev/null +++ b/testdata/d2ir/TestCompile/filters/primary-filter.exp.json @@ -0,0 +1,2355 @@ +{ + "fields": [ + { + "name": "parent", + "composite": { + "fields": [ + { + "name": "a", + "composite": { + "fields": null, + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "src": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "src": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + }, + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:9:30", + "src": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,3:7:28-3:9:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,3:7:28-3:9:30", + "value": [ + { + "string": "b2", + "raw_string": "b2" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:9:30", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:9:30", + "src": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,3:7:28-3:9:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,3:7:28-3:9:30", + "value": [ + { + "string": "b2", + "raw_string": "b2" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + }, + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "src": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "src": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + }, + { + "name": "b1", + "composite": { + "fields": null, + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "src": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "src": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + }, + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "src": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "src": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + }, + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:10:63", + "src": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,7:8:61-7:10:63", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,7:8:61-7:10:63", + "value": [ + { + "string": "c2", + "raw_string": "c2" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:10:63", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:10:63", + "src": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,7:8:61-7:10:63", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,7:8:61-7:10:63", + "value": [ + { + "string": "c2", + "raw_string": "c2" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + }, + { + "name": "b3", + "composite": { + "fields": null, + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "src": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "src": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + }, + { + "name": "c1", + "composite": { + "fields": [], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "src": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "src": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + }, + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-9:4:69", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-9:4:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-9:4:69", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-11:3:103", + "key": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-9:4:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-9:4:69", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,9:6:71-11:3:103", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,10:4:77-10:26:99", + "key": { + "range": "TestCompile/filters/primary-filter.d2,10:4:77-10:18:91", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,10:4:77-10:12:85", + "value": [ + { + "string": "c1-child", + "raw_string": "c1-child" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,10:13:86-10:18:91", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,10:20:93-10:26:99", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + } + } + } + } + ] + } + } + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + } + ], + "edges": [ + { + "edge_id": { + "src_path": [ + "a" + ], + "src_arrow": false, + "dst_path": [ + "b1" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "src": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "src": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "a" + ], + "src_arrow": false, + "dst_path": [ + "b3" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "src": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "src": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + }, + { + "edge_id": { + "src_path": [ + "b1" + ], + "src_arrow": false, + "dst_path": [ + "c1" + ], + "dst_arrow": true, + "index": 0, + "glob": false + }, + "references": [ + { + "context": { + "edge": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "src": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + }, + "key": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "src": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + } + ] + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,1:0:1-1:6:7", + "value": [ + { + "string": "parent", + "raw_string": "parent" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,1:0:1-1:6:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,1:0:1-1:6:7", + "value": [ + { + "string": "parent", + "raw_string": "parent" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/primary-filter.d2,1:0:1-18:1:183", + "key": { + "range": "TestCompile/filters/primary-filter.d2,1:0:1-1:6:7", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,1:0:1-1:6:7", + "value": [ + { + "string": "parent", + "raw_string": "parent" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,1:8:9-18:1:183", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:9:20", + "src": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:2:13-2:3:14", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,2:7:18-2:9:20", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:9:30", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:9:30", + "src": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,3:2:23-3:3:24", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,3:7:28-3:9:30", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,3:7:28-3:9:30", + "value": [ + { + "string": "b2", + "raw_string": "b2" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:9:40", + "src": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:2:33-4:3:34", + "value": [ + { + "string": "a", + "raw_string": "a" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,4:7:38-4:9:40", + "value": [ + { + "string": "b3", + "raw_string": "b3" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:10:52", + "src": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:2:44-6:4:46", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,6:8:50-6:10:52", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:10:63", + "edges": [ + { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:10:63", + "src": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,7:2:55-7:4:57", + "value": [ + { + "string": "b1", + "raw_string": "b1" + } + ] + } + } + ] + }, + "src_arrow": "", + "dst": { + "range": "TestCompile/filters/primary-filter.d2,7:8:61-7:10:63", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,7:8:61-7:10:63", + "value": [ + { + "string": "c2", + "raw_string": "c2" + } + ] + } + } + ] + }, + "dst_arrow": ">" + } + ], + "primary": {}, + "value": {} + } + }, + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-11:3:103", + "key": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-9:4:69", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,9:2:67-9:4:69", + "value": [ + { + "string": "c1", + "raw_string": "c1" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,9:6:71-11:3:103", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,10:4:77-10:26:99", + "key": { + "range": "TestCompile/filters/primary-filter.d2,10:4:77-10:18:91", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,10:4:77-10:12:85", + "value": [ + { + "string": "c1-child", + "raw_string": "c1-child" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,10:13:86-10:18:91", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,10:20:93-10:26:99", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + } + } + } + } + ] + } + } + } + }, + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,13:2:107-15:3:143", + "key": { + "range": "TestCompile/filters/primary-filter.d2,13:2:107-13:4:109", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,13:2:107-13:4:109", + "value": [ + { + "string": "c2", + "raw_string": "c2" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,13:6:111-15:3:143", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,14:4:117-14:26:139", + "key": { + "range": "TestCompile/filters/primary-filter.d2,14:4:117-14:18:131", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,14:4:117-14:12:125", + "value": [ + { + "string": "C2-child", + "raw_string": "C2-child" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,14:13:126-14:18:131", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,14:20:133-14:26:139", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + } + } + } + } + ] + } + } + } + }, + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,16:2:146-16:18:162", + "key": { + "range": "TestCompile/filters/primary-filter.d2,16:2:146-16:10:154", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,16:2:146-16:4:148", + "value": [ + { + "string": "c2", + "raw_string": "c2" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,16:5:149-16:10:154", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,16:12:156-16:18:162", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + } + } + } + }, + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,17:2:165-17:18:181", + "key": { + "range": "TestCompile/filters/primary-filter.d2,17:2:165-17:10:173", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,17:2:165-17:4:167", + "value": [ + { + "string": "b2", + "raw_string": "b2" + } + ] + } + }, + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,17:5:168-17:10:173", + "value": [ + { + "string": "class", + "raw_string": "class" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,17:12:175-17:18:181", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + } + } + } + } + ] + } + } + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + }, + { + "name": "classes", + "composite": { + "fields": [ + { + "name": "hidden", + "composite": { + "fields": [ + { + "name": "style", + "composite": { + "fields": [ + { + "name": "fill", + "primary": { + "value": { + "range": "TestCompile/filters/primary-filter.d2,23:12:233-23:15:236", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:15:236", + "key": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:12:233-23:15:236", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + } + ], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-24:5:242", + "key": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,22:11:219-24:5:242", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:15:236", + "key": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:12:233-23:15:236", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + ] + } + } + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + } + ], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-21:8:204", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-21:8:204", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-21:8:204", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-25:3:246", + "key": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-21:8:204", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-21:8:204", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,21:10:206-25:3:246", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-24:5:242", + "key": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,22:11:219-24:5:242", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:15:236", + "key": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:12:233-23:15:236", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + } + ], + "edges": null + }, + "references": [ + { + "string": { + "range": "TestCompile/filters/primary-filter.d2,20:0:185-20:7:192", + "value": [ + { + "string": "classes", + "raw_string": "classes" + } + ] + }, + "key_path": { + "range": "TestCompile/filters/primary-filter.d2,20:0:185-20:7:192", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,20:0:185-20:7:192", + "value": [ + { + "string": "classes", + "raw_string": "classes" + } + ] + } + } + ] + }, + "context": { + "edge": null, + "key": { + "range": "TestCompile/filters/primary-filter.d2,20:0:185-26:1:248", + "key": { + "range": "TestCompile/filters/primary-filter.d2,20:0:185-20:7:192", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,20:0:185-20:7:192", + "value": [ + { + "string": "classes", + "raw_string": "classes" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,20:9:194-26:1:248", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-25:3:246", + "key": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-21:8:204", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,21:2:198-21:8:204", + "value": [ + { + "string": "hidden", + "raw_string": "hidden" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,21:10:206-25:3:246", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-24:5:242", + "key": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,22:4:212-22:9:217", + "value": [ + { + "string": "style", + "raw_string": "style" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "map": { + "range": "TestCompile/filters/primary-filter.d2,22:11:219-24:5:242", + "nodes": [ + { + "map_key": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:15:236", + "key": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "path": [ + { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:6:227-23:10:231", + "value": [ + { + "string": "fill", + "raw_string": "fill" + } + ] + } + } + ] + }, + "primary": {}, + "value": { + "unquoted_string": { + "range": "TestCompile/filters/primary-filter.d2,23:12:233-23:15:236", + "value": [ + { + "string": "red", + "raw_string": "red" + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + } + ] + } + } + } + }, + "due_to_glob": false, + "due_to_lazy_glob": false + } + ] + } + ], + "edges": null +}