Commit 947b6a7e authored by Austin Clements's avatar Austin Clements

debug/dwarf: add Entry.AttrField method to get *Field by Attr

Currently, Entry has a Val method that looks up an attribute and
returns its value. Now that Field has more fields than the attribute
and its value, it's useful to return the whole Field and let the
caller retrieve the parts it needs.

This change adds an AttrField method to Entry that does the same
lookup at Val, but returns the whole *Field rather than just the
value.

Change-Id: Ic629744c14c0e09d7528fa1026b0e1857789948c
Reviewed-on: https://go-review.googlesource.com/8503Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
parent d7d13373
......@@ -335,9 +335,18 @@ func (i Class) GoString() string {
// v, ok := e.Val(AttrSibling).(int64)
//
func (e *Entry) Val(a Attr) interface{} {
for _, f := range e.Field {
if f := e.AttrField(a); f != nil {
return f.Val
}
return nil
}
// AttrField returns the Field associated with attribute Attr in
// Entry, or nil if there is no such attribute.
func (e *Entry) AttrField(a Attr) *Field {
for i, f := range e.Field {
if f.Attr == a {
return f.Val
return &e.Field[i]
}
}
return nil
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment