tools/go/pointer/testdata
Alan Donovan 43c97eab79 go.tools/go/pointer: fix solver nontermination bug due to reflective type construction cycles.
Programs such as this cause the PtrTo solver to attempt to
enumerate an infinite set of types {T, *T, ..., *******T, etc}.

        t := reflect.TypeOf(T{})
        for {
                t = reflect.PtrTo(t)
        }

The fix is to bound the depth of reflectively created types at
about 4 map/chan/slice/pointer constructors.

+ test.

LGTM=gri
R=gri
CC=crawshaw, golang-codereviews
https://golang.org/cl/102030044
2014-05-30 16:27:51 -04:00
..
a_test.go go.tools/go/loader: permit Create* methods to specify the ad-hoc package's path 2014-01-22 09:59:19 -05:00
another.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
arrayreflect.go go.tools: fix various typos 2014-05-02 14:38:08 -07:00
arrays.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
channels.go go.tools/go/ssa: name anon funcs by their enclosing func. 2014-02-28 10:18:55 -05:00
chanreflect.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
chanreflect1.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
context.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
conv.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
finalizer.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
flow.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
fmtexcerpt.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
func.go go.tools/go/ssa: name anon funcs by their enclosing func. 2014-02-28 10:18:55 -05:00
funcreflect.go go.tools/pointer: implement (*reflect.rtype).MethodByName for abstract methods. 2014-02-12 12:45:55 -05:00
hello.go go.tools: fix various typos 2014-05-02 14:38:08 -07:00
interfaces.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
mapreflect.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
maps.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
panic.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
recur.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
reflect.go go.tools/go/pointer: fix solver nontermination bug due to reflective type construction cycles. 2014-05-30 16:27:51 -04:00
rtti.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
structreflect.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00
structs.go go.tools: rename packages. 2014-01-16 09:33:58 -05:00