aboutsummaryrefslogtreecommitdiffstats
path: root/prog/encoding.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-05-01 13:05:28 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-05-01 13:31:17 +0200
commitbc734e7ada413654f1b7d948b2a857260a52dd9c (patch)
treed57850becd293255b0f59d7225827f5af2154a1f /prog/encoding.go
parent43dc635b4f46cdebced3702b6c5a4f935e8c3643 (diff)
prog: rename {PtrType,ArrayType}.Type to Elem
Name "Type" is confusing when referring to pointer/array element type. Frequently there are too many Type/typ/typ1/t and typ.Type is not very informative. It _is_ a type, but what's usually more relevant is that it's an _element_ type. Let's leave type checking to compiler and give it a more meaningful name.
Diffstat (limited to 'prog/encoding.go')
-rw-r--r--prog/encoding.go19
1 files changed, 9 insertions, 10 deletions
diff --git a/prog/encoding.go b/prog/encoding.go
index c7f8ba56a..38935b302 100644
--- a/prog/encoding.go
+++ b/prog/encoding.go
@@ -451,12 +451,11 @@ func (p *parser) parseArgRes(typ Type, dir Dir) (Arg, error) {
}
func (p *parser) parseArgAddr(typ Type, dir Dir) (Arg, error) {
- var typ1 Type
+ var elem Type
elemDir := DirInOut
switch t1 := typ.(type) {
case *PtrType:
- typ1 = t1.Type
- elemDir = t1.ElemDir
+ elem, elemDir = t1.Elem, t1.ElemDir
case *VmaType:
default:
p.eatExcessive(true, "wrong addr arg")
@@ -470,7 +469,7 @@ func (p *parser) parseArgAddr(typ Type, dir Dir) (Arg, error) {
p.Parse('U')
p.Parse('T')
p.Parse('O')
- if typ1 == nil {
+ if elem == nil {
return nil, fmt.Errorf("vma type can't be AUTO")
}
auto = true
@@ -490,15 +489,15 @@ func (p *parser) parseArgAddr(typ Type, dir Dir) (Arg, error) {
p.Parse('Y')
p.Parse('=')
anyPtr := p.target.makeAnyPtrType(typ.Size(), typ.FieldName())
- typ, typ1, elemDir = anyPtr, anyPtr.Type, anyPtr.ElemDir
+ typ, elem, elemDir = anyPtr, anyPtr.Elem, anyPtr.ElemDir
}
var err error
- inner, err = p.parseArg(typ1, elemDir)
+ inner, err = p.parseArg(elem, elemDir)
if err != nil {
return nil, err
}
}
- if typ1 == nil {
+ if elem == nil {
if addr%p.target.PageSize != 0 {
p.strictFailf("unaligned vma address 0x%x", addr)
addr &= ^(p.target.PageSize - 1)
@@ -506,7 +505,7 @@ func (p *parser) parseArgAddr(typ Type, dir Dir) (Arg, error) {
return MakeVmaPointerArg(typ, dir, addr, vmaSize), nil
}
if inner == nil {
- inner = typ1.DefaultArg(elemDir)
+ inner = elem.DefaultArg(elemDir)
}
arg := MakePointerArg(typ, dir, addr, inner)
if auto {
@@ -618,7 +617,7 @@ func (p *parser) parseArgArray(typ Type, dir Dir) (Arg, error) {
}
var inner []Arg
for i := 0; p.Char() != ']'; i++ {
- arg, err := p.parseArg(t1.Type, dir)
+ arg, err := p.parseArg(t1.Elem, dir)
if err != nil {
return nil, err
}
@@ -631,7 +630,7 @@ func (p *parser) parseArgArray(typ Type, dir Dir) (Arg, error) {
if t1.Kind == ArrayRangeLen && t1.RangeBegin == t1.RangeEnd {
for uint64(len(inner)) < t1.RangeBegin {
p.strictFailf("missing array elements")
- inner = append(inner, t1.Type.DefaultArg(dir))
+ inner = append(inner, t1.Elem.DefaultArg(dir))
}
inner = inner[:t1.RangeBegin]
}