• Robert Griesemer's avatar
    go/types: use check.lookup consistently where possible (cleanup) · caf96f7d
    Robert Griesemer authored
    This CL converts the last call to scope.LookupParent with no position
    information to a check.lookup call that respects position information
    provided by Eval (there's one more LookupParent call that cannot be
    converted, see the respective comment in the code).
    
    In this case, the lookup is needed to determine the variable on the
    LHS of an assignment, for adjustment of its `used` information.
    
    Outside a types.Eval call, i.e., during normal type-checking, there
    is no difference between this new code and the old code.
    
    While in a types.Eval call, it's important to use the correct position
    to look up the relevant variable. If token.NoPos were used, one might
    find another variable with the same name, declared later in the scope.
    
    Caveat: Types.Eval only accepts expressions, and it's currently not
    possible to evaluate assignments (except via function literals, but
    then the scope is different). That is, this change is a fix for a
    potential future bug, and for now a no-op.
    
    Change-Id: I28db1fe1202c07e3f7b3fadfd185728afb9b2ae7
    Reviewed-on: https://go-review.googlesource.com/85199Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
    caf96f7d
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
VERSION Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...