[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