• Matthew Dempsky's avatar
    cmd/compile: allow := to shadow dot-imported names · f22ef702
    Matthew Dempsky authored
    Historically, gc optimistically parsed the left-hand side of
    assignments as expressions. Later, if it discovered a ":=" assignment,
    it rewrote the parsed expressions as declarations.
    
    This failed in the presence of dot imports though, because we lost
    information about whether an imported object was named via a bare
    identifier "Foo" or a normal qualified "pkg.Foo".
    
    This CL fixes the issue by specially noding the left-hand side of ":="
    assignments.
    
    Fixes #22076.
    
    Change-Id: I18190ecdb863112e7d009e1687e6112eec559921
    Reviewed-on: https://go-review.googlesource.com/66810
    Run-TryBot: Matthew Dempsky <mdempsky@google.com>
    Reviewed-by: 's avatarDaniel Martí <mvdan@mvdan.cc>
    Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    f22ef702
Name
Last commit
Last update
..
builtin Loading commit data...
testdata Loading commit data...
alg.go Loading commit data...
align.go Loading commit data...
asm_test.go Loading commit data...
bexport.go Loading commit data...
bimport.go Loading commit data...
bitset.go Loading commit data...
bootstrap.go Loading commit data...
builtin.go Loading commit data...
builtin_test.go Loading commit data...
bv.go Loading commit data...
class_string.go Loading commit data...
closure.go Loading commit data...
const.go Loading commit data...
constFold_test.go Loading commit data...
dcl.go Loading commit data...
esc.go Loading commit data...
export.go Loading commit data...
fixedbugs_test.go Loading commit data...
float_test.go Loading commit data...
fmt.go Loading commit data...
gen.go Loading commit data...
global_test.go Loading commit data...
go.go Loading commit data...
gsubr.go Loading commit data...
iface_test.go Loading commit data...
init.go Loading commit data...
inl.go Loading commit data...
inl_test.go Loading commit data...
lex.go Loading commit data...
lex_test.go Loading commit data...
logic_test.go Loading commit data...
main.go Loading commit data...
mkbuiltin.go Loading commit data...
mpfloat.go Loading commit data...
mpint.go Loading commit data...
noder.go Loading commit data...
norace.go Loading commit data...
obj.go Loading commit data...
opnames.go Loading commit data...
order.go Loading commit data...
pgen.go Loading commit data...
pgen_test.go Loading commit data...
phi.go Loading commit data...
plive.go Loading commit data...
pprof.go Loading commit data...
race.go Loading commit data...
racewalk.go Loading commit data...
range.go Loading commit data...
reflect.go Loading commit data...
reflect_test.go Loading commit data...
reproduciblebuilds_test.go Loading commit data...
scope.go Loading commit data...
scope_test.go Loading commit data...
select.go Loading commit data...
shift_test.go Loading commit data...
sinit.go Loading commit data...
sizeof_test.go Loading commit data...
ssa.go Loading commit data...
ssa_test.go Loading commit data...
subr.go Loading commit data...
swt.go Loading commit data...
swt_test.go Loading commit data...
syntax.go Loading commit data...
timings.go Loading commit data...
trace.go Loading commit data...
truncconst_test.go Loading commit data...
typecheck.go Loading commit data...
types.go Loading commit data...
types_acc.go Loading commit data...
universe.go Loading commit data...
unsafe.go Loading commit data...
util.go Loading commit data...
walk.go Loading commit data...