d2ir: wip
This commit is contained in:
parent
61aef74975
commit
91149543f5
30 changed files with 206 additions and 423 deletions
|
|
@ -167,5 +167,28 @@ func (c *compiler) compileEdges(dst *Map, k *d2ast.Key) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *compiler) compileArray(dst *Array, a *d2ast.Array) {
|
func (c *compiler) compileArray(dst *Array, a *d2ast.Array) {
|
||||||
panic(fmt.Sprintf("TODO"))
|
for _, an := range a.Nodes {
|
||||||
|
var irv Value
|
||||||
|
switch v := an.Unbox().(type) {
|
||||||
|
case *d2ast.Array:
|
||||||
|
ira := &Array{
|
||||||
|
parent: dst,
|
||||||
|
}
|
||||||
|
c.compileArray(ira, v)
|
||||||
|
irv = ira
|
||||||
|
case *d2ast.Map:
|
||||||
|
irm := &Map{
|
||||||
|
parent: dst,
|
||||||
|
}
|
||||||
|
c.compileMap(irm, v)
|
||||||
|
irv = irm
|
||||||
|
case d2ast.Scalar:
|
||||||
|
irv = &Scalar{
|
||||||
|
parent: dst,
|
||||||
|
Value: v,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dst.Values = append(dst.Values, irv)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,119 +15,16 @@ import (
|
||||||
"oss.terrastruct.com/d2/d2parser"
|
"oss.terrastruct.com/d2/d2parser"
|
||||||
)
|
)
|
||||||
|
|
||||||
type testCase struct {
|
|
||||||
name string
|
|
||||||
run func(testing.TB, *d2ir.Map)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestCompile(t *testing.T) {
|
func TestCompile(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
t.Run("roots", testCompileRoots)
|
t.Run("field", testCompileField)
|
||||||
|
t.Run("edge", testCompileEdge)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testCompileRoots(t *testing.T) {
|
type testCase struct {
|
||||||
t.Parallel()
|
name string
|
||||||
|
run func(testing.TB, *d2ir.Map)
|
||||||
tca := []testCase{
|
|
||||||
{
|
|
||||||
name: "field",
|
|
||||||
run: func(t testing.TB, m *d2ir.Map) {
|
|
||||||
err := parse(t, m, `x`)
|
|
||||||
assert.Success(t, err)
|
|
||||||
assertField(t, m, 1, 0, nil)
|
|
||||||
|
|
||||||
assertField(t, m, 0, 0, nil, "x")
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "field/label",
|
|
||||||
run: func(t testing.TB, m *d2ir.Map) {
|
|
||||||
err := parse(t, m, `x: yes`)
|
|
||||||
assert.Success(t, err)
|
|
||||||
assertField(t, m, 1, 0, nil)
|
|
||||||
|
|
||||||
assertField(t, m, 0, 0, "yes", "x")
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "field/label/nested",
|
|
||||||
run: func(t testing.TB, m *d2ir.Map) {
|
|
||||||
err := parse(t, m, `x.y: yes`)
|
|
||||||
assert.Success(t, err)
|
|
||||||
assertField(t, m, 2, 0, nil)
|
|
||||||
|
|
||||||
assertField(t, m, 1, 0, nil, "x")
|
|
||||||
assertField(t, m, 0, 0, "yes", "x", "y")
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "primary",
|
|
||||||
run: func(t testing.TB, m *d2ir.Map) {
|
|
||||||
err := parse(t, m, `x: yes { pqrs }`)
|
|
||||||
assert.Success(t, err)
|
|
||||||
assertField(t, m, 2, 0, nil)
|
|
||||||
|
|
||||||
assertField(t, m, 1, 0, "yes", "x")
|
|
||||||
assertField(t, m, 0, 0, nil, "x", "pqrs")
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "primary/nested",
|
|
||||||
run: func(t testing.TB, m *d2ir.Map) {
|
|
||||||
err := parse(t, m, `x.y: yes { pqrs }`)
|
|
||||||
assert.Success(t, err)
|
|
||||||
assertField(t, m, 3, 0, nil)
|
|
||||||
|
|
||||||
assertField(t, m, 2, 0, nil, "x")
|
|
||||||
assertField(t, m, 1, 0, "yes", "x", "y")
|
|
||||||
assertField(t, m, 0, 0, nil, "x", "y", "pqrs")
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "edge",
|
|
||||||
run: func(t testing.TB, m *d2ir.Map) {
|
|
||||||
err := parse(t, m, `x -> y`)
|
|
||||||
assert.Success(t, err)
|
|
||||||
assertField(t, m, 2, 1, nil)
|
|
||||||
assertEdge(t, m, 0, nil, `(x -> y)[0]`)
|
|
||||||
|
|
||||||
assertField(t, m, 0, 0, nil, "x")
|
|
||||||
assertField(t, m, 0, 0, nil, "y")
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "nested",
|
|
||||||
run: func(t testing.TB, m *d2ir.Map) {
|
|
||||||
err := parse(t, m, `x.y -> z.p`)
|
|
||||||
assert.Success(t, err)
|
|
||||||
assertField(t, m, 4, 1, nil)
|
|
||||||
|
|
||||||
assertField(t, m, 1, 0, nil, "x")
|
|
||||||
assertField(t, m, 0, 0, nil, "x", "y")
|
|
||||||
|
|
||||||
assertField(t, m, 1, 0, nil, "z")
|
|
||||||
assertField(t, m, 0, 0, nil, "z", "p")
|
|
||||||
|
|
||||||
assertEdge(t, m, 0, nil, "(x.y -> z.p)[0]")
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "underscore_parent",
|
|
||||||
run: func(t testing.TB, m *d2ir.Map) {
|
|
||||||
err := parse(t, m, `x._ -> z`)
|
|
||||||
assert.Success(t, err)
|
|
||||||
assertField(t, m, 3, 1, nil)
|
|
||||||
|
|
||||||
assertField(t, m, 0, 0, nil, "x")
|
|
||||||
assertField(t, m, 0, 0, nil, "z")
|
|
||||||
|
|
||||||
assertEdge(t, m, 0, nil, "(x -> z)[0]")
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
runa(t, tca)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func runa(t *testing.T, tca []testCase) {
|
func runa(t *testing.T, tca []testCase) {
|
||||||
|
|
@ -273,3 +170,136 @@ func makeScalar(v interface{}) *d2ir.Scalar {
|
||||||
}
|
}
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testCompileField(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
t.Run("primary", testCompileFieldPrimary)
|
||||||
|
tca := []testCase{
|
||||||
|
{
|
||||||
|
name: "root",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 1, 0, nil)
|
||||||
|
|
||||||
|
assertField(t, m, 0, 0, nil, "x")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "label",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x: yes`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 1, 0, nil)
|
||||||
|
|
||||||
|
assertField(t, m, 0, 0, "yes", "x")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "nested",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x.y: yes`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 2, 0, nil)
|
||||||
|
|
||||||
|
assertField(t, m, 1, 0, nil, "x")
|
||||||
|
assertField(t, m, 0, 0, "yes", "x", "y")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "array",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x: [1;2;3;4]`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 1, 0, nil)
|
||||||
|
|
||||||
|
f := assertField(t, m, 0, 0, nil, "x")
|
||||||
|
f_a, ok := f.Composite.(*d2ir.Array)
|
||||||
|
if !ok {
|
||||||
|
t.Fatalf("unexpected type: %T", f.Composite)
|
||||||
|
} else {
|
||||||
|
assert.Equal(t, 4, len(f_a.Values))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
runa(t, tca)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testCompileFieldPrimary(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
tca := []testCase{
|
||||||
|
{
|
||||||
|
name: "root",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x: yes { pqrs }`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 2, 0, nil)
|
||||||
|
|
||||||
|
assertField(t, m, 1, 0, "yes", "x")
|
||||||
|
assertField(t, m, 0, 0, nil, "x", "pqrs")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "nested",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x.y: yes { pqrs }`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 3, 0, nil)
|
||||||
|
|
||||||
|
assertField(t, m, 2, 0, nil, "x")
|
||||||
|
assertField(t, m, 1, 0, "yes", "x", "y")
|
||||||
|
assertField(t, m, 0, 0, nil, "x", "y", "pqrs")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
runa(t, tca)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testCompileEdge(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
tca := []testCase{
|
||||||
|
{
|
||||||
|
name: "edge",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x -> y`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 2, 1, nil)
|
||||||
|
assertEdge(t, m, 0, nil, `(x -> y)[0]`)
|
||||||
|
|
||||||
|
assertField(t, m, 0, 0, nil, "x")
|
||||||
|
assertField(t, m, 0, 0, nil, "y")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "nested",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x.y -> z.p`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 4, 1, nil)
|
||||||
|
|
||||||
|
assertField(t, m, 1, 0, nil, "x")
|
||||||
|
assertField(t, m, 0, 0, nil, "x", "y")
|
||||||
|
|
||||||
|
assertField(t, m, 1, 0, nil, "z")
|
||||||
|
assertField(t, m, 0, 0, nil, "z", "p")
|
||||||
|
|
||||||
|
assertEdge(t, m, 0, nil, "(x.y -> z.p)[0]")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "underscore",
|
||||||
|
run: func(t testing.TB, m *d2ir.Map) {
|
||||||
|
err := parse(t, m, `x._ -> z`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertField(t, m, 3, 1, nil)
|
||||||
|
|
||||||
|
assertField(t, m, 0, 0, nil, "x")
|
||||||
|
assertField(t, m, 0, 0, nil, "z")
|
||||||
|
|
||||||
|
assertEdge(t, m, 0, nil, "(x -> z)[0]")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
runa(t, tca)
|
||||||
|
}
|
||||||
|
|
|
||||||
4
testdata/d2ir/TestApply/simple/edge.exp.json
generated
vendored
4
testdata/d2ir/TestApply/simple/edge.exp.json
generated
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"fields": null,
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
19
testdata/d2ir/TestApply/simple/field/label.exp.json
generated
vendored
19
testdata/d2ir/TestApply/simple/field/label.exp.json
generated
vendored
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestApply/simple/field/label.d2,0:3:3-0:6:6",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
4
testdata/d2ir/TestApply/simple/nested.exp.json
generated
vendored
4
testdata/d2ir/TestApply/simple/nested.exp.json
generated
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"fields": null,
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
8
testdata/d2ir/TestApply/simple/one.exp.json
generated
vendored
8
testdata/d2ir/TestApply/simple/one.exp.json
generated
vendored
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
27
testdata/d2ir/TestApply/simple/primary.exp.json
generated
vendored
27
testdata/d2ir/TestApply/simple/primary.exp.json
generated
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestApply/simple/primary.d2,0:3:3-0:6:6",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "pqrs"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
35
testdata/d2ir/TestApply/simple/primary/nested.exp.json
generated
vendored
35
testdata/d2ir/TestApply/simple/primary/nested.exp.json
generated
vendored
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "y",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestApply/simple/primary/nested.d2,0:5:5-0:8:8",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "pqrs"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
4
testdata/d2ir/TestApply/simple/underscore_parent.exp.json
generated
vendored
4
testdata/d2ir/TestApply/simple/underscore_parent.exp.json
generated
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"fields": null,
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
40
testdata/d2ir/TestCompile/field/array.exp.json
generated
vendored
Normal file
40
testdata/d2ir/TestCompile/field/array.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "x",
|
||||||
|
"composite": {
|
||||||
|
"values": [
|
||||||
|
{
|
||||||
|
"value": {
|
||||||
|
"range": "d2/testdata/d2ir/TestCompile/field/array.d2,0:4:4-0:5:5",
|
||||||
|
"raw": "1",
|
||||||
|
"value": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": {
|
||||||
|
"range": "d2/testdata/d2ir/TestCompile/field/array.d2,0:6:6-0:7:7",
|
||||||
|
"raw": "2",
|
||||||
|
"value": "2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": {
|
||||||
|
"range": "d2/testdata/d2ir/TestCompile/field/array.d2,0:8:8-0:9:9",
|
||||||
|
"raw": "3",
|
||||||
|
"value": "3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": {
|
||||||
|
"range": "d2/testdata/d2ir/TestCompile/field/array.d2,0:10:10-0:11:11",
|
||||||
|
"raw": "4",
|
||||||
|
"value": "4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
}
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
"name": "x",
|
"name": "x",
|
||||||
"primary": {
|
"primary": {
|
||||||
"value": {
|
"value": {
|
||||||
"range": "d2/testdata/d2ir/TestApply/simple/label.d2,0:3:3-0:6:6",
|
"range": "d2/testdata/d2ir/TestCompile/field/label.d2,0:3:3-0:6:6",
|
||||||
"value": [
|
"value": [
|
||||||
{
|
{
|
||||||
"string": "yes",
|
"string": "yes",
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
"name": "y",
|
"name": "y",
|
||||||
"primary": {
|
"primary": {
|
||||||
"value": {
|
"value": {
|
||||||
"range": "d2/testdata/d2ir/TestApply/simple/field/label/nested.d2,0:5:5-0:8:8",
|
"range": "d2/testdata/d2ir/TestCompile/field/nested.d2,0:5:5-0:8:8",
|
||||||
"value": [
|
"value": [
|
||||||
{
|
{
|
||||||
"string": "yes",
|
"string": "yes",
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
"name": "y",
|
"name": "y",
|
||||||
"primary": {
|
"primary": {
|
||||||
"value": {
|
"value": {
|
||||||
"range": "d2/testdata/d2ir/TestCompile/roots/primary/nested.d2,0:5:5-0:8:8",
|
"range": "d2/testdata/d2ir/TestCompile/field/primary/nested.d2,0:5:5-0:8:8",
|
||||||
"value": [
|
"value": [
|
||||||
{
|
{
|
||||||
"string": "yes",
|
"string": "yes",
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
"name": "x",
|
"name": "x",
|
||||||
"primary": {
|
"primary": {
|
||||||
"value": {
|
"value": {
|
||||||
"range": "d2/testdata/d2ir/TestApply/simple/primary#01.d2,0:3:3-0:6:6",
|
"range": "d2/testdata/d2ir/TestCompile/field/primary/root.d2,0:3:3-0:6:6",
|
||||||
"value": [
|
"value": [
|
||||||
{
|
{
|
||||||
"string": "yes",
|
"string": "yes",
|
||||||
8
testdata/d2ir/TestCompile/roots/field.exp.json
generated
vendored
8
testdata/d2ir/TestCompile/roots/field.exp.json
generated
vendored
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
19
testdata/d2ir/TestCompile/roots/field/label.exp.json
generated
vendored
19
testdata/d2ir/TestCompile/roots/field/label.exp.json
generated
vendored
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestCompile/roots/field/label.d2,0:3:3-0:6:6",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
27
testdata/d2ir/TestCompile/roots/field/label/nested.exp.json
generated
vendored
27
testdata/d2ir/TestCompile/roots/field/label/nested.exp.json
generated
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "y",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestCompile/roots/field/label/nested.d2,0:5:5-0:8:8",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
27
testdata/d2ir/TestCompile/roots/primary.exp.json
generated
vendored
27
testdata/d2ir/TestCompile/roots/primary.exp.json
generated
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestCompile/roots/primary.d2,0:3:3-0:6:6",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "pqrs"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
4
testdata/d2ir/TestCompile/simple/edge.exp.json
generated
vendored
4
testdata/d2ir/TestCompile/simple/edge.exp.json
generated
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"fields": null,
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
8
testdata/d2ir/TestCompile/simple/field.exp.json
generated
vendored
8
testdata/d2ir/TestCompile/simple/field.exp.json
generated
vendored
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
19
testdata/d2ir/TestCompile/simple/field/label.exp.json
generated
vendored
19
testdata/d2ir/TestCompile/simple/field/label.exp.json
generated
vendored
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestCompile/simple/field/label.d2,0:3:3-0:6:6",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
27
testdata/d2ir/TestCompile/simple/field/label/nested.exp.json
generated
vendored
27
testdata/d2ir/TestCompile/simple/field/label/nested.exp.json
generated
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "y",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestCompile/simple/field/label/nested.d2,0:5:5-0:8:8",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
4
testdata/d2ir/TestCompile/simple/nested.exp.json
generated
vendored
4
testdata/d2ir/TestCompile/simple/nested.exp.json
generated
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"fields": null,
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
27
testdata/d2ir/TestCompile/simple/primary.exp.json
generated
vendored
27
testdata/d2ir/TestCompile/simple/primary.exp.json
generated
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestCompile/simple/primary.d2,0:3:3-0:6:6",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "pqrs"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
35
testdata/d2ir/TestCompile/simple/primary/nested.exp.json
generated
vendored
35
testdata/d2ir/TestCompile/simple/primary/nested.exp.json
generated
vendored
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "x",
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "y",
|
|
||||||
"primary": {
|
|
||||||
"value": {
|
|
||||||
"range": "d2/testdata/d2ir/TestCompile/simple/primary/nested.d2,0:5:5-0:8:8",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"string": "yes",
|
|
||||||
"raw_string": "yes"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"composite": {
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "pqrs"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
4
testdata/d2ir/TestCompile/simple/underscore_parent.exp.json
generated
vendored
4
testdata/d2ir/TestCompile/simple/underscore_parent.exp.json
generated
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"fields": null,
|
|
||||||
"edges": null
|
|
||||||
}
|
|
||||||
Loading…
Reference in a new issue