[Laszlo-dev] Debug warning for getMCRef() in SWF10
P T Withington
ptw at pobox.com
Fri Jan 29 12:13:41 PST 2010
Filed as http://bugs.adobe.com/jira/browse/ASC-4001
On 2010-01-29, at 14:59, P T Withington wrote:
> 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