[Laszlo-dev] Debug warning for getMCRef() in SWF10
P T Withington
ptw at pobox.com
Fri Jan 29 11:59:45 PST 2010
We're not asking for the full source. We're simply asking for an introspection mechanism to get the same information that is available to the Error#getBacktrace() function, which clearly has access to function names and source file and line. This could be just some additional fields in flash.utils.describeType when called on a function or method.
On 2010-01-28, at 11:45, Raju Bitter wrote:
> It's a shame that as3 doesn't give you such a basic language feature.
>
> Someone already filed a bug for that:
> http://bugs.adobe.com/jira/browse/ASC-1733 / function name.toString() gives function Function(){} instead of the function
> Closed as "Not a bug", the reason: "AS3 runtime does not have access to the program source at runtime, so Function.prototype.toString is unable to display original source. This is by design."
>
> On Jan 28, 2010, at 1:45 AM, P T Withington wrote:
>
>> Henry is looking into this, but basically as3 does not give you a way to get the name of any random function. The hack Raju pointed to will only let you extract the name of a function you are executing, and our deprecation warning needs to get that _and_ the replacement. I don't think there is an easy way around this. We ought to just file a bug with Adobe that since they have the function name in debug builds they ought to provide an introspection interface to get at it!
>>
>> On 2010-01-27, at 19:40, Max Carlson wrote:
>>
>>> Yeah, I've noticed that - I'm pretty sure I filed a bug about it. We'll check it out. Thanks!
>>>
>>> Regards,
>>> Max Carlson
>>> OpenLaszlo.org
>>>
>>> On 1/27/10 1:14 AM, Raju Bitter wrote:
>>>> Max,
>>>>
>>>> what is the reason that the warning to use getDisplayObject() instead of getMCRef() is not displayed correctly in DHTML? In SWF10 runtime I get the warning
>>>>
>>>> INFO #helloView.Function is deprecated. Use the #helloView.Function instead
>>>>
>>>> In SWF8 and DHTML output is correct:
>>>> INFO %cssview.lzx#32: #helloView.getMCRef is deprecated. Use #helloView.getDisplayObject instead
>>>>
>>>> Looking into the code http://svn.openlaszlo.org/openlaszlo/trunk/WEB-INF/lps/lfc/views/LaszloView.lzs I see that you just dump the function reference in the warning. I guess that's because there's no API to retrieve a function's name in AS3. There is a workaround, though, described here:
>>>> http://blogs.adobe.com/aharui/2007/10/debugging_tricks.html
>>>>
>>>> For this to work, you need to turn on the -verbose-stacktraces=true compiler option - which I'm not sure is done for OpenLaszlo.
>>>>
>>>> - Raju
>>
>
>
More information about the Laszlo-dev
mailing list