diff options
| author | Necip Fazil Yildiran <necip@google.com> | 2020-08-10 14:43:38 +0000 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-08-13 13:50:25 +0200 |
| commit | f5442bde55872d703f184f8617329f706bad8149 (patch) | |
| tree | 14e121020d6aacd857b80351f01546818f19a74b /prog/rand.go | |
| parent | ee7cb8b69583db417b187b53f4765c3a403cd4cf (diff) | |
pkg, prog: add per-field direction attribute
Diffstat (limited to 'prog/rand.go')
| -rw-r--r-- | prog/rand.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/prog/rand.go b/prog/rand.go index 4dfff97e5..05a9c30df 100644 --- a/prog/rand.go +++ b/prog/rand.go @@ -593,7 +593,7 @@ func (r *randGen) generateArgs(s *state, fields []Field, dir Dir) ([]Arg, []*Cal // Generate all args. Size args have the default value 0 for now. for i, field := range fields { - arg, calls1 := r.generateArg(s, field.Type, dir) + arg, calls1 := r.generateArg(s, field.Type, field.Dir(dir)) if arg == nil { panic(fmt.Sprintf("generated arg is nil for field '%v', fields: %+v", field.Type.Name(), fields)) } @@ -784,8 +784,8 @@ func (a *StructType) generate(r *randGen, s *state, dir Dir) (arg Arg, calls []* func (a *UnionType) generate(r *randGen, s *state, dir Dir) (arg Arg, calls []*Call) { index := r.Intn(len(a.Fields)) - optType := a.Fields[index].Type - opt, calls := r.generateArg(s, optType, dir) + optType, optDir := a.Fields[index].Type, a.Fields[index].Dir(dir) + opt, calls := r.generateArg(s, optType, optDir) return MakeUnionArg(a, dir, opt, index), calls } |
