From 8950ec3f515f09db0af2c02deff1f5cc5cf9e8e2 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 31 Mar 2020 13:29:37 +0200 Subject: [PATCH] prog: add MaxArgs const Move the const from the compiler. In preparation for future changes. --- pkg/compiler/check.go | 5 ++--- prog/types.go | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/compiler/check.go b/pkg/compiler/check.go index 7f12d74a..63268af7 100644 --- a/pkg/compiler/check.go +++ b/pkg/compiler/check.go @@ -146,7 +146,6 @@ func (comp *compiler) checkNames() { } func (comp *compiler) checkFields() { - const maxArgs = 9 // executor does not support more for _, decl := range comp.desc.Nodes { switch n := decl.(type) { case *ast.Struct: @@ -160,9 +159,9 @@ func (comp *compiler) checkFields() { case *ast.Call: name := n.Name.Name comp.checkFieldGroup(n.Args, "argument", "syscall "+name) - if len(n.Args) > maxArgs { + if len(n.Args) > prog.MaxArgs { comp.error(n.Pos, "syscall %v has %v arguments, allowed maximum is %v", - name, len(n.Args), maxArgs) + name, len(n.Args), prog.MaxArgs) } } } diff --git a/prog/types.go b/prog/types.go index c83a2875..7b4ec53e 100644 --- a/prog/types.go +++ b/prog/types.go @@ -21,6 +21,10 @@ type Syscall struct { outputResources []*ResourceDesc } +// MaxArgs is maximum number of syscall arguments. +// Executor also knows about this value. +const MaxArgs = 9 + type Dir int const (