On Mon, Aug 15, 2016 at 10:51 AM, Tim Hockin <thoc...@google.com> wrote:
> OK, is there ANY heuristic I can rely on find the "real" call frame?

I don't know.  Sorry.  As I said earlier, I don't have a good answer here.

You should open an issue for this.  For some reason it has not been a
problem, perhaps because most code doesn't use the wrapper methods
much.  One reliable approach you could take would be to not call
runtime.Callers(1) from a value method or from a method in a type that
you embed into another type.  But I understand that that is not a
satisfactory answer.

Ian


> On Mon, Aug 15, 2016 at 10:17 AM, Ian Lance Taylor <i...@golang.org> wrote:
>> On Sun, Aug 14, 2016 at 10:07 PM, Tim Hockin <thoc...@google.com> wrote:
>>> Can I rely on "<autogenerated>" not changing?
>>
>> I'm sorry, that's a hard question to answer, because other compilers
>> do not use that string.
>>
>> There are no plans to change that string for the gc toolchain.
>>
>> Ian
>>
>>> On Sun, Aug 14, 2016 at 9:55 PM, Ian Lance Taylor <i...@golang.org> wrote:
>>>> On Sun, Aug 14, 2016 at 9:41 PM, Tim Hockin <thoc...@google.com> wrote:
>>>>> On Sun, Aug 14, 2016 at 8:31 PM, Ian Lance Taylor <i...@golang.org> wrote:
>>>>>> On Sun, Aug 14, 2016 at 3:33 PM, Tim Hockin <thoc...@google.com> wrote:
>>>>>>> Edit:  It looks like this has more to do with being an interface
>>>>>>> method than an embedded type.
>>>>>>>
>>>>>>> https://play.golang.org/p/I5XPdWR_O0
>>>>>>
>>>>>> Hmmm, you're right.  It only happens for a value method.
>>>>>
>>>>> Is this likely to change? I.e. can I hardcode "2" or should I actually
>>>>> write the loop to climb frames?  Is there a limit to the number of
>>>>> frames I should inspect before I give up?  Is the string
>>>>> "<autogenerated>" stable?
>>>>
>>>> Well, unfortunately, it's different for different compilers.  I don't
>>>> have a good answer here.  Except to say that you should never need
>>>> more than 2 frames; it should never be the case that autogenerated
>>>> code calls autogenerated code.
>>>>
>>>> Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to