mirror of
https://github.com/golang/go
synced 2024-11-19 03:54:42 -07:00
8cdf1f1cb1
Extracted Builder.findMethod function to handle methodset/receiver logic common to function calls (Builder.setCall) and bound method closure creation (Builder.selector). Capture: added explicit Name, Type fields to Capture instead of relying on Outer field, which is now un-exported since its only purpose is to let Builder.expr(case *ast.FuncLit) know which values to put in the closure; it is nilled immediately after. Simplified Function.lookup() logic: there's no need to walk the Outer chain each time to set Alloc.Heap=true, as it's already set during creation of the outermost Capture{outer:*Alloc}. Added interp/testdata/boundmeth.go test. Cosmetic changes: - add support for bound method thunks to Function.FullName(). - Simplified {Literal,Global,Builtin,Function}.String() - doc: Captures are no longer necessarily addresses. - added yet another missing pair of "()" (go/types accessors). - print "Synthetic" not "Declared at -" for synthetic functions. - use '$' not center-dot in synthetic identifiers (easier to type). R=gri CC=golang-dev https://golang.org/cl/9654043 |
||
---|---|---|
.. | ||
boundmeth.go | ||
coverage.go | ||
mrvchain.go |