1
0
mirror of https://github.com/golang/go synced 2024-11-19 02:34:44 -07:00
go/pointer/testdata
Alan Donovan 8bb20b8231 go.tools/pointer: more reflection.
Support for:
        (*reflect.rtype).Field
        (*reflect.rtype).FieldByName
        reflect.MakeSlice
        runtime.SetFinalizer

Details:
- analysis locates ssa.Functions for (reflect.Value).Call
  and runtime.SetFinalizer during startup to that it can
  special-case them during genCall.  ('Call' is forthcoming.)
- The callsite.targets mechanism is only used for dynamic
  calls now.  For static calls we call callEdge during constraint
  generation; this is a minor optimisation.
- Static calls to SetFinalizer are inlined so that the call
  appears to go direct to the finalizer.  (We'll use the same
  trick for (reflect.Value).Call.)
- runtime.FuncForPC: treat as a no-op.
- Fixed pointer_test to properly deal with expectations
  that are multi-sets.
- Inlined rtypeMethodByNameConstraint.addMethod.
- More tests.

R=crawshaw
CC=golang-dev
https://golang.org/cl/14682045
2013-10-17 09:26:44 -04:00
..
a_test.go go.tools/pointer: inclusion-based pointer analysis for Go. 2013-08-22 12:27:55 -04:00
another.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
arrayreflect.go go.tools/pointer: more reflection. 2013-10-17 09:26:44 -04:00
arrays.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
channels.go go.tools/ssa: fix bad type info in 'for _ = range channel'. 2013-08-27 11:18:31 -04:00
chanreflect1.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
chanreflect.go go.tools/pointer: make sole callsite available to intrinsics in non-shared contours. 2013-10-09 12:41:55 -04:00
context.go go.tools/pointer: inclusion-based pointer analysis for Go. 2013-08-22 12:27:55 -04:00
conv.go go.tools/pointer: inclusion-based pointer analysis for Go. 2013-08-22 12:27:55 -04:00
finalizer.go go.tools/pointer: more reflection. 2013-10-17 09:26:44 -04:00
flow.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
fmtexcerpt.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
func.go go.tools/pointer: fix pointer tests (fix build partly) 2013-09-18 11:37:26 -07:00
funcreflect.go go.tools/pointer: support reflect.Method{,ByName}. 2013-10-09 16:35:59 -04:00
hello.go go.tools/pointer: make os.Args point to something. 2013-10-01 09:46:33 -04:00
interfaces.go go.tools/pointer: fix pointer tests (fix build partly) 2013-09-18 11:37:26 -07:00
mapreflect.go go.tools/pointer: use assignable not identical type predicate in reflect.{Send,SetMapIndex,etc} 2013-10-14 13:53:41 -04:00
maps.go go.tools/pointer: fix pointer tests (fix build partly) 2013-09-18 11:37:26 -07:00
panic.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00
recur.go go.tools/pointer: inclusion-based pointer analysis for Go. 2013-08-22 12:27:55 -04:00
reflect.go go.tools/pointer: more reflection. 2013-10-17 09:26:44 -04:00
structreflect.go go.tools/pointer: more reflection. 2013-10-17 09:26:44 -04:00
structs.go go.tools/pointer: reflection, part 1: maps, and some core features. 2013-09-16 09:49:10 -04:00