[Laszlo-dev] For Review: Change 20080827-ptw-k Summary:
André Bargull
andre.bargull at udo.edu
Sun Aug 31 14:55:47 PDT 2008
LzDebugService#__typeof(void(0)) prints an error, swf-runtime:
> ERROR @debugger/LzDebug.lzs#1059: undefined object does not have a
> property '[]'
There is a check for "isArrayLike", even if the object is not
"isObjectLike".
On 8/31/2008 11:42 PM, André Bargull wrote:
> new dhtml-differences:
> - write into the debugger 'null' (not as a string), it prints now:
> "«object| null»", but was "null"
> - write into the debugger 'void(0)' (not as a string), it doesn't
> print a new prompt (same as for "" ?)
>
> LzDebugService#isObjectLike() does not return a Boolean for falsy
> arguments, try e.g. Debug.isObjectLike(null).
>
>
> On 8/31/2008 10:17 PM, André Bargull wrote:
>> Last one is easy to fix:
>> In LzDHTMLDebugService#__StringDescription(), first if-clause:
>> t == 'object' => typeof thing == 'object'
>>
>> On 8/31/2008 10:13 PM, André Bargull wrote:
>>> Dhtml, IE-only: HTML-elements are no longer printed pretty, e.g. try
>>> "Debug.write(canvas.sprite.__LZdiv)".
>>> expected:
>>>> «object#0| #document/html/body/div#lzappContainer[1]/div#sprite_0[1]»
>>> actual:
>>>> «object#75| {…, scrollHeight: 19, isTextEdit: false, currentStyle:
>>>> [object], document: [object], ...............
>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(75)>
>>>
>>>
>>> On 8/31/2008 9:58 PM, André Bargull wrote:
>>>> 'Debug.write("")' does not print a new prompt (regression for
>>>> dhtml, swf was also broken before the change).
>>>>
>>>> On 8/31/2008 9:52 PM, André Bargull wrote:
>>>>> And "canvas.sprite" prints a "SyntaxError" (also dhtml-only):
>>>>>> «Error «object| SyntaxError:…» computing __typeof#44| {owner:
>>>>>> This is th [...]
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(44)>
>>>>>
>>>>>
>>>>> On 8/31/2008 9:46 PM, André Bargull wrote:
>>>>>> Functions are displayed differently in dhtml, for instance type
>>>>>> "Class" into the debugger and inspect the object:
>>>>>>
>>>>>> new:
>>>>>>> «Object#8| Class» {
>>>>>>> _dbg_name: 'Class'
>>>>>>> addProperty: «Class static function(2)»
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(5)>
>>>>>>> addStaticProperty: addStaticProperty($1_name, $2_value) {
>>>>>>> this[$1_name] = $2_value;
>>>>>>> if <javascript:window.parent.$modules.lz.Debug.displayObj(6)>
>>>>>>> allClasses: {…}
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(15)>
>>>>>>> make: make($1_classname, $2_traitsAndSuperclass,
>>>>>>> $3_instanceProperties, $4_staticProperties) {
>>>>>>> var nc = function constructor() {this.constructor =
>>>>>>> arguments.callee;this.validateClassStructure();if
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(16)>
>>>>>>> prototype: {…}
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(18)>
>>>>>>> }
>>>>>>
>>>>>> old:
>>>>>>> «Object#87| Class» {
>>>>>>> _dbg_name: 'Class'
>>>>>>> addProperty: addProperty
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(83)>
>>>>>>> addStaticProperty: addStaticProperty
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(84)>
>>>>>>> allClasses: {...}
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(95)>
>>>>>>> make: make
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(96)>
>>>>>>> prototype: {...}
>>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(97)>
>>>>>>> }
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 8/30/2008 8:11 PM, André Bargull wrote:
>>>>>>> Great stuff, that will make live easier for everyone who needs
>>>>>>> to touch the debugger.
>>>>>>> Right now I'm going through the files, until now just
>>>>>>> (mini-)source changes:
>>>>>>>
>>>>>>> LzRuntime.lzs, encodeURIComponent: why not decodeURIComponent?,
>>>>>>> LzBootstrapDebugConsole#addText(..): string coercion looks odd,
>>>>>>> belongs into the catch-clause?
>>>>>>> LzBootstrapDebugLogger#log(..): loadVariables() should be
>>>>>>> loadVariablesNum(), right?
>>>>>>> LzBootstrapDebugService: _dbg_log_all_writes, why a global?
>>>>>>> LzBootstrapDebugService#xmlEscape(): we really ought to
>>>>>>> consolidate all our different xml-escape routines...
>>>>>>> LzBootstrapDebugService, "var Debug": you've left out the
>>>>>>> "var"-declaration for the generic and runtime-specific
>>>>>>> debuggers, why not here? (as the first "var Debug" is declared
>>>>>>> in LzRuntime.lzs)
>>>>>>> LzBootstrapDebugService, $reportNotFunction and
>>>>>>> $reportUndefinedMethod: message concatenation looks odd
>>>>>>> LzCompiler, $reportSourceWarning: "if (LzWarning)" is (now)
>>>>>>> always true, so the else-clause can be removed
>>>>>>> LzBootstrapMessage#indexOf(..args) vs
>>>>>>> LzDebugMessage#indexOf(key): not a compatible override
>>>>>>> LzBootstrapMessage#toString(), #toHTML(): timestamp is off by
>>>>>>> three years ;-)
>>>>>>> LzBootstrapMessage: String.prototype.toHTML() uses
>>>>>>> "Debug.xmlEscape", which is only available in debug-mode
>>>>>>> LzSourceMessage: missing declaration of "message" in class
>>>>>>> LzSourceMessage: constructor typing wrong, "message" is either
>>>>>>> String or LzMessage
>>>>>>> LzDebugService.internalPropertyPrefixes: use an Object instead
>>>>>>> of an Array (it's used as an Object in
>>>>>>> LzDebugService#internalProperty())
>>>>>>> debugger-component: update the comment at file-beginning and
>>>>>>> mark the methods which implement the
>>>>>>> LzBootstrapDebugConsole-interface
>>>>>>> LzDHTMLDebugConsole declares "doEval" as overriden, but there is
>>>>>>> no "doEval" in LzBootstrapDebugConsole, missing?
>>>>>>>
>>>>>>> Does it make sense to replace these lines (occur several times
>>>>>>> in the debugger-files):
>>>>>>>> var color = '#0000ff';
>>>>>>>> if (attrs && attrs.color) { color = attrs.color };
>>>>>>> with a shorter replacement (for LPP-6892): var color = (attrs &&
>>>>>>> attrs.color) || '#0000ff';
>>>>>>>
>>>>>>> As you see, that's merely me being nit-picking. And I haven't
>>>>>>> yet tried the new debugger, I'll do that tomorrow.
>>>>>>>
>>>>>>> On 8/28/2008 10:14 PM, P T Withington wrote:
>>>>>>>> Change 20080827-ptw-k by ptw at dueling-banjos.home on 2008-08-27
>>>>>>>> 14:46:24 EDT
>>>>>>>> in /Users/ptw/OpenLaszlo/krispy-kreme
>>>>>>>> for http://svn.openlaszlo.org/openlaszlo/trunk
>>>>>>>>
>>>>>>>> Summary: Classify the debugger
>>>>>>>>
>>>>>>>> Bugs Fixed:
>>>>>>>> LPP-6226 'make the compiler debug flag work with swf9' (step 0)
>>>>>>>>
>>>>>>>> Technical Reviewer: hminsky (pending)
>>>>>>>> QA Reviewer: a.bargull at intensis.de (pending)
>>>>>>>>
>>>>>>>> Summary:
>>>>>>>> This is a pretty massive change, not easy to review from the
>>>>>>>> diffs. I propose checking it in so we can just get some usage on
>>>>>>>> it.
>>>>>>>>
>>>>>>>> [...]
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
More information about the Laszlo-dev
mailing list