• 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
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
context Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
plugin Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor/golang_org/x Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
cmp.bash Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
naclmake.bash Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...