I'm not a fan of adding these to the language when stacks are almost
assuredly coming (time appears to be the limiting factor), and those
would address most things.

Apart from that, the binary AST proposal handles most things like line
mapping support (as a right-after-MVP thing), and it'd function much
like how Java bytecode supports location data inline as well.

https://github.com/binast/ecmascript-binary-ast

-----

Isiah Meadows
cont...@isiahmeadows.com
www.isiahmeadows.com

On Fri, Aug 24, 2018 at 1:59 PM Ranando King <king...@gmail.com> wrote:
>
> Realistically, the engine would give back file name and line number (and 
> hopefully character offset) of the code from the fully translated, fully 
> minified, actual logic that the engine loaded. Source maps could be used to 
> convert that obscure value back into actual original source code locations. 
> It would also be nice if there were a way to perform a lookup at runtime, a 
> function that takes a function and returns the internal Location object for 
> that function.
>
> On Fri, Aug 24, 2018 at 3:16 PM Aaron Gray <aaronngray.li...@gmail.com> wrote:
>>
>> Ideally at some point we won't be using transpilers anymore ;)
>>
>>
>> On Fri, 24 Aug 2018 at 19:37, Bob Myers <r...@gol.com> wrote:
>>>
>>> What does line number, or filename for that matter, mean when a file has 
>>> gone through one or more transpilation and/or minification passes?
>>> Is the notion that the first processor that touches the file would 
>>> substitute those values?
>>>
>>> Bob
>>>
>>>
>>> On Fri, Aug 24, 2018 at 11:34 PM Claude Pache <claude.pa...@gmail.com> 
>>> wrote:
>>>>
>>>>
>>>>
>>>> Le 24 août 2018 à 05:55, J Decker <d3c...@gmail.com> a écrit :
>>>>
>>>> On Thu, Aug 23, 2018 at 5:26 PM Aaron Gray <aaronngray.li...@gmail.com> 
>>>> wrote:
>>>>>
>>>>> I am debugging existing code that I have modularized, and am class'izing 
>>>>> that has unittests and it just would have been very useful to have this 
>>>>> facility.
>>>>
>>>> In a  browser, console.log is usually associated with the file and line 
>>>> number anyway; which includes using devtools with node.... but it would be 
>>>> handy for logging.  with V8 there is console.trace; which spits out the 
>>>> stack trace too... before I discovered that I did a logging function 
>>>> like...
>>>>
>>>> (from  
>>>> https://stackoverflow.com/questions/591857/how-can-i-get-a-javascript-stack-trace-when-i-throw-an-exception
>>>>  )
>>>> function stackTrace() { var err = new Error(); return err.stack; }  // 
>>>> parse stack to get frame-1 online
>>>>
>>>> // or maybe just frame-1...
>>>> function stackTrace() { var err = new Error(); return err.stack.split( 
>>>> "\n" )[1]; }
>>>>
>>>> ---
>>>> function stacktrace() {
>>>>   function st2(f) {
>>>>     return !f ? [] :
>>>>         st2(f.caller).concat([f.toString().split('(')[0].substring(9) + 
>>>> '(' + f.arguments.join(',') + ')']);
>>>>   }
>>>>   return st2(arguments.callee.caller);
>>>> }
>>>>
>>>>  EDIT 2 (2017) :
>>>>
>>>> In all modern browsers you can simply call: console.trace(); (MDN 
>>>> Reference)
>>>> ---
>>>>
>>>> Although I do still miss just being able to get __FILE__ and __LINE__
>>>>
>>>>
>>>>
>>>> See also:
>>>>
>>>> https://github.com/tc39/proposal-error-stacks
>>>>
>>>> If/when that proposal is implemented, you'll have a simple way to get a 
>>>> *structured* representation of the trace:
>>>>
>>>> ```js
>>>> System.getTrace(new Error)
>>>> ```
>>>>
>>>> from which you can much more easily extract line number, filename, etc.
>>>>
>>>> —Claude
>>>
>>> _______________________________________________
>>> es-discuss mailing list
>>> es-discuss@mozilla.org
>>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>>
>> --
>> Aaron Gray
>>
>> Independent Open Source Software Engineer, Computer Language Researcher, 
>> Information Theorist, and amateur computer scientist.
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss@mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to