This commit is contained in:
Alexander Wang 2023-06-20 18:27:20 -07:00
parent 1a9d1ffefb
commit 9351a2e2cd
No known key found for this signature in database
GPG key ID: D89FA31966BDBECE
3 changed files with 2 additions and 31 deletions

View file

@ -155,9 +155,6 @@ func (c *compiler) compileField(dst *Map, kp *d2ast.KeyPath, refctx *RefContext)
c.err.Errors = append(c.err.Errors, err.(d2ast.Error)) c.err.Errors = append(c.err.Errors, err.(d2ast.Error))
return return
} }
if f.Inherited {
f.Inherited = false
}
if refctx.Key.Primary.Unbox() != nil { if refctx.Key.Primary.Unbox() != nil {
f.Primary_ = &Scalar{ f.Primary_ = &Scalar{

View file

@ -197,24 +197,7 @@ func (m *Map) CopyBase(newParent Node) *Map {
scenarios := m.DeleteField("scenarios") scenarios := m.DeleteField("scenarios")
steps := m.DeleteField("steps") steps := m.DeleteField("steps")
had := make(map[string]struct{})
if parentM, ok := newParent.(*Map); ok {
for _, f := range parentM.Fields {
had[f.Name] = struct{}{}
}
}
// TODO pretty sure you don't need one for edges.
// Maybe if both boards had a (x -> y)[0]?
m2 := m.Copy(newParent).(*Map) m2 := m.Copy(newParent).(*Map)
for i := range m2.Fields {
// if _, ok := had[m2.Fields[i].Name]; !ok {
m2.Fields[i].Inherited = true
// }
}
for i := range m2.Edges {
m2.Edges[i].Inherited = true
}
if layers != nil { if layers != nil {
m.Fields = append(m.Fields, layers) m.Fields = append(m.Fields, layers)
} }
@ -295,9 +278,6 @@ type Field struct {
Composite Composite `json:"composite,omitempty"` Composite Composite `json:"composite,omitempty"`
References []*FieldReference `json:"references,omitempty"` References []*FieldReference `json:"references,omitempty"`
// Whether it's from a parent board or imported
Inherited bool `json:"inherited"`
} }
func (f *Field) Copy(newParent Node) Node { func (f *Field) Copy(newParent Node) Node {
@ -452,8 +432,6 @@ type Edge struct {
Map_ *Map `json:"map,omitempty"` Map_ *Map `json:"map,omitempty"`
References []*EdgeReference `json:"references,omitempty"` References []*EdgeReference `json:"references,omitempty"`
Inherited bool `json:"inherited"`
} }
func (e *Edge) Copy(newParent Node) Node { func (e *Edge) Copy(newParent Node) Node {

View file

@ -4,9 +4,7 @@ func OverlayMap(base, overlay *Map) {
for _, of := range overlay.Fields { for _, of := range overlay.Fields {
bf := base.GetField(of.Name) bf := base.GetField(of.Name)
if bf == nil { if bf == nil {
f := of.Copy(base).(*Field) base.Fields = append(base.Fields, of.Copy(base).(*Field))
f.Inherited = true
base.Fields = append(base.Fields, f)
continue continue
} }
OverlayField(bf, of) OverlayField(bf, of)
@ -15,9 +13,7 @@ func OverlayMap(base, overlay *Map) {
for _, oe := range overlay.Edges { for _, oe := range overlay.Edges {
bea := base.GetEdges(oe.ID) bea := base.GetEdges(oe.ID)
if len(bea) == 0 { if len(bea) == 0 {
e := oe.Copy(base).(*Edge) base.Edges = append(base.Edges, oe.Copy(base).(*Edge))
e.Inherited = true
base.Edges = append(base.Edges, e)
continue continue
} }
be := bea[0] be := bea[0]