]> Cypherpunks repositories - gostls13.git/commit
exp/types/staging: filling in more blanks
authorRobert Griesemer <gri@golang.org>
Thu, 1 Nov 2012 18:23:27 +0000 (11:23 -0700)
committerRobert Griesemer <gri@golang.org>
Thu, 1 Nov 2012 18:23:27 +0000 (11:23 -0700)
commit5d15963a1fff87c94b5fe4e5e9de814c126096ca
tree3b10b53f597d60d6e6d8fa1a62d664340476f2b2
parent3b04d23cbfdb1c6a868d4ca4f264a8136376bf13
exp/types/staging: filling in more blanks

- simplified assignment checking by removing duplicate code
- implemented field lookup (methods, structs, embedded fields)
- importing methods (not just parsing them)
- type-checking functions and methods
- typechecking more statements (inc/dec, select, return)
- tracing support for easier debugging
- handling nil more correctly (comparisons)
- initial support for [...]T{} arrays
- initial support for method expressions
- lots of bug fixes

All packages under pkg/go as well as pkg/exp/types typecheck
now with pkg/exp/gotype applied to them; i.e., a significant
amount of typechecking works now (several statements are not
implemented yet, but handling statements is almost trivial in
comparison with typechecking expressions).

R=rsc
CC=golang-dev
https://golang.org/cl/6768063
20 files changed:
src/pkg/exp/types/exportdata.go
src/pkg/exp/types/staging/builtins.go
src/pkg/exp/types/staging/check.go
src/pkg/exp/types/staging/const.go
src/pkg/exp/types/staging/conversions.go
src/pkg/exp/types/staging/errors.go
src/pkg/exp/types/staging/exportdata.go
src/pkg/exp/types/staging/expr.go
src/pkg/exp/types/staging/gcimporter.go
src/pkg/exp/types/staging/operand.go
src/pkg/exp/types/staging/predicates.go
src/pkg/exp/types/staging/stmt.go
src/pkg/exp/types/staging/testdata/const0.src
src/pkg/exp/types/staging/testdata/decls2b.src
src/pkg/exp/types/staging/testdata/expr0.src
src/pkg/exp/types/staging/testdata/expr2.src
src/pkg/exp/types/staging/testdata/expr3.src
src/pkg/exp/types/staging/testdata/stmt0.src
src/pkg/exp/types/staging/types.go
src/pkg/exp/types/staging/types_test.go