If you have analyzed AX traces in the Trace Parser, you most likely came across something like this during your efforts:
First time I saw it, I was puzzled – an object named “NULL” with a method named “inner”, I’ve never heard of that before – what is it? I started asking around, no one seemed to know. Bing didn’t help me either. I did a search in our source files, it gave me more hits than I wanted to explorer. About to give up, it struck me, that the name is not too bad for a method that doesn’t exists on an object and is inside the caller.
So the answer is simple and straight forward. “NULL::inner” is used for all embedded methods in X++ when shown in the trace parser. Navigating to the caller in the Trace Parser also clearly shows that an embedded method exists (with the name “doEscape()”).
As a side note, I can mention that the Call Stack window in the X++ Debugger doesn’t include embedded methods.