From dcfdc02b77d45a5cdf12273fb6cb0227e5cc6e4c Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 14 Dec 2017 17:05:33 +0100 Subject: prog: minor refactoring around arguments Introduce isUsed(arg) helper, use it in several places. Move method definitions closer to their types. Simplify presence check for ArgUsed.Used() in several places. --- prog/validation.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'prog/validation.go') diff --git a/prog/validation.go b/prog/validation.go index d0f6d0bd2..288a8172b 100644 --- a/prog/validation.go +++ b/prog/validation.go @@ -48,7 +48,8 @@ func (c *Call) validate(ctx *validCtx) error { if used, ok := arg.(ArgUsed); ok { for u := range *used.Used() { if u == nil { - return fmt.Errorf("syscall %v: nil reference in uses for arg %+v", c.Meta.Name, arg) + return fmt.Errorf("syscall %v: nil reference in uses for arg %+v", + c.Meta.Name, arg) } ctx.uses[u] = arg } @@ -246,8 +247,9 @@ func (c *Call) validate(ctx *validCtx) error { return fmt.Errorf("syscall %v: result arg '%v' references out-of-tree result: %p%+v -> %p%+v", c.Meta.Name, a.Type().Name(), arg, arg, a.Res, a.Res) } - if _, ok := (*a.Res.(ArgUsed).Used())[arg]; !ok { - return fmt.Errorf("syscall %v: result arg '%v' has broken link (%+v)", c.Meta.Name, a.Type().Name(), *a.Res.(ArgUsed).Used()) + if !(*a.Res.(ArgUsed).Used())[arg] { + return fmt.Errorf("syscall %v: result arg '%v' has broken link (%+v)", + c.Meta.Name, a.Type().Name(), *a.Res.(ArgUsed).Used()) } case *ReturnArg: switch a.Type().(type) { -- cgit mrf-deployment