resolveSimpleIdent determines the resolved attribute for a single identifier.
(name string)
| 150 | |
| 151 | // resolveSimpleIdent determines the resolved attribute for a single identifier. |
| 152 | func (e *Env) resolveSimpleIdent(name string) *attributeResolution { |
| 153 | local := e.lookupLocalIdent(name) |
| 154 | if local != nil && !strings.HasPrefix(name, ".") { |
| 155 | return newAttrResolution(local, false) |
| 156 | } |
| 157 | for _, candidate := range e.container.ResolveCandidateNames(name) { |
| 158 | if ident := e.lookupGlobalIdent(candidate); ident != nil { |
| 159 | return newAttrResolution(ident, local != nil) |
| 160 | } |
| 161 | } |
| 162 | return nil |
| 163 | } |
| 164 | |
| 165 | // resolveQualifiedIdent determines the resolved attribute for a qualified identifier. |
| 166 | func (e *Env) resolveQualifiedIdent(qualifiers ...string) *attributeResolution { |
no test coverage detected