Coincidently (!!!), I recently opened a feature request in WebKit on this topic, kind of:

        https://bugs.webkit.org/show_bug.cgi?id=30933

Not sure I'll have time to do anything about it, and surely won't without some kind of real framework helping out to add support on their end ...

BTW, I thought JavaScript was the new assembler, not the new C.

On Nov 4, 2009, at 3:04 PM, P T Withington wrote:

Sure would be nifty to have #file and #line directives, now that Javascript is the new C.

FWIW, OpenLaszlo generates annotations like so:

Filename, line, column:

/* -*- file: lpp-8534.lzx#10.7 -*- */

Same file, but line numbering needs to be reset (because output has more or less lines corresponding to source):

/* -*- file: #15 -*- */

No corresponding source file (i.e., generated code follows):

/* -*- file: -*- */

I can see merits to one gigantic comment up front with a mapping table ala Caja, but we found interspersing them worked better for humans staring at Javascript "assembly" in a Javascript debugger.

IWBNI @sourceurl could be expanded in some form to work with loaded files...

On 2009-11-04, at 14:39, Patrick Mueller wrote:

Coincidently, I posted a blog entry on SyntaxError and eval() yesterday:

        http://pmuellr.blogspot.com/2009/11/evil-eval.html

On Nov 4, 2009, at 11:10 AM, Kevin Curtis wrote:

This has probably been chewed over but -

The ES5 spec defines 'name' and 'message' as properties of the Error -
and ReferenceError, SyntaxError etc - objects.

Currently engines have useful additional non-standard properties:
Mozilla - fileName, lineNumber and stack.
V8 - stack (and type, arguments). (The string returned by 'stack' is
not in the same format as Mozilla).
JSC - line, sourceId, sourceURL, expressionBeginOffset,
expressionCaretOffset ,expressionEndOffset - and a few others for
Statement errors.


Any chance for ES6 on standardizing Error object property/ies which
report back the error location.

Maybe a property 'location' on the Error object which returns an object. e.g
e.location ->
{fileName:<filename>, pos: <character posNumber>, line:<lineNumber> ,
lineEnd:<lineNumber>, col:<colNumber> , colEnd:<colNumber>, stack:
<stackString>}

With maybe pos and line being mandatory properties and the other
properties set if they can be set.




Patrick Mueller - http://muellerware.org/




_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to