diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2015-12-29 15:00:57 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2015-12-29 15:00:57 +0100 |
| commit | e6529b30ec934f285d57dc16dd8acbbab074f102 (patch) | |
| tree | 9bf9673e44997f24e702833904294f3116d4f209 /prog/prio.go | |
| parent | d40104b8a35f01d31cad1f11e312e76e034ffc4a (diff) | |
sys: add union type
Diffstat (limited to 'prog/prio.go')
| -rw-r--r-- | prog/prio.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/prog/prio.go b/prog/prio.go index 2e6e46da2..d6621cb2c 100644 --- a/prog/prio.go +++ b/prog/prio.go @@ -80,6 +80,12 @@ func calcStaticPriorities() [][]float32 { if _, ok := a.Type.(sys.StructType); ok { noteUsage(1.0, "ptrto-%v", a.Type.Name()) } + if _, ok := a.Type.(sys.UnionType); ok { + noteUsage(1.0, "ptrto-%v", a.Type.Name()) + } + if arr, ok := a.Type.(sys.ArrayType); ok { + noteUsage(1.0, "ptrto-%v", arr.Type.Name()) + } case sys.BufferType: switch a.Kind { case sys.BufferBlob, sys.BufferFilesystem, sys.BufferAlgType, sys.BufferAlgName: @@ -207,6 +213,10 @@ func foreachArgType(meta *sys.Call, f func(sys.Type, ArgDir)) { for _, f := range a.Fields { rec(f, d) } + case sys.UnionType: + for _, opt := range a.Options { + rec(opt, d) + } case sys.ResourceType, sys.FileoffType, sys.BufferType, sys.VmaType, sys.LenType, sys.FlagsType, sys.ConstType, sys.StrConstType, sys.IntType, sys.FilenameType: |
