Approved!

P T Withington wrote:
Change 20070828-ptw-t by [EMAIL PROTECTED] on 2007-08-28 16:56:02 EDT
    in /Users/ptw/OpenLaszlo/wafflecone-2
    for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone

Summary: Implement Debug.messageLevel, downgrade deprecated warnings
to info, heuristicate file/line info in Debug messages

Bugs Fixed:
LPP-4597 'turn debugger warnings for non-fatal issues into INFO'
LPP-4549 'runtime warnings should include file references, line #s' (partial) LPP-4478 'Richedittext: WARNING: __LZgetNodes: p is null in LzDatapointer' (partial)
LPP-4450 'improve LFC warnings for xpath query on empty datapath' (partial)
LPP-4551 'debugger warnings emitted from a private LFC function' (partial)
LPP-4592 'basedatacombobox-based components with selectfirst="false" emits Debugger warnings' (partial)
LPP-4464 'setVisible(null) warning, but it is never called' (partial)

Technical Reviewer: max (pending)
QA Reviewer: enw (pending)

Documentation:
    In debug mode the compiler annotates every LzNode object with the
    file/line where the object was created.  If a node object is one
    of the arguments to a Debug message, the debugger will use the
    node object's file/line information when printing the message to
    the console.  [This is obviously not as accurate as we would like,
    but it at least gives the programmer a hint as to where the
    problem may lie.]

    Debug.messageLevel is one of (from lowest to highest) 'ALL',
    'DEBUG', 'INFO', 'WARNING', 'ERROR'; defaults to 'ALL'.  Setting
    it to a particular level will suppress all messages of a lower
    level.

    All deprecation messages have been changed from 'WARNING' to
    'INFO'.  By setting Debug.messageLevel to 'WARNING', deprecation
    messages will be suppressed.

    All API warnings that are new in 4.x have been changed from
    'WARNING' to 'INFO'.  By setting Debug.messageLevel to 'WARNING',
    deprecation messages will be suppressed.

Details:
    LzSprite, LzNode, LaszloView, LzAnimatorGroup, LzDatapointer,
    LzDataset, LzDatapath, Class: Change all deprecated warnings to
    use Debug.deprecated, or in custom cases Debug.info.

    UserClass: Refine the warning that explains why <class name="xxx">
    will not be defined as a global if there is already a global value
    of the same name in the underlying runtime.  Change the warning to
    an info message.

    LzMessage: Update frames to skip to match the current
    implementation of backtrace.  Heuristicate file/lineno from
    message arguments.  Add Debug.deprecated that handles common
    deprecation messages.

    LzDebug, kernel.as, kernel.js:  Implement Debug.messageLevel.

    LzBacktrace: Add a pretty type name.

    NodeModel: Annotate nodes with their creation file and line.

Tests:
    swf and dhtml smokecheck.

    In smokecheck, the last two warnings now say:

WARNING: regression.lzl:730: serialize: p is null in LzDatapointer name: bad WARNING: regression.lzl:744: setNodeAttribute: p is null in LzDatapointer name: dp

    Which indeed are the locations of the erroneous datapointers.

Files:
M      WEB-INF/lps/lfc/kernel/swf/LzSprite.as
M      WEB-INF/lps/lfc/debugger/LzMessage.lzs
M      WEB-INF/lps/lfc/debugger/LzDebug.lzs
M      WEB-INF/lps/lfc/debugger/platform/swf/kernel.as
M      WEB-INF/lps/lfc/debugger/platform/dhtml/kernel.js
M      WEB-INF/lps/lfc/debugger/LzBacktrace.lzs
M      WEB-INF/lps/lfc/core/LzNode.lzs
M      WEB-INF/lps/lfc/core/UserClass.lzs
M      WEB-INF/lps/lfc/views/LaszloView.lzs
M      WEB-INF/lps/lfc/controllers/LzAnimatorGroup.lzs
M      WEB-INF/lps/lfc/data/LzDatapointer.lzs
M      WEB-INF/lps/lfc/data/LzDataset.lzs
M      WEB-INF/lps/lfc/data/LzDatapath.lzs
M      WEB-INF/lps/lfc/compiler/Class.lzs
M      WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070828-ptw-t.tar

--
Regards,
Max Carlson
OpenLaszlo.org

Reply via email to