Merge pull request #18687 from caesarxuchao/expand-orderer

Auto commit by PR queue bot
pull/6/head
k8s-merge-robot 2015-12-15 15:23:35 -08:00
commit 5a024848f1
4 changed files with 20 additions and 9 deletions

View File

@ -185,7 +185,7 @@ func NewContext(b *parser.Builder, nameSystems namer.NameSystems, canonicalOrder
c.Namers[name] = systemNamer
if name == canonicalOrderName {
orderer := namer.Orderer{systemNamer}
c.Order = orderer.Order(u)
c.Order = orderer.OrderUniverse(u)
}
}
return c, nil

View File

@ -49,7 +49,7 @@ func TestNameStrategy(t *testing.T) {
u.Type(types.Name{Package: "", Name: "string"})
o := Orderer{NewPublicNamer(0)}
order := o.Order(u)
order := o.OrderUniverse(u)
orderedNames := make([]string, len(order))
for i, t := range order {
orderedNames[i] = o.Name(t)
@ -60,7 +60,7 @@ func TestNameStrategy(t *testing.T) {
}
o = Orderer{NewRawNamer("my/package", nil)}
order = o.Order(u)
order = o.OrderUniverse(u)
orderedNames = make([]string, len(order))
for i, t := range order {
orderedNames[i] = o.Name(t)
@ -72,7 +72,7 @@ func TestNameStrategy(t *testing.T) {
}
o = Orderer{NewRawNamer("foo/bar", nil)}
order = o.Order(u)
order = o.OrderUniverse(u)
orderedNames = make([]string, len(order))
for i, t := range order {
orderedNames[i] = o.Name(t)
@ -84,7 +84,7 @@ func TestNameStrategy(t *testing.T) {
}
o = Orderer{NewPublicNamer(1)}
order = o.Order(u)
order = o.OrderUniverse(u)
orderedNames = make([]string, len(order))
for i, t := range order {
orderedNames[i] = o.Name(t)

View File

@ -27,9 +27,9 @@ type Orderer struct {
Namer
}
// Order assigns a name to every type, and returns a list sorted by those
// names.
func (o *Orderer) Order(u types.Universe) []*types.Type {
// OrderUniverse assigns a name to every type in the Universe, including Types,
// Functions and Variables, and returns a list sorted by those names.
func (o *Orderer) OrderUniverse(u types.Universe) []*types.Type {
list := tList{
namer: o.Namer,
}
@ -48,6 +48,17 @@ func (o *Orderer) Order(u types.Universe) []*types.Type {
return list.types
}
// OrderTypes assigns a name to every type, and returns a list sorted by those
// names.
func (o *Orderer) OrderTypes(typeList []*types.Type) []*types.Type {
list := tList{
namer: o.Namer,
types: typeList,
}
sort.Sort(list)
return list.types
}
type tList struct {
namer Namer
types []*types.Type

View File

@ -39,7 +39,7 @@ func construct(t *testing.T, files map[string]string, testNamer namer.Namer) (*p
t.Fatal(err)
}
orderer := namer.Orderer{testNamer}
o := orderer.Order(u)
o := orderer.OrderUniverse(u)
return b, u, o
}