]> Cypherpunks repositories - gostls13.git/commit
go/doc: clean rewrite of go/doc internals
authorRobert Griesemer <gri@golang.org>
Wed, 25 Jan 2012 17:53:26 +0000 (09:53 -0800)
committerRobert Griesemer <gri@golang.org>
Wed, 25 Jan 2012 17:53:26 +0000 (09:53 -0800)
commit6d68be46dd37985d57eeec7d5191a6b9a719afa8
tree80e0fec5a017a17743513c7d15abe4c761611ded
parent6e3af46e7dbc74b44fa13ae0149bef4393efcacb
go/doc: clean rewrite of go/doc internals

The implementation is divided into 4 phases:
1) export filtering of an incoming AST if necessary (exports.go)
2) reading of a possibly filtered AST (reader.go: type reader)
3) method set computation (reader.go)
4) sorting and creation of final documentation (reader.go)

In contrast to the old implementation, the presentation data
(Names, Docs, Decls, etc.) are created immediately upon reading
the respective AST node. Also, all types are collected (embedded
or not) in a uniform way.

Once the entire AST has been processed, all methods and types
have been collected and the method sets for each type can be
computed (phase 3).

To produce the final documentation, the method sets and value
maps are sorted.

There are no API changes. Passes the existing test suite unchanged.

R=rsc, rogpeppe
CC=golang-dev
https://golang.org/cl/5554044
src/pkg/go/doc/doc.go
src/pkg/go/doc/exports.go
src/pkg/go/doc/reader.go
src/pkg/go/doc/testdata/e.0.golden [new file with mode: 0644]
src/pkg/go/doc/testdata/e.1.golden [new file with mode: 0644]
src/pkg/go/doc/testdata/e.go [new file with mode: 0644]