Make sure Chunks includes type.Refs and the TypeRef

Chunks shold return the futures for types.Ref values.

For typed values that have a TypeRef which has a package ref, also
include that.
This commit is contained in:
Erik Arvidsson
2015-10-12 19:34:17 -04:00
parent 9e36e080fd
commit 8565f175ee
39 changed files with 346 additions and 140 deletions

View File

@@ -76,8 +76,10 @@ func (l ListOfStruct) Ref() ref.Ref {
return l.l.Ref()
}
func (l ListOfStruct) Chunks() []types.Future {
return l.l.Chunks()
func (l ListOfStruct) Chunks() (futures []types.Future) {
futures = append(futures, l.TypeRef().Chunks()...)
futures = append(futures, l.l.Chunks()...)
return
}
// A Noms Value that describes ListOfStruct.
@@ -234,8 +236,10 @@ func (s Struct) Ref() ref.Ref {
return s.m.Ref()
}
func (s Struct) Chunks() []types.Future {
return s.m.Chunks()
func (s Struct) Chunks() (futures []types.Future) {
futures = append(futures, s.TypeRef().Chunks()...)
futures = append(futures, s.m.Chunks()...)
return
}
func (s Struct) S() string {