d2ir: Add single glob matching to edges and make it work fully recursively
This commit is contained in:
parent
210816a42b
commit
1217ff35a7
20 changed files with 9975 additions and 106 deletions
|
|
@ -740,6 +740,13 @@ func (kp *KeyPath) IDA() (ida []string) {
|
||||||
return ida
|
return ida
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (kp *KeyPath) Copy() *KeyPath {
|
||||||
|
kp2 := *kp
|
||||||
|
kp2.Path = nil
|
||||||
|
kp2.Path = append(kp2.Path, kp.Path...)
|
||||||
|
return &kp2
|
||||||
|
}
|
||||||
|
|
||||||
type Edge struct {
|
type Edge struct {
|
||||||
Range Range `json:"range"`
|
Range Range `json:"range"`
|
||||||
|
|
||||||
|
|
|
||||||
112
d2ir/compile.go
112
d2ir/compile.go
|
|
@ -396,27 +396,15 @@ func (c *compiler) compileKey(refctx *RefContext) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *compiler) compileField(dst *Map, kp *d2ast.KeyPath, refctx *RefContext) {
|
func (c *compiler) compileField(dst *Map, kp *d2ast.KeyPath, refctx *RefContext) {
|
||||||
us, ok := kp.Path[0].Unbox().(*d2ast.UnquotedString)
|
fa, err := dst.EnsureField(kp, refctx)
|
||||||
if ok && us.Pattern != nil {
|
|
||||||
for _, f := range dst.Fields {
|
|
||||||
if matchPattern(f.Name, us.Pattern) {
|
|
||||||
if len(kp.Path) == 1 {
|
|
||||||
c._compileField(f, refctx)
|
|
||||||
} else {
|
|
||||||
// TODO: recurse
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
f, err := dst.EnsureField(kp, refctx)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.err.Errors = append(c.err.Errors, err.(d2ast.Error))
|
c.err.Errors = append(c.err.Errors, err.(d2ast.Error))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
c._compileField(f, refctx)
|
for _, f := range fa {
|
||||||
|
c._compileField(f, refctx)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *compiler) _compileField(f *Field, refctx *RefContext) {
|
func (c *compiler) _compileField(f *Field, refctx *RefContext) {
|
||||||
|
|
@ -424,7 +412,7 @@ func (c *compiler) _compileField(f *Field, refctx *RefContext) {
|
||||||
// For vars, if we delete the field, it may just resolve to an outer scope var of the same name
|
// 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
|
// Instead we keep it around, so that resolveSubstitutions can find it
|
||||||
if !IsVar(ParentMap(f)) {
|
if !IsVar(ParentMap(f)) {
|
||||||
dst.DeleteField(f.Name)
|
ParentMap(f).DeleteField(f.Name)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -621,12 +609,17 @@ func (c *compiler) compileLink(refctx *RefContext) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *compiler) compileEdges(refctx *RefContext) {
|
func (c *compiler) compileEdges(refctx *RefContext) {
|
||||||
if refctx.Key.Key != nil {
|
if refctx.Key.Key == nil {
|
||||||
f, err := refctx.ScopeMap.EnsureField(refctx.Key.Key, refctx)
|
c._compileEdges(refctx)
|
||||||
if err != nil {
|
return
|
||||||
c.err.Errors = append(c.err.Errors, err.(d2ast.Error))
|
}
|
||||||
return
|
|
||||||
}
|
fa, err := refctx.ScopeMap.EnsureField(refctx.Key.Key, refctx)
|
||||||
|
if err != nil {
|
||||||
|
c.err.Errors = append(c.err.Errors, err.(d2ast.Error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
for _, f := range fa {
|
||||||
if _, ok := f.Composite.(*Array); ok {
|
if _, ok := f.Composite.(*Array); ok {
|
||||||
c.errorf(refctx.Key.Key, "cannot index into array")
|
c.errorf(refctx.Key.Key, "cannot index into array")
|
||||||
return
|
return
|
||||||
|
|
@ -636,9 +629,13 @@ func (c *compiler) compileEdges(refctx *RefContext) {
|
||||||
parent: f,
|
parent: f,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
refctx.ScopeMap = f.Map()
|
refctx2 := *refctx
|
||||||
|
refctx2.ScopeMap = f.Map()
|
||||||
|
c._compileEdges(&refctx2)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *compiler) _compileEdges(refctx *RefContext) {
|
||||||
eida := NewEdgeIDs(refctx.Key)
|
eida := NewEdgeIDs(refctx.Key)
|
||||||
for i, eid := range eida {
|
for i, eid := range eida {
|
||||||
if refctx.Key != nil && refctx.Key.Value.Null != nil {
|
if refctx.Key != nil && refctx.Key.Value.Null != nil {
|
||||||
|
|
@ -649,19 +646,20 @@ func (c *compiler) compileEdges(refctx *RefContext) {
|
||||||
refctx = refctx.Copy()
|
refctx = refctx.Copy()
|
||||||
refctx.Edge = refctx.Key.Edges[i]
|
refctx.Edge = refctx.Key.Edges[i]
|
||||||
|
|
||||||
var e *Edge
|
var ea []*Edge
|
||||||
if eid.Index != nil {
|
if eid.Index != nil {
|
||||||
ea := refctx.ScopeMap.GetEdges(eid)
|
ea = refctx.ScopeMap.GetEdges(eid)
|
||||||
if len(ea) == 0 {
|
if len(ea) == 0 {
|
||||||
c.errorf(refctx.Edge, "indexed edge does not exist")
|
c.errorf(refctx.Edge, "indexed edge does not exist")
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
e = ea[0]
|
for _, e := range ea {
|
||||||
e.References = append(e.References, &EdgeReference{
|
e.References = append(e.References, &EdgeReference{
|
||||||
Context: refctx,
|
Context: refctx,
|
||||||
})
|
})
|
||||||
refctx.ScopeMap.appendFieldReferences(0, refctx.Edge.Src, refctx)
|
refctx.ScopeMap.appendFieldReferences(0, refctx.Edge.Src, refctx)
|
||||||
refctx.ScopeMap.appendFieldReferences(0, refctx.Edge.Dst, refctx)
|
refctx.ScopeMap.appendFieldReferences(0, refctx.Edge.Dst, refctx)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
_, err := refctx.ScopeMap.EnsureField(refctx.Edge.Src, refctx)
|
_, err := refctx.ScopeMap.EnsureField(refctx.Edge.Src, refctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -674,41 +672,43 @@ func (c *compiler) compileEdges(refctx *RefContext) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
e, err = refctx.ScopeMap.CreateEdge(eid, refctx)
|
ea, err = refctx.ScopeMap.CreateEdge(eid, refctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.err.Errors = append(c.err.Errors, err.(d2ast.Error))
|
c.err.Errors = append(c.err.Errors, err.(d2ast.Error))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if refctx.Key.EdgeKey != nil {
|
for _, e := range ea {
|
||||||
if e.Map_ == nil {
|
if refctx.Key.EdgeKey != nil {
|
||||||
e.Map_ = &Map{
|
|
||||||
parent: e,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
c.compileField(e.Map_, refctx.Key.EdgeKey, refctx)
|
|
||||||
} else {
|
|
||||||
if refctx.Key.Primary.Unbox() != nil {
|
|
||||||
e.Primary_ = &Scalar{
|
|
||||||
parent: e,
|
|
||||||
Value: refctx.Key.Primary.Unbox(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if refctx.Key.Value.Array != nil {
|
|
||||||
c.errorf(refctx.Key.Value.Unbox(), "edges cannot be assigned arrays")
|
|
||||||
continue
|
|
||||||
} else if refctx.Key.Value.Map != nil {
|
|
||||||
if e.Map_ == nil {
|
if e.Map_ == nil {
|
||||||
e.Map_ = &Map{
|
e.Map_ = &Map{
|
||||||
parent: e,
|
parent: e,
|
||||||
}
|
}
|
||||||
|
c.compileField(e.Map_, refctx.Key.EdgeKey, refctx)
|
||||||
}
|
}
|
||||||
c.compileMap(e.Map_, refctx.Key.Value.Map, refctx.ScopeAST)
|
} else {
|
||||||
} else if refctx.Key.Value.ScalarBox().Unbox() != nil {
|
if refctx.Key.Primary.Unbox() != nil {
|
||||||
e.Primary_ = &Scalar{
|
e.Primary_ = &Scalar{
|
||||||
parent: e,
|
parent: e,
|
||||||
Value: refctx.Key.Value.ScalarBox().Unbox(),
|
Value: refctx.Key.Primary.Unbox(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if refctx.Key.Value.Array != nil {
|
||||||
|
c.errorf(refctx.Key.Value.Unbox(), "edges cannot be assigned arrays")
|
||||||
|
continue
|
||||||
|
} else if refctx.Key.Value.Map != nil {
|
||||||
|
if e.Map_ == nil {
|
||||||
|
e.Map_ = &Map{
|
||||||
|
parent: e,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
c.compileMap(e.Map_, refctx.Key.Value.Map, refctx.ScopeAST)
|
||||||
|
} else if refctx.Key.Value.ScalarBox().Unbox() != nil {
|
||||||
|
e.Primary_ = &Scalar{
|
||||||
|
parent: e,
|
||||||
|
Value: refctx.Key.Value.ScalarBox().Unbox(),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
176
d2ir/d2ir.go
176
d2ir/d2ir.go
|
|
@ -651,7 +651,7 @@ func (m *Map) getField(ida []string) *Field {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Map) EnsureField(kp *d2ast.KeyPath, refctx *RefContext) (*Field, error) {
|
func (m *Map) EnsureField(kp *d2ast.KeyPath, refctx *RefContext) ([]*Field, error) {
|
||||||
i := 0
|
i := 0
|
||||||
for kp.Path[i].Unbox().ScalarString() == "_" {
|
for kp.Path[i].Unbox().ScalarString() == "_" {
|
||||||
m = ParentMap(m)
|
m = ParentMap(m)
|
||||||
|
|
@ -663,29 +663,46 @@ func (m *Map) EnsureField(kp *d2ast.KeyPath, refctx *RefContext) (*Field, error)
|
||||||
}
|
}
|
||||||
i++
|
i++
|
||||||
}
|
}
|
||||||
return m.ensureField(i, kp, refctx)
|
|
||||||
|
var fa []*Field
|
||||||
|
err := m.ensureField(i, kp, refctx, &fa)
|
||||||
|
return fa, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext) (*Field, error) {
|
func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext, fa *[]*Field) error {
|
||||||
|
us, ok := kp.Path[i].Unbox().(*d2ast.UnquotedString)
|
||||||
|
if ok && us.Pattern != nil {
|
||||||
|
for _, f := range m.Fields {
|
||||||
|
if matchPattern(f.Name, us.Pattern) {
|
||||||
|
if i == len(kp.Path)-1 {
|
||||||
|
*fa = append(*fa, f)
|
||||||
|
} else if f.Map() != nil {
|
||||||
|
f.Map().ensureField(i+1, kp, refctx, fa)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
head := kp.Path[i].Unbox().ScalarString()
|
head := kp.Path[i].Unbox().ScalarString()
|
||||||
|
|
||||||
if _, ok := d2graph.ReservedKeywords[strings.ToLower(head)]; ok {
|
if _, ok := d2graph.ReservedKeywords[strings.ToLower(head)]; ok {
|
||||||
head = strings.ToLower(head)
|
head = strings.ToLower(head)
|
||||||
if _, ok := d2graph.CompositeReservedKeywords[head]; !ok && i < len(kp.Path)-1 {
|
if _, ok := d2graph.CompositeReservedKeywords[head]; !ok && i < len(kp.Path)-1 {
|
||||||
return nil, d2parser.Errorf(kp.Path[i].Unbox(), fmt.Sprintf(`"%s" must be the last part of the key`, head))
|
return d2parser.Errorf(kp.Path[i].Unbox(), fmt.Sprintf(`"%s" must be the last part of the key`, head))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if head == "_" {
|
if head == "_" {
|
||||||
return nil, d2parser.Errorf(kp.Path[i].Unbox(), `parent "_" can only be used in the beginning of paths, e.g. "_.x"`)
|
return d2parser.Errorf(kp.Path[i].Unbox(), `parent "_" can only be used in the beginning of paths, e.g. "_.x"`)
|
||||||
}
|
}
|
||||||
|
|
||||||
if head == "classes" && NodeBoardKind(m) == "" {
|
if head == "classes" && NodeBoardKind(m) == "" {
|
||||||
return nil, d2parser.Errorf(kp.Path[i].Unbox(), "%s is only allowed at a board root", head)
|
return d2parser.Errorf(kp.Path[i].Unbox(), "%s is only allowed at a board root", head)
|
||||||
}
|
}
|
||||||
|
|
||||||
if findBoardKeyword(head) != -1 && NodeBoardKind(m) == "" {
|
if findBoardKeyword(head) != -1 && NodeBoardKind(m) == "" {
|
||||||
return nil, d2parser.Errorf(kp.Path[i].Unbox(), "%s is only allowed at a board root", head)
|
return d2parser.Errorf(kp.Path[i].Unbox(), "%s is only allowed at a board root", head)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, f := range m.Fields {
|
for _, f := range m.Fields {
|
||||||
|
|
@ -703,17 +720,18 @@ func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext) (*Field,
|
||||||
}
|
}
|
||||||
|
|
||||||
if i+1 == len(kp.Path) {
|
if i+1 == len(kp.Path) {
|
||||||
return f, nil
|
*fa = append(*fa, f)
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
if _, ok := f.Composite.(*Array); ok {
|
if _, ok := f.Composite.(*Array); ok {
|
||||||
return nil, d2parser.Errorf(kp.Path[i].Unbox(), "cannot index into array")
|
return d2parser.Errorf(kp.Path[i].Unbox(), "cannot index into array")
|
||||||
}
|
}
|
||||||
if f.Map() == nil {
|
if f.Map() == nil {
|
||||||
f.Composite = &Map{
|
f.Composite = &Map{
|
||||||
parent: f,
|
parent: f,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return f.Map().ensureField(i+1, kp, refctx)
|
return f.Map().ensureField(i+1, kp, refctx, fa)
|
||||||
}
|
}
|
||||||
|
|
||||||
f := &Field{
|
f := &Field{
|
||||||
|
|
@ -730,12 +748,13 @@ func (m *Map) ensureField(i int, kp *d2ast.KeyPath, refctx *RefContext) (*Field,
|
||||||
}
|
}
|
||||||
m.Fields = append(m.Fields, f)
|
m.Fields = append(m.Fields, f)
|
||||||
if i+1 == len(kp.Path) {
|
if i+1 == len(kp.Path) {
|
||||||
return f, nil
|
*fa = append(*fa, f)
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
f.Composite = &Map{
|
f.Composite = &Map{
|
||||||
parent: f,
|
parent: f,
|
||||||
}
|
}
|
||||||
return f.Map().ensureField(i+1, kp, refctx)
|
return f.Map().ensureField(i+1, kp, refctx, fa)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Map) DeleteEdge(eid *EdgeID) *Edge {
|
func (m *Map) DeleteEdge(eid *EdgeID) *Edge {
|
||||||
|
|
@ -825,57 +844,128 @@ func (m *Map) GetEdges(eid *EdgeID) []*Edge {
|
||||||
return ea
|
return ea
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Map) CreateEdge(eid *EdgeID, refctx *RefContext) (*Edge, error) {
|
func (m *Map) CreateEdge(eid *EdgeID, refctx *RefContext) ([]*Edge, error) {
|
||||||
|
var ea []*Edge
|
||||||
|
return ea, m.createEdge(eid, refctx, &ea)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Map) createEdge(eid *EdgeID, refctx *RefContext, ea *[]*Edge) error {
|
||||||
if ParentEdge(m) != nil {
|
if ParentEdge(m) != nil {
|
||||||
return nil, d2parser.Errorf(refctx.Edge, "cannot create edge inside edge")
|
return d2parser.Errorf(refctx.Edge, "cannot create edge inside edge")
|
||||||
}
|
}
|
||||||
|
|
||||||
eid, m, common, err := eid.resolve(m)
|
eid, m, common, err := eid.resolve(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, d2parser.Errorf(refctx.Edge, err.Error())
|
return d2parser.Errorf(refctx.Edge, err.Error())
|
||||||
}
|
}
|
||||||
if len(common) > 0 {
|
if len(common) > 0 {
|
||||||
f, err := m.EnsureField(d2ast.MakeKeyPath(common), nil)
|
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)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return err
|
||||||
}
|
}
|
||||||
if _, ok := f.Composite.(*Array); ok {
|
for _, f := range fa {
|
||||||
return nil, d2parser.Errorf(refctx.Edge.Src, "cannot index into array")
|
if _, ok := f.Composite.(*Array); ok {
|
||||||
}
|
return d2parser.Errorf(refctx.Edge.Src, "cannot index into array")
|
||||||
if f.Map() == nil {
|
}
|
||||||
f.Composite = &Map{
|
if f.Map() == nil {
|
||||||
parent: f,
|
f.Composite = &Map{
|
||||||
|
parent: f,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
err = f.Map().createEdge(eid, refctx, ea)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return f.Map().CreateEdge(eid, refctx)
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
ij := findProhibitedEdgeKeyword(eid.SrcPath...)
|
ij := findProhibitedEdgeKeyword(eid.SrcPath...)
|
||||||
if ij != -1 {
|
if ij != -1 {
|
||||||
return nil, d2parser.Errorf(refctx.Edge.Src.Path[ij].Unbox(), "reserved keywords are prohibited in edges")
|
return d2parser.Errorf(refctx.Edge.Src.Path[ij].Unbox(), "reserved keywords are prohibited in edges")
|
||||||
}
|
}
|
||||||
ij = findBoardKeyword(eid.SrcPath...)
|
ij = findBoardKeyword(eid.SrcPath...)
|
||||||
if ij == len(eid.SrcPath)-1 {
|
if ij == len(eid.SrcPath)-1 {
|
||||||
return nil, d2parser.Errorf(refctx.Edge.Src.Path[ij].Unbox(), "edge with board keyword alone doesn't make sense")
|
return d2parser.Errorf(refctx.Edge.Src.Path[ij].Unbox(), "edge with board keyword alone doesn't make sense")
|
||||||
}
|
}
|
||||||
src := m.GetField(eid.SrcPath...)
|
|
||||||
if NodeBoardKind(src) != "" {
|
srcStart := len(refctx.Edge.Src.Path) - len(eid.SrcPath)
|
||||||
return nil, d2parser.Errorf(refctx.Edge.Src, "cannot create edges between boards")
|
if srcStart < 0 {
|
||||||
|
srcStart = 0
|
||||||
}
|
}
|
||||||
|
srcKP := refctx.Edge.Src.Copy()
|
||||||
|
srcKP.Path = srcKP.Path[srcStart:]
|
||||||
|
|
||||||
ij = findProhibitedEdgeKeyword(eid.DstPath...)
|
ij = findProhibitedEdgeKeyword(eid.DstPath...)
|
||||||
if ij != -1 {
|
if ij != -1 {
|
||||||
return nil, d2parser.Errorf(refctx.Edge.Dst.Path[ij].Unbox(), "reserved keywords are prohibited in edges")
|
return d2parser.Errorf(refctx.Edge.Dst.Path[ij].Unbox(), "reserved keywords are prohibited in edges")
|
||||||
}
|
}
|
||||||
ij = findBoardKeyword(eid.DstPath...)
|
ij = findBoardKeyword(eid.DstPath...)
|
||||||
if ij == len(eid.DstPath)-1 {
|
if ij == len(eid.DstPath)-1 {
|
||||||
return nil, d2parser.Errorf(refctx.Edge.Dst.Path[ij].Unbox(), "edge with board keyword alone doesn't make sense")
|
return d2parser.Errorf(refctx.Edge.Dst.Path[ij].Unbox(), "edge with board keyword alone doesn't make sense")
|
||||||
|
}
|
||||||
|
|
||||||
|
dstStart := len(refctx.Edge.Dst.Path) - len(eid.DstPath)
|
||||||
|
if dstStart < 0 {
|
||||||
|
dstStart = 0
|
||||||
|
}
|
||||||
|
dstKP := refctx.Edge.Dst.Copy()
|
||||||
|
dstKP.Path = dstKP.Path[dstStart:]
|
||||||
|
|
||||||
|
underscoresCountSrc := 0
|
||||||
|
underscoresCountDst := 0
|
||||||
|
for _, el := range refctx.Edge.Src.Path {
|
||||||
|
if el.ScalarString() == "_" {
|
||||||
|
underscoresCountSrc++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, el := range refctx.Edge.Dst.Path {
|
||||||
|
if el.ScalarString() == "_" {
|
||||||
|
underscoresCountDst++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for i := 0; i < underscoresCountDst; i++ {
|
||||||
|
srcKP.Path = append([]*d2ast.StringBox{d2ast.RawStringBox(eid.SrcPath[i], true)}, srcKP.Path...)
|
||||||
|
}
|
||||||
|
for i := 0; i < underscoresCountSrc; i++ {
|
||||||
|
dstKP.Path = append([]*d2ast.StringBox{d2ast.RawStringBox(eid.DstPath[i], true)}, dstKP.Path...)
|
||||||
|
}
|
||||||
|
|
||||||
|
srcFA, err := m.EnsureField(srcKP, refctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
dstFA, err := m.EnsureField(dstKP, refctx)
|
||||||
|
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)
|
||||||
|
e, err := m.createEdge2(eid2, refctx, src, dst)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*ea = append(*ea, e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Map) createEdge2(eid *EdgeID, refctx *RefContext, src, dst *Field) (*Edge, error) {
|
||||||
|
if NodeBoardKind(src) != "" {
|
||||||
|
return nil, d2parser.Errorf(refctx.Edge.Src, "cannot create edges between boards")
|
||||||
}
|
}
|
||||||
dst := m.GetField(eid.DstPath...)
|
|
||||||
if NodeBoardKind(dst) != "" {
|
if NodeBoardKind(dst) != "" {
|
||||||
return nil, d2parser.Errorf(refctx.Edge.Dst, "cannot create edges between boards")
|
return nil, d2parser.Errorf(refctx.Edge.Dst, "cannot create edges between boards")
|
||||||
}
|
}
|
||||||
|
|
||||||
if ParentBoard(src) != ParentBoard(dst) {
|
if ParentBoard(src) != ParentBoard(dst) {
|
||||||
return nil, d2parser.Errorf(refctx.Edge, "cannot create edges between boards")
|
return nil, d2parser.Errorf(refctx.Edge, "cannot create edges between boards")
|
||||||
}
|
}
|
||||||
|
|
@ -1159,6 +1249,26 @@ func IDA(n Node) (ida []string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RelIDA returns the absolute path to n relative to p.
|
||||||
|
func RelIDA(p, n Node) (ida []string) {
|
||||||
|
for {
|
||||||
|
f, ok := n.(*Field)
|
||||||
|
if ok {
|
||||||
|
ida = append(ida, f.Name)
|
||||||
|
if f.Root() {
|
||||||
|
reverseIDA(ida)
|
||||||
|
return ida
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f = ParentField(n)
|
||||||
|
if f == nil || f.Root() || f == p || f.Composite == p {
|
||||||
|
reverseIDA(ida)
|
||||||
|
return ida
|
||||||
|
}
|
||||||
|
n = f
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func reverseIDA(ida []string) {
|
func reverseIDA(ida []string) {
|
||||||
for i := 0; i < len(ida)/2; i++ {
|
for i := 0; i < len(ida)/2; i++ {
|
||||||
tmp := ida[i]
|
tmp := ida[i]
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,19 @@ func testCompilePatterns(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
tca := []testCase{
|
tca := []testCase{
|
||||||
|
{
|
||||||
|
name: "escaped",
|
||||||
|
run: func(t testing.TB) {
|
||||||
|
m, err := compile(t, `animal: meow
|
||||||
|
action: yes
|
||||||
|
a\*: globbed`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertQuery(t, m, 3, 0, nil, "")
|
||||||
|
assertQuery(t, m, 0, 0, "meow", "animal")
|
||||||
|
assertQuery(t, m, 0, 0, "yes", "action")
|
||||||
|
assertQuery(t, m, 0, 0, "globbed", `a\*`)
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "prefix",
|
name: "prefix",
|
||||||
run: func(t testing.TB) {
|
run: func(t testing.TB) {
|
||||||
|
|
@ -71,16 +84,67 @@ t*ink*r*t*inke*: globbed`)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "escaped",
|
name: "nested/prefix-suffix/3",
|
||||||
run: func(t testing.TB) {
|
run: func(t testing.TB) {
|
||||||
m, err := compile(t, `animal: meow
|
m, err := compile(t, `animate.constant.tinkertinker: meow
|
||||||
action: yes
|
astronaut.constant.thinkerthinker: yes
|
||||||
a\*: globbed`)
|
a*n*t*.constant.t*ink*r*t*inke*: globbed`)
|
||||||
assert.Success(t, err)
|
assert.Success(t, err)
|
||||||
assertQuery(t, m, 3, 0, nil, "")
|
assertQuery(t, m, 6, 0, nil, "")
|
||||||
assertQuery(t, m, 0, 0, "meow", "animal")
|
assertQuery(t, m, 0, 0, "globbed", "animate.constant.tinkertinker")
|
||||||
assertQuery(t, m, 0, 0, "yes", "action")
|
assertQuery(t, m, 0, 0, "globbed", "astronaut.constant.thinkerthinker")
|
||||||
assertQuery(t, m, 0, 0, "globbed", `a\*`)
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "edge/1",
|
||||||
|
run: func(t testing.TB) {
|
||||||
|
m, err := compile(t, `animate
|
||||||
|
animal
|
||||||
|
an* -> an*`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertQuery(t, m, 2, 4, nil, "")
|
||||||
|
assertQuery(t, m, 0, 0, nil, "(animate -> animal)[0]")
|
||||||
|
assertQuery(t, m, 0, 0, nil, "(animal -> animal)[0]")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "edge/2",
|
||||||
|
run: func(t testing.TB) {
|
||||||
|
m, err := compile(t, `shared.animate
|
||||||
|
shared.animal
|
||||||
|
sh*.(an* -> an*)`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertQuery(t, m, 3, 4, nil, "")
|
||||||
|
assertQuery(t, m, 2, 4, nil, "shared")
|
||||||
|
assertQuery(t, m, 0, 0, nil, "shared.(animate -> animal)[0]")
|
||||||
|
assertQuery(t, m, 0, 0, nil, "shared.(animal -> animal)[0]")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "edge/3",
|
||||||
|
run: func(t testing.TB) {
|
||||||
|
m, err := compile(t, `shared.animate
|
||||||
|
shared.animal
|
||||||
|
sh*.an* -> sh*.an*`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertQuery(t, m, 3, 4, nil, "")
|
||||||
|
assertQuery(t, m, 2, 4, nil, "shared")
|
||||||
|
assertQuery(t, m, 0, 0, nil, "shared.(animate -> animal)[0]")
|
||||||
|
assertQuery(t, m, 0, 0, nil, "shared.(animal -> animal)[0]")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "double-glob",
|
||||||
|
run: func(t testing.TB) {
|
||||||
|
m, err := compile(t, `shared.animate
|
||||||
|
shared.animal
|
||||||
|
**.style.fill: red`)
|
||||||
|
assert.Success(t, err)
|
||||||
|
assertQuery(t, m, 9, 0, nil, "")
|
||||||
|
assertQuery(t, m, 8, 0, nil, "shared")
|
||||||
|
assertQuery(t, m, 2, 0, nil, "shared.style")
|
||||||
|
assertQuery(t, m, 2, 0, nil, "shared.animate")
|
||||||
|
assertQuery(t, m, 2, 0, nil, "shared.animal")
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1030,9 +1030,15 @@ func (p *parser) parseUnquotedString(inKey bool) (s *d2ast.UnquotedString) {
|
||||||
|
|
||||||
var sb strings.Builder
|
var sb strings.Builder
|
||||||
var rawb strings.Builder
|
var rawb strings.Builder
|
||||||
|
lastPatternIndex := 0
|
||||||
defer func() {
|
defer func() {
|
||||||
sv := strings.TrimRightFunc(sb.String(), unicode.IsSpace)
|
sv := strings.TrimRightFunc(sb.String(), unicode.IsSpace)
|
||||||
rawv := strings.TrimRightFunc(rawb.String(), unicode.IsSpace)
|
rawv := strings.TrimRightFunc(rawb.String(), unicode.IsSpace)
|
||||||
|
if s.Pattern != nil {
|
||||||
|
if lastPatternIndex < len(sv) {
|
||||||
|
s.Pattern = append(s.Pattern, sv[lastPatternIndex:])
|
||||||
|
}
|
||||||
|
}
|
||||||
if sv == "" {
|
if sv == "" {
|
||||||
if len(s.Value) > 0 {
|
if len(s.Value) > 0 {
|
||||||
return
|
return
|
||||||
|
|
@ -1046,15 +1052,6 @@ func (p *parser) parseUnquotedString(inKey bool) (s *d2ast.UnquotedString) {
|
||||||
s.Value = append(s.Value, d2ast.InterpolationBox{String: &sv, StringRaw: &rawv})
|
s.Value = append(s.Value, d2ast.InterpolationBox{String: &sv, StringRaw: &rawv})
|
||||||
}()
|
}()
|
||||||
|
|
||||||
lastPatternIndex := 0
|
|
||||||
defer func() {
|
|
||||||
if s.Pattern != nil {
|
|
||||||
if lastPatternIndex < sb.Len() {
|
|
||||||
s.Pattern = append(s.Pattern, sb.String()[lastPatternIndex:])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
_s, eof := p.peekn(4)
|
_s, eof := p.peekn(4)
|
||||||
p.rewind()
|
p.rewind()
|
||||||
if !eof {
|
if !eof {
|
||||||
|
|
|
||||||
1104
testdata/d2ir/TestCompile/edges/chain.exp.json
generated
vendored
1104
testdata/d2ir/TestCompile/edges/chain.exp.json
generated
vendored
File diff suppressed because it is too large
Load diff
660
testdata/d2ir/TestCompile/edges/nested.exp.json
generated
vendored
660
testdata/d2ir/TestCompile/edges/nested.exp.json
generated
vendored
|
|
@ -171,6 +171,171 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -342,6 +507,171 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -516,6 +846,171 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -687,6 +1182,171 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:10:10",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:3:3",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:2:2-0:3:3",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/nested.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p",
|
||||||
|
"raw_string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
220
testdata/d2ir/TestCompile/edges/root.exp.json
generated
vendored
220
testdata/d2ir/TestCompile/edges/root.exp.json
generated
vendored
|
|
@ -112,6 +112,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -227,6 +337,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
415
testdata/d2ir/TestCompile/edges/underscore.exp.json
generated
vendored
415
testdata/d2ir/TestCompile/edges/underscore.exp.json
generated
vendored
|
|
@ -138,6 +138,148 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": ",0:0:0-0:0:0",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:13:13",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:8:8",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "_",
|
||||||
|
"raw_string": "_"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:14:14",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:13:13",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:8:8",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "_",
|
||||||
|
"raw_string": "_"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -258,6 +400,147 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": ",0:0:0-0:0:0",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": ",0:0:0-0:0:0",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "p"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:13:13",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:8:8",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "_",
|
||||||
|
"raw_string": "_"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:14:14",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:13:13",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:8:8",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "_",
|
||||||
|
"raw_string": "_"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -406,6 +689,138 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:8:8",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:13:13",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:8:8",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "_",
|
||||||
|
"raw_string": "_"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:14:14",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:13:13",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:8:8",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "_",
|
||||||
|
"raw_string": "_"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/edges/underscore.d2,0:12:12-0:13:13",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "z",
|
||||||
|
"raw_string": "z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
396
testdata/d2ir/TestCompile/layers/errs/4/good_edge.exp.json
generated
vendored
396
testdata/d2ir/TestCompile/layers/errs/4/good_edge.exp.json
generated
vendored
|
|
@ -450,6 +450,402 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:24:24",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "layers",
|
||||||
|
"raw_string": "layers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:24:24",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:20:20",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "layers",
|
||||||
|
"raw_string": "layers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:21:21-0:22:22",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:23:23-0:24:24",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:24:24",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:24:24",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "layers",
|
||||||
|
"raw_string": "layers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:24:24",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:20:20",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "layers",
|
||||||
|
"raw_string": "layers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:21:21-0:22:22",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:23:23-0:24:24",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:23:23-0:24:24",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:24:24",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:23:23-0:24:24",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:24:24",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "layers",
|
||||||
|
"raw_string": "layers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:24:24",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:20:20",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "layers",
|
||||||
|
"raw_string": "layers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:21:21-0:22:22",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:23:23-0:24:24",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:24:24",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:24:24",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:10:10",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "layers",
|
||||||
|
"raw_string": "layers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:7:7-0:8:8",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:9:9-0:10:10",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:24:24",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:14:14-0:20:20",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "layers",
|
||||||
|
"raw_string": "layers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:21:21-0:22:22",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/errs/4/good_edge.d2,0:23:23-0:24:24",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
220
testdata/d2ir/TestCompile/layers/root.exp.json
generated
vendored
220
testdata/d2ir/TestCompile/layers/root.exp.json
generated
vendored
|
|
@ -112,6 +112,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -227,6 +337,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/layers/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
573
testdata/d2ir/TestCompile/patterns/double-glob.exp.json
generated
vendored
Normal file
573
testdata/d2ir/TestCompile/patterns/double-glob.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,573 @@
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "shared",
|
||||||
|
"composite": {
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "animate",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:14:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:14:14",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:14:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "animal",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:13:28",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:13:28",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:13:28",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "style",
|
||||||
|
"composite": {
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "fill",
|
||||||
|
"primary": {
|
||||||
|
"value": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:15:44-2:18:47",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "red",
|
||||||
|
"raw_string": "red"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:9:38-2:13:42",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "fill",
|
||||||
|
"raw_string": "fill"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:13:42",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:2:31",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "**",
|
||||||
|
"raw_string": "**"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"*",
|
||||||
|
"",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:3:32-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "style",
|
||||||
|
"raw_string": "style"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:9:38-2:13:42",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "fill",
|
||||||
|
"raw_string": "fill"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:18:47",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:13:42",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:2:31",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "**",
|
||||||
|
"raw_string": "**"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"*",
|
||||||
|
"",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:3:32-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "style",
|
||||||
|
"raw_string": "style"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:9:38-2:13:42",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "fill",
|
||||||
|
"raw_string": "fill"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:15:44-2:18:47",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "red",
|
||||||
|
"raw_string": "red"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:3:32-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "style",
|
||||||
|
"raw_string": "style"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:13:42",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:2:31",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "**",
|
||||||
|
"raw_string": "**"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"*",
|
||||||
|
"",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:3:32-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "style",
|
||||||
|
"raw_string": "style"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:9:38-2:13:42",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "fill",
|
||||||
|
"raw_string": "fill"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:18:47",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:13:42",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:0:29-2:2:31",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "**",
|
||||||
|
"raw_string": "**"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"*",
|
||||||
|
"",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:3:32-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "style",
|
||||||
|
"raw_string": "style"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:9:38-2:13:42",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "fill",
|
||||||
|
"raw_string": "fill"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,2:15:44-2:18:47",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "red",
|
||||||
|
"raw_string": "red"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:14:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:14:14",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:14:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:13:28",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:13:28",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:13:28",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/double-glob.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
}
|
||||||
582
testdata/d2ir/TestCompile/patterns/edge/1.exp.json
generated
vendored
Normal file
582
testdata/d2ir/TestCompile/patterns/edge/1.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,582 @@
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "animate",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,0:0:0-0:7:7",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,0:0:0-0:7:7",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,0:0:0-0:7:7",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "animal",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,1:0:8-1:6:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,1:0:8-1:6:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,1:0:8-1:6:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,1:0:8-1:6:14",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,1:0:8-1:6:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,1:0:8-1:6:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"edge_id": {
|
||||||
|
"src_path": [
|
||||||
|
"animate"
|
||||||
|
],
|
||||||
|
"src_arrow": false,
|
||||||
|
"dst_path": [
|
||||||
|
"animate"
|
||||||
|
],
|
||||||
|
"dst_arrow": true,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edge_id": {
|
||||||
|
"src_path": [
|
||||||
|
"animate"
|
||||||
|
],
|
||||||
|
"src_arrow": false,
|
||||||
|
"dst_path": [
|
||||||
|
"animal"
|
||||||
|
],
|
||||||
|
"dst_arrow": true,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edge_id": {
|
||||||
|
"src_path": [
|
||||||
|
"animal"
|
||||||
|
],
|
||||||
|
"src_arrow": false,
|
||||||
|
"dst_path": [
|
||||||
|
"animate"
|
||||||
|
],
|
||||||
|
"dst_arrow": true,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edge_id": {
|
||||||
|
"src_path": [
|
||||||
|
"animal"
|
||||||
|
],
|
||||||
|
"src_arrow": false,
|
||||||
|
"dst_path": [
|
||||||
|
"animal"
|
||||||
|
],
|
||||||
|
"dst_arrow": true,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:10:25",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:0:15-2:3:18",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/1.d2,2:7:22-2:10:25",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
862
testdata/d2ir/TestCompile/patterns/edge/2.exp.json
generated
vendored
Normal file
862
testdata/d2ir/TestCompile/patterns/edge/2.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,862 @@
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "shared",
|
||||||
|
"composite": {
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "animate",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:14:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:14:14",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:14:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "animal",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:13:28",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:13:28",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:13:28",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"edge_id": {
|
||||||
|
"src_path": [
|
||||||
|
"animate"
|
||||||
|
],
|
||||||
|
"src_arrow": false,
|
||||||
|
"dst_path": [
|
||||||
|
"animate"
|
||||||
|
],
|
||||||
|
"dst_arrow": true,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:15:44",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:16:45",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:3:32",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:3:32",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "sh*",
|
||||||
|
"raw_string": "sh*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"sh",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:15:44",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edge_id": {
|
||||||
|
"src_path": [
|
||||||
|
"animate"
|
||||||
|
],
|
||||||
|
"src_arrow": false,
|
||||||
|
"dst_path": [
|
||||||
|
"animal"
|
||||||
|
],
|
||||||
|
"dst_arrow": true,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:15:44",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:16:45",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:3:32",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:3:32",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "sh*",
|
||||||
|
"raw_string": "sh*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"sh",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:15:44",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edge_id": {
|
||||||
|
"src_path": [
|
||||||
|
"animal"
|
||||||
|
],
|
||||||
|
"src_arrow": false,
|
||||||
|
"dst_path": [
|
||||||
|
"animate"
|
||||||
|
],
|
||||||
|
"dst_arrow": true,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:15:44",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:16:45",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:3:32",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:3:32",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "sh*",
|
||||||
|
"raw_string": "sh*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"sh",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:15:44",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"edge_id": {
|
||||||
|
"src_path": [
|
||||||
|
"animal"
|
||||||
|
],
|
||||||
|
"src_arrow": false,
|
||||||
|
"dst_path": [
|
||||||
|
"animal"
|
||||||
|
],
|
||||||
|
"dst_arrow": true,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:15:44",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:16:45",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:3:32",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:0:29-2:3:32",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "sh*",
|
||||||
|
"raw_string": "sh*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"sh",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:15:44",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:5:34-2:8:37",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,2:12:41-2:15:44",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "an*",
|
||||||
|
"raw_string": "an*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"an",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:14:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:14:14",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:14:14",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:0:0-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,0:7:7-0:14:14",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:13:28",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:13:28",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:13:28",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:0:15-1:6:21",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "shared",
|
||||||
|
"raw_string": "shared"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/edge/2.d2,1:7:22-1:13:28",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animal",
|
||||||
|
"raw_string": "animal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
}
|
||||||
1022
testdata/d2ir/TestCompile/patterns/edge/3.exp.json
generated
vendored
Normal file
1022
testdata/d2ir/TestCompile/patterns/edge/3.exp.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
997
testdata/d2ir/TestCompile/patterns/nested/prefix-suffix/3.exp.json
generated
vendored
Normal file
997
testdata/d2ir/TestCompile/patterns/nested/prefix-suffix/3.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,997 @@
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "animate",
|
||||||
|
"composite": {
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "constant",
|
||||||
|
"composite": {
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "tinkertinker",
|
||||||
|
"primary": {
|
||||||
|
"value": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:33:108-2:40:115",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "globbed",
|
||||||
|
"raw_string": "globbed"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:17:17-0:29:29",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "tinkertinker",
|
||||||
|
"raw_string": "tinkertinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:29:29",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:8:8-0:16:16",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:17:17-0:29:29",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "tinkertinker",
|
||||||
|
"raw_string": "tinkertinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:35:35",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:29:29",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:8:8-0:16:16",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:17:17-0:29:29",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "tinkertinker",
|
||||||
|
"raw_string": "tinkertinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:31:31-0:35:35",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "meow",
|
||||||
|
"raw_string": "meow"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:8:8-0:16:16",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:29:29",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:8:8-0:16:16",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:17:17-0:29:29",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "tinkertinker",
|
||||||
|
"raw_string": "tinkertinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:35:35",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:29:29",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:8:8-0:16:16",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:17:17-0:29:29",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "tinkertinker",
|
||||||
|
"raw_string": "tinkertinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:31:31-0:35:35",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "meow",
|
||||||
|
"raw_string": "meow"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:7:82-2:15:90",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:31:106",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:6:81",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a*n*t*",
|
||||||
|
"raw_string": "a*n*t*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"a",
|
||||||
|
"*",
|
||||||
|
"n",
|
||||||
|
"*",
|
||||||
|
"t",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:7:82-2:15:90",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:16:91-2:31:106",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "t*ink*r*t*inke*",
|
||||||
|
"raw_string": "t*ink*r*t*inke*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"t",
|
||||||
|
"*",
|
||||||
|
"ink",
|
||||||
|
"*",
|
||||||
|
"r",
|
||||||
|
"*",
|
||||||
|
"t",
|
||||||
|
"*",
|
||||||
|
"inke",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:40:115",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:31:106",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:6:81",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a*n*t*",
|
||||||
|
"raw_string": "a*n*t*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"a",
|
||||||
|
"*",
|
||||||
|
"n",
|
||||||
|
"*",
|
||||||
|
"t",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:7:82-2:15:90",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:16:91-2:31:106",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "t*ink*r*t*inke*",
|
||||||
|
"raw_string": "t*ink*r*t*inke*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"t",
|
||||||
|
"*",
|
||||||
|
"ink",
|
||||||
|
"*",
|
||||||
|
"r",
|
||||||
|
"*",
|
||||||
|
"t",
|
||||||
|
"*",
|
||||||
|
"inke",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:33:108-2:40:115",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "globbed",
|
||||||
|
"raw_string": "globbed"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:29:29",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:8:8-0:16:16",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:17:17-0:29:29",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "tinkertinker",
|
||||||
|
"raw_string": "tinkertinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:35:35",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:29:29",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:0:0-0:7:7",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "animate",
|
||||||
|
"raw_string": "animate"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:8:8-0:16:16",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:17:17-0:29:29",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "tinkertinker",
|
||||||
|
"raw_string": "tinkertinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,0:31:31-0:35:35",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "meow",
|
||||||
|
"raw_string": "meow"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "astronaut",
|
||||||
|
"composite": {
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "constant",
|
||||||
|
"composite": {
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "thinkerthinker",
|
||||||
|
"primary": {
|
||||||
|
"value": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:33:108-2:40:115",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "globbed",
|
||||||
|
"raw_string": "globbed"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:19:55-1:33:69",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "thinkerthinker",
|
||||||
|
"raw_string": "thinkerthinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:33:69",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:9:45",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "astronaut",
|
||||||
|
"raw_string": "astronaut"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:10:46-1:18:54",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:19:55-1:33:69",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "thinkerthinker",
|
||||||
|
"raw_string": "thinkerthinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:38:74",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:33:69",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:9:45",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "astronaut",
|
||||||
|
"raw_string": "astronaut"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:10:46-1:18:54",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:19:55-1:33:69",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "thinkerthinker",
|
||||||
|
"raw_string": "thinkerthinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:35:71-1:38:74",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "yes",
|
||||||
|
"raw_string": "yes"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:10:46-1:18:54",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:33:69",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:9:45",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "astronaut",
|
||||||
|
"raw_string": "astronaut"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:10:46-1:18:54",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:19:55-1:33:69",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "thinkerthinker",
|
||||||
|
"raw_string": "thinkerthinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:38:74",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:33:69",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:9:45",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "astronaut",
|
||||||
|
"raw_string": "astronaut"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:10:46-1:18:54",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:19:55-1:33:69",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "thinkerthinker",
|
||||||
|
"raw_string": "thinkerthinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:35:71-1:38:74",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "yes",
|
||||||
|
"raw_string": "yes"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:7:82-2:15:90",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:31:106",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:6:81",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a*n*t*",
|
||||||
|
"raw_string": "a*n*t*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"a",
|
||||||
|
"*",
|
||||||
|
"n",
|
||||||
|
"*",
|
||||||
|
"t",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:7:82-2:15:90",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:16:91-2:31:106",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "t*ink*r*t*inke*",
|
||||||
|
"raw_string": "t*ink*r*t*inke*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"t",
|
||||||
|
"*",
|
||||||
|
"ink",
|
||||||
|
"*",
|
||||||
|
"r",
|
||||||
|
"*",
|
||||||
|
"t",
|
||||||
|
"*",
|
||||||
|
"inke",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:40:115",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:31:106",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:0:75-2:6:81",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a*n*t*",
|
||||||
|
"raw_string": "a*n*t*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"a",
|
||||||
|
"*",
|
||||||
|
"n",
|
||||||
|
"*",
|
||||||
|
"t",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:7:82-2:15:90",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:16:91-2:31:106",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "t*ink*r*t*inke*",
|
||||||
|
"raw_string": "t*ink*r*t*inke*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pattern": [
|
||||||
|
"t",
|
||||||
|
"*",
|
||||||
|
"ink",
|
||||||
|
"*",
|
||||||
|
"r",
|
||||||
|
"*",
|
||||||
|
"t",
|
||||||
|
"*",
|
||||||
|
"inke",
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,2:33:108-2:40:115",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "globbed",
|
||||||
|
"raw_string": "globbed"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
},
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:9:45",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "astronaut",
|
||||||
|
"raw_string": "astronaut"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:33:69",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:9:45",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "astronaut",
|
||||||
|
"raw_string": "astronaut"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:10:46-1:18:54",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:19:55-1:33:69",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "thinkerthinker",
|
||||||
|
"raw_string": "thinkerthinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": null,
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:38:74",
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:33:69",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:0:36-1:9:45",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "astronaut",
|
||||||
|
"raw_string": "astronaut"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:10:46-1:18:54",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "constant",
|
||||||
|
"raw_string": "constant"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:19:55-1:33:69",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "thinkerthinker",
|
||||||
|
"raw_string": "thinkerthinker"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"primary": {},
|
||||||
|
"value": {
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/patterns/nested/prefix-suffix/3.d2,1:35:71-1:38:74",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "yes",
|
||||||
|
"raw_string": "yes"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"edges": null
|
||||||
|
}
|
||||||
440
testdata/d2ir/TestCompile/scenarios/edge.exp.json
generated
vendored
440
testdata/d2ir/TestCompile/scenarios/edge.exp.json
generated
vendored
|
|
@ -112,6 +112,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -227,6 +337,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -351,6 +571,116 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"string": {
|
"string": {
|
||||||
"range": "TestCompile/scenarios/edge.d2,3:5:32-3:6:33",
|
"range": "TestCompile/scenarios/edge.d2,3:5:32-3:6:33",
|
||||||
|
|
@ -614,6 +944,116 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "a",
|
||||||
|
"raw_string": "a"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/edge.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "b",
|
||||||
|
"raw_string": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"string": {
|
"string": {
|
||||||
"range": "TestCompile/scenarios/edge.d2,3:10:37-3:11:38",
|
"range": "TestCompile/scenarios/edge.d2,3:10:37-3:11:38",
|
||||||
|
|
|
||||||
660
testdata/d2ir/TestCompile/scenarios/root.exp.json
generated
vendored
660
testdata/d2ir/TestCompile/scenarios/root.exp.json
generated
vendored
|
|
@ -112,6 +112,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -227,6 +337,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -350,6 +570,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -465,6 +795,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1103,6 +1543,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1218,6 +1768,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/scenarios/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
880
testdata/d2ir/TestCompile/steps/recursive.exp.json
generated
vendored
880
testdata/d2ir/TestCompile/steps/recursive.exp.json
generated
vendored
|
|
@ -112,6 +112,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -227,6 +337,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -350,6 +570,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -465,6 +795,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1103,6 +1543,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1218,6 +1768,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1707,6 +2367,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1822,6 +2592,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/recursive.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
660
testdata/d2ir/TestCompile/steps/root.exp.json
generated
vendored
660
testdata/d2ir/TestCompile/steps/root.exp.json
generated
vendored
|
|
@ -112,6 +112,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -227,6 +337,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -350,6 +570,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -465,6 +795,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1103,6 +1543,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1218,6 +1768,116 @@
|
||||||
"value": {}
|
"value": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_path": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context": {
|
||||||
|
"edge": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"edges": [
|
||||||
|
{
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:6:6",
|
||||||
|
"src": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:0:0-0:1:1",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "x",
|
||||||
|
"raw_string": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src_arrow": "",
|
||||||
|
"dst": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"path": [
|
||||||
|
{
|
||||||
|
"unquoted_string": {
|
||||||
|
"range": "TestCompile/steps/root.d2,0:5:5-0:6:6",
|
||||||
|
"value": [
|
||||||
|
{
|
||||||
|
"string": "y",
|
||||||
|
"raw_string": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dst_arrow": ">"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"primary": {},
|
||||||
|
"value": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue