Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(659)

Issue 7096048: code review 7096048: go/types: Moving from *ast.Objects to types.Objects (st... (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 3 months ago by gri
Modified:
11 years, 3 months ago
Reviewers:
CC:
adonovan, golang-dev
Visibility:
Public.

Description

go/types: Moving from *ast.Objects to types.Objects (step 2). Completely removed *ast.Objects from being exposed by the types API. *ast.Objects are still required internally for resolution, but now the door is open for an internal-only rewrite of identifier resolution entirely at type-check time. Once that is done, ASTs can be type-checked whether they have been created via the go/parser or otherwise, and type-checking does not require *ast.Object or scope invariants to be maintained externally.

Patch Set 1 #

Patch Set 2 : diff -r 7f64e8e05ede https://code.google.com/p/go #

Patch Set 3 : diff -r 7f64e8e05ede https://code.google.com/p/go #

Patch Set 4 : diff -r 7f64e8e05ede https://code.google.com/p/go #

Patch Set 5 : diff -r 5ed75df2468c https://code.google.com/p/go/ #

Patch Set 6 : diff -r 5ed75df2468c https://code.google.com/p/go/ #

Patch Set 7 : diff -r 5ed75df2468c https://code.google.com/p/go/ #

Patch Set 8 : diff -r 5ed75df2468c https://code.google.com/p/go/ #

Patch Set 9 : diff -r 5ed75df2468c https://code.google.com/p/go/ #

Patch Set 10 : diff -r 5ed75df2468c https://code.google.com/p/go/ #

Patch Set 11 : diff -r 5ed75df2468c https://code.google.com/p/go/ #

Patch Set 12 : diff -r 5ed75df2468c https://code.google.com/p/go/ #

Patch Set 13 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 14 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 15 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 16 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 17 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 18 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 19 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 20 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 21 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 22 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 23 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 24 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 25 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 26 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 27 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 28 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 29 : diff -r c53ac9baac67 https://code.google.com/p/go #

Patch Set 30 : diff -r c53ac9baac67 https://code.google.com/p/go #

Unified diffs Side-by-side diffs Delta from patch set Stats (+631 lines, -543 lines) Patch
M src/pkg/exp/gotype/gotype.go View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/go/types/api.go View 1 1 chunk +2 lines, -2 lines 0 comments Download
M src/pkg/go/types/builtins.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/go/types/check.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 12 chunks +182 lines, -156 lines 0 comments Download
M src/pkg/go/types/check_test.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -2 lines 0 comments Download
M src/pkg/go/types/errors.go View 1 2 2 chunks +2 lines, -12 lines 0 comments Download
M src/pkg/go/types/expr.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10 chunks +33 lines, -45 lines 0 comments Download
M src/pkg/go/types/gcimporter.go View 1 1 chunk +4 lines, -3 lines 0 comments Download
M src/pkg/go/types/objects.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 chunks +94 lines, -60 lines 0 comments Download
M src/pkg/go/types/operand.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +0 lines, -6 lines 0 comments Download
M src/pkg/go/types/predicates.go View 1 2 1 chunk +1 line, -8 lines 0 comments Download
M src/pkg/go/types/resolve.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 6 chunks +59 lines, -31 lines 0 comments Download
M src/pkg/go/types/resolver_test.go View 1 2 3 4 5 6 7 2 chunks +48 lines, -44 lines 0 comments Download
A src/pkg/go/types/scope.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +59 lines, -0 lines 0 comments Download
M src/pkg/go/types/stmt.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 13 chunks +45 lines, -32 lines 0 comments Download
M src/pkg/go/types/testdata/decls2a.src View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/go/types/types.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 chunks +15 lines, -22 lines 0 comments Download
M src/pkg/go/types/types_test.go View 1 2 chunks +4 lines, -4 lines 0 comments Download
M src/pkg/go/types/universe.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +78 lines, -113 lines 0 comments Download

Messages

Total messages: 3
gri
Hello adonovan@google.com (cc: golang-dev@googlegroups.com), I'd like you to review this change to https://code.google.com/p/go
11 years, 3 months ago (2013-01-13 00:42:21 UTC) #1
adonovan
LGTM API changes look good (but there goes my Monday). The code changes seem reasonable ...
11 years, 3 months ago (2013-01-13 03:16:18 UTC) #2
gri
11 years, 3 months ago (2013-01-13 18:33:34 UTC) #3
*** Submitted as https://code.google.com/p/go/source/detail?r=760f1daa6700 ***

go/types: Moving from *ast.Objects to types.Objects (step 2).

Completely removed *ast.Objects from being exposed by the
types API. *ast.Objects are still required internally for
resolution, but now the door is open for an internal-only
rewrite of identifier resolution entirely at type-check
time. Once that is done, ASTs can be type-checked whether
they have been created via the go/parser or otherwise,
and type-checking does not require *ast.Object or scope
invariants to be maintained externally.

R=adonovan
CC=golang-dev
https://codereview.appspot.com/7096048
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b