go/test
Robert Griesemer 5a9ad8b9e3 go/ast: use token.Pos instead of token.Position; adjust all dependent code
Specifically:

	* lib/godoc:
	- provide file set (FSet) argument to formatters where needed

	* src/cmd:
	- cgo, ebnflint, godoc, gofmt, goinstall: provide file set (fset) where needed
	- godoc: remove local binary search with sort.Search (change by rsc),
	  extract file set for formatters

	* src/pkg:
	- exp/eval: remove embedded token.Position fields from nodes and replace
	  with named token.Pos fields; add corresponding Pos() accessor methods
	- go/token: added file.Line(), changed signature of File.Position()

	* test/fixedbugs/:
	- bug206.go: change test to not rely on token.Pos details

	* added various extra comments
	* Runs all.bash
	* gofmt formats all of src, misc w/o changes
	* godoc runs

	* performance:
	- The new version of godoc consumes about the same space after indexing
	  has completed, but indexing is half the speed. Significant space savings
	  are expected from smaller ASTs, but since they are thrown away after a
	  file has been indexed, this is not visible anymore. The slower indexing
	  time is due to the much more expensive computation of line information.
	  However, with the new compressed position information, indexing can be
	  rewritten and simplified. Furthermore, computing the line info can be
	  done more efficiently.

        New godoc, immediately after indexing completed (best of three runs):

	  PID COMMAND      %CPU   TIME   #TH #PRTS #MREGS RPRVT  RSHRD  RSIZE  VSIZE
	44381 godoc        0.0%  0:38.00   4    19    149  145M   184K   148M   176M

	2010/12/03 17:58:35 index updated (39.231s, 18505 unique words, 386387 spots)
	2010/12/03 17:58:35 bytes=90858456 footprint=199182584
	2010/12/03 17:58:36 bytes=47858568 footprint=167295224

	Old godoc, immediately after indexing completed (best of three runs):

	  PID COMMAND      %CPU   TIME   #TH #PRTS #MREGS RPRVT  RSHRD  RSIZE  VSIZE
	23167 godoc        0.0%  0:22.02   4    17    132  129M   184K   132M   173M

	2010/12/03 14:51:32 index updated (24.892s, 18765 unique words, 393830 spots)
	2010/12/03 14:51:32 bytes=66404528 footprint=163907832
	2010/12/03 14:51:32 bytes=46282224 footprint=163907832

	The different numbers for unique words/spots stem from the fact the the
	two workspaces are not exactly identical. The new godoc maintains a large
	file set data structure during indexing which (probably) is the reason
	for the larger heap (90858456 vs 66404528) before garbage collection.

R=rsc, r
CC=golang-dev
https://golang.org/cl/3050041
2010-12-06 14:23:18 -08:00
..
bench Removed bytes.Add and bytes.AddByte; we now have 'append'. 2010-12-01 11:59:13 -08:00
bugs fix build 2010-09-15 17:00:00 -07:00
chan gc: allow select case expr = <-c 2010-09-27 12:04:21 -04:00
fixedbugs go/ast: use token.Pos instead of token.Position; adjust all dependent code 2010-12-06 14:23:18 -08:00
garbage test/garbage/parser: sync with recent parser changes 2010-09-07 09:55:05 -04:00
interface gc, spec, tests: no auto-indirect of pointer to interface value 2010-09-30 14:59:41 -04:00
ken test/ken/convert.go: add conversion torture test 2010-11-01 17:49:06 -07:00
nilptr test: remove semiocolons. 2010-09-04 10:36:13 +10:00
syntax test: Match gccgo error messages. 2010-09-10 12:44:07 -07:00
64bit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
235.go single argument panic 2010-03-30 10:34:57 -07:00
append.go test for append() built-in 2010-10-28 08:14:31 -07:00
args.go move things out of sys into os and runtime 2009-05-08 15:21:41 -07:00
assign1.go test: Match gccgo error messages. 2010-09-10 19:12:10 -07:00
assign.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
bigalg.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
bigmap.go runtime: allow large map values 2010-05-19 12:57:47 -07:00
blank1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
blank.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
chancap.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
char_lit1.go test: Match gccgo error messages. 2010-08-31 11:43:52 -07:00
char_lit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
closedchan.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
closure.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
cmp1.go gc: implement new comparison rule 2010-09-13 15:42:47 -04:00
cmp2.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
cmp3.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
cmp4.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
cmp5.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
cmp6.go gc: implement new comparison rule 2010-09-13 15:42:47 -04:00
cmplx.go gc: cmplx typecheck bug fix 2010-04-19 09:21:51 -07:00
cmplxdivide1.go test: override gcc bug when preparing complex divide tables 2010-06-30 23:34:27 -07:00
cmplxdivide.c test: override gcc bug when preparing complex divide tables 2010-06-30 23:34:27 -07:00
cmplxdivide.go more soft float support. passes several basic tests 2010-07-20 15:53:16 +03:00
complit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
compos.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
const1.go gc: const nil bug 2010-09-11 15:47:56 -04:00
const2.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
const3.go fmt.Print*: reimplement to switch on type first. 2010-06-14 17:16:35 -07:00
const.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
convert3.go test: don't assign address of array to slice. 2010-08-31 07:34:01 -07:00
convert.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
convlit1.go more 6g reorg; checkpoint. 2009-08-03 11:58:52 -07:00
convlit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
copy.go test copy([]byte, string) 2010-10-26 08:36:23 -07:00
ddd1.go gc: ... changes 2010-09-24 11:55:30 -04:00
ddd2.go gc: add ... T, rework plain ... 2010-02-01 00:25:59 -08:00
ddd3.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
ddd.go gc: ... bug 2010-10-06 11:12:30 -04:00
decl.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
declbad.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
defer.go ... changes 2010-09-24 11:55:48 -04:00
deferprint.go gc: implement defer print/println/panic/panicln 2010-01-27 15:37:08 -08:00
empty.go test of new empty productions 2008-10-08 15:33:18 -07:00
env.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
eof1.go gc: line comments may end in EOF 2010-11-04 16:04:04 -04:00
eof.go gc: insert semicolon at EOF if needed 2010-09-28 10:35:02 -04:00
errchk fix build 2010-09-15 17:00:00 -07:00
escape.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
float_lit.go arm: enable all tests 2010-10-25 21:25:13 -07:00
floatcmp.go more soft float support. passes several basic tests 2010-07-20 15:53:16 +03:00
for.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func2.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func3.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func4.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func5.go single argument panic 2010-03-30 10:34:57 -07:00
func.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
gc1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
gc.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
golden.out fix build 2010-09-15 17:00:00 -07:00
hashmap.go gc, spec, tests: no auto-indirect of pointer to interface value 2010-09-30 14:59:41 -04:00
helloworld.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
if1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
if.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
import1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
import2.go gc: fix chan <- chan precedence. 2010-01-26 10:40:28 -08:00
import3.go gc: fix chan <- chan precedence. 2010-01-26 10:40:28 -08:00
import4.go gc: fix imported and not used message - show path 2010-03-03 17:23:47 -08:00
import.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
index.go test: fix NaCl build 2010-09-19 23:28:32 -04:00
indirect1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
indirect.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
initcomma.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
initialize.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
initializerr.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
initsyscall.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
int_lit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
intcvt.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
iota.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
literal.go arm: enable all tests 2010-10-25 21:25:13 -07:00
malloc1.go finalizers; merge package malloc into package runtime 2010-02-03 16:31:34 -08:00
mallocfin.go single argument panic 2010-03-30 10:34:57 -07:00
mallocrand.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
mallocrep1.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
mallocrep.go test: Run garbage collector before testing malloc numbers. 2010-09-10 15:54:16 -07:00
map.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
method1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
method2.go gc, spec, tests: no auto-indirect of pointer to interface value 2010-09-30 14:59:41 -04:00
method3.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
method.go gc, spec, tests: no auto-indirect of pointer to interface value 2010-09-30 14:59:41 -04:00
named1.go test: Match gccgo error messages. 2010-09-08 21:03:51 -07:00
named.go gc: new typechecking rules 2010-06-08 18:50:02 -07:00
nil.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
nul1.go test: Match gccgo error messages. 2010-09-09 09:00:32 -07:00
parentype.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
peano.go test/peano: use directly recursive type def 2010-08-06 15:07:54 -07:00
printbig.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
range.go gc: implement new len spec, range bug fix, optimization 2010-07-01 18:04:25 -07:00
recover1.go test for panic and recover 2010-03-31 11:47:09 -07:00
recover2.go arm: enable all tests 2010-10-25 21:25:13 -07:00
recover3.go arm: enable all tests 2010-10-25 21:25:13 -07:00
recover.go runtime: turn run time errors checks into panics 2010-04-01 22:31:27 -07:00
rename1.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
rename.go delete all uses of panicln by rewriting them using panic or, 2010-03-24 16:46:53 -07:00
run arm: enable all tests 2010-10-25 21:25:13 -07:00
runtime.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
sieve.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
sigchld.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
simassign.go single argument panic 2010-03-30 10:34:57 -07:00
sinit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
solitaire.go solitaire: an exercise in backtracking and string conversions 2010-09-03 10:52:45 -07:00
stack.go runtime: closures, defer bug fix for Native Client 2010-04-22 17:52:22 -07:00
string_lit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
stringrange.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
switch1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
switch.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
test0.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
turing.go test/turing: refactor 2010-09-04 10:40:00 +10:00
typeswitch1.go single argument panic 2010-03-30 10:34:57 -07:00
typeswitch2.go runtime, type switch: eliminate package global name space assumption 2010-01-25 18:23:20 -08:00
typeswitch.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
undef.go test: Match gccgo error messages. 2010-09-10 12:44:37 -07:00
utf.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
varerr.go test: Match gccgo error messages. 2010-09-10 12:45:46 -07:00
varinit.go single argument panic 2010-03-30 10:34:57 -07:00
vectors.go single argument panic 2010-03-30 10:34:57 -07:00
zerodivide.go test: Make gccgo believe that the variables can change. 2010-09-11 22:51:05 -07:00