-
-
Notifications
You must be signed in to change notification settings - Fork 564
/
Copy pathgenerated.go
41 lines (35 loc) Β· 941 Bytes
/
generated.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package expr
import "goa.design/goa/eval"
type (
// GeneratedRoot records the generated result types and is a DSL root
// evaluated after Root.
GeneratedRoot []UserType
)
// EvalName is the name of the expression used by eval.
func (r *GeneratedRoot) EvalName() string {
return "generated result types"
}
// WalkSets returns the generated result types for evaluation.
func (r *GeneratedRoot) WalkSets(w eval.SetWalker) {
if r == nil {
return
}
set := make(eval.ExpressionSet, len(*r))
for i, t := range *r {
rt := t.(*ResultTypeExpr)
Root.ResultTypes = append(Root.ResultTypes, rt)
set[i] = rt
}
w(set)
}
// DependsOn ensures that Root executes first.
func (r *GeneratedRoot) DependsOn() []eval.Root {
return []eval.Root{Root}
}
// Packages returns the Go import path to this and the dsl packages.
func (r *GeneratedRoot) Packages() []string {
return []string{
"goa.design/goa/expr",
"goa.design/goa/dsl",
}
}