[xslt] Work report/code review part 4



Hi all,

This is is final planned posting about the work I've been doing. In this 
email I'll cover the changes to libslt/tranform.[ch] and some fixes to 
breakpoint.[ch].  Please note that
   o Line numbers I state are with respect to the 
libxslt-1.0.5_ki_0.6.2.diff. 
   o I mention the changes caused by xsltaddon for completeness even though 
xsltaddon will be abandonded. 
   o All file paths are with respect to the root of libxslt. 
   o To reduce the size of email  changes are described only when diff text 
is  not clear. 
   o the diff was created after indent was applied ( some files in cvs don't 
appear to have been indented recently )
   o the documentation for breakpoint code has been cleaned up 

-------------------------------

Before I start on the review :
It is my belief that the code is stable enough to be considered alpha. See 
sourceforge.net/projects/xsldbg or below for the files. Please submit 
bug/feature request for xsldbg or the libxslt patch  via 
sourceforge.net/projects/xsldbg. Any issues that are breakpoint API specific 
I'll post to libxslt bugzilla's page ( Is this the simplist approach Daniel? 
).

You need at least 
     http://prdownloads.sourceforge.net/xsldbg/xsldbg-0.6.2.tar.gz
     http://prdownloads.sourceforge.net/xsldbg/libxslt-1.0.5_diff.tar.gz

The xemacs mode is optional
    http://prdownloads.sourceforge.net/xsldbg/xsldbg-mode.tar.gz
-------------------------------

Ok down to business. 

libxslt-1.0.5_ki_0.6.2.diff is found here 
      http://prdownloads.sourceforge.net/xsldbg/libxslt-1.0.5_diff.tar.gz


Line : 6  			File : Makefile.am
Reason : xsltaddon support

Line: 22 - 61  		File : acconfig.h, configure.in
Reason : enable support for WITH_DEBUGGER #define 

Line: 62 - 114		File:configure.in, Makefile.am
Reason: Add xsltaddon, breapoint headers and source to libxslt

Line:  115 - 1124		File: libxslt/breakpoint.c
Reason: Define breakpoint implementation
Changes : added xslStepupToDepth,  and xslStepdownToDepth to define what 
frame to stop at. Removed old frame break functions of xslSetStepoutName, 
xslIsStepoutName

Line: 1125 - 1522	File: libxslt/breakpoint.h
Reason: Define breakpoint implementation
Changes :  Added  DEBUG_STEPUP and DEBUG_STEPDOWN to possible debug status.
added xslStepupToDepth,  and xslStepdownToDepth to define what frame to. 
Removed old frame break functions of xslSetStepoutName, xslIsStepoutName

Line : 1523 - 1788         	File libxslt/transform.c
Reason: Insert breakpoint support code template processing

Line 1789 - 1817 	File libxslt/transform.h
Reason: Declaration of debug interface between transform.c and breakpoint.c

Line 1818 - 2624 	Files: xsltaddon/*.*
Reason: xsltaddon support is declared and defined 
Change : Will be abondoned for a use of new functions in libxslt when they 
are available

---------------------------------------

I can think of no situation where the breakpoint API fails. It can handle 
    o printing/add/deleting/enabling/disabling breakpoints at template and a 
line number, allow access to breakpoints 
    o add/drop call stack frame breakpoints, allow access to frame stack
    o setting temporary frame breakpoints  ie step up/down from current frame

There other functions that I think are outside the scope of the breakpoint 
API such as
   o watching variable values
   o changing variable values 
   o handling requests for parameter changes ( just another variable )
   o adding conditions to breakpoints ( hmm is this right? If not, a patch to 
achieve this functionaly would be appreciated)


In the next three weeks I'll put together a presentation on some ideas I 
have. 

bye,

Keith



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]