/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue21879.go
37 строк
658 B
Matthew Dempsky
cmd/compile: fix stack frame info for calls in receiver slot
19 сен 2017, 21:35
19 сен 2017, 21:35
7c8a961
Код
Авторство
О чём код?
// run // Copyright 2017 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import ( "runtime" ) func main() { println(caller().frame.Function) // Used to erroneously print "main.call.name" instead of // "main.main". println(caller().name()) } func caller() call { var pcs [3]uintptr n := runtime.Callers(1, pcs[:]) frames := runtime.CallersFrames(pcs[:n]) frame, _ := frames.Next() frame, _ = frames.Next() return call{frame: frame} } type call struct { frame runtime.Frame } func (c call) name() string { return c.frame.Function }