diff options
Diffstat (limited to 'kxsldbg/kxsldbgpart/libxsldbg/debug.cpp')
| -rw-r--r-- | kxsldbg/kxsldbgpart/libxsldbg/debug.cpp | 235 | 
1 files changed, 0 insertions, 235 deletions
| diff --git a/kxsldbg/kxsldbgpart/libxsldbg/debug.cpp b/kxsldbg/kxsldbgpart/libxsldbg/debug.cpp deleted file mode 100644 index 2975f814..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/debug.cpp +++ /dev/null @@ -1,235 +0,0 @@ - -/*************************************************************************** -                          debug.c  -  main functions for debugger use -                             ------------------- -    begin                : Fri Nov 2 2001 -    copyright            : (C) 2001 by Keith Isdale -    email                : k_isdale@tpg.com.au - ***************************************************************************/ - -#include "xsldbg.h" -#include "debug.h" -#include "debugXSL.h"           /* needed for debugXSLBreak function */ -#include "breakpoint.h" -#include "callstack.h" -#include "files.h" -#include "options.h" - -#include <libxslt/xsltutils.h>  /* need for breakpoint callback support */ - -/* setup debugger callbacks */ -struct DebuggerCallbacks { -    xsltHandleDebuggerCallback debuggercallback; -    xsltAddCallCallback addcallback; -    xsltDropCallCallback dropcallback; -} debuggerDriver; - - -/* ----------------------------------------- -              Private functions - -------------------------------------------*/ - -/** - * debugHandleDebugger: - * @cur : source node being executed - * @node : data node being processed - * @templ : temlate that applies to node - * @ctxt : the xslt transform context  - *  - * If either cur or node are a breakpoint, or xslDebugStatus in state  - *   where debugging must occcur at this time, then transfer control - *   to the debugXSLBreak function - */ -void debugHandleDebugger(xmlNodePtr cur, xmlNodePtr node, -                         xsltTemplatePtr templ, -                         xsltTransformContextPtr ctxt); - -/* -------------------------------------  -    End private functions ----------------------------------------*/ - - -/*----------------------------------------------------------- -       Main debugger functions ------------------------------------------------------------*/ - - - -/** - * debugInit : - * - * Initialize debugger - * Returns 1 on success, - *         0 otherwise - */ -int -debugInit(void) -{ -    int result; - -    xslDebugStatus = DEBUG_NONE; -    result = breakPointInit(); -    result = result && callStackInit(); - -    /* setup debugger callbacks */ -    debuggerDriver.debuggercallback = debugHandleDebugger; -    debuggerDriver.addcallback = callStackAdd; -    debuggerDriver.dropcallback = callStackDrop; -    xsltSetDebuggerCallbacks(3, &debuggerDriver); -    return result; -} - - -/** - * debugFree : - * - * Free up any memory taken by debugging - */ -void -debugFree(void) -{ -    breakPointFree(); -    callStackFree(); -} - - -/**  - * debugGotControl: - * @reached: 1 if debugger has received control, -1 to read its value, -               0 to clear the flag - * - * Set flag that debugger has received control to value of @reached - * - * Returns 1 if any break point was reached previously, - *         0 otherwise - */ -int -debugGotControl(int reached) -{ -    static int hasReached; -    int result = hasReached; - -    if (reached != -1) -        hasReached = reached; -    return result; -} - - -/** - * debugHandleDebugger: - * @cur : source node being executed - * @node : data node being processed - * @templ : temlate that applies to node - * @ctxt : the xslt transform context  - *  - * If either cur or node are a breakpoint, or xslDebugStatus in state  - *   where debugging must occcur at this time then transfer control - *   to the debugXSLBreak function - */ -void -debugHandleDebugger(xmlNodePtr cur, xmlNodePtr node, -                    xsltTemplatePtr templ, xsltTransformContextPtr ctxt) -{ - -    if (!cur && !node) { -        xsldbgGenericErrorFunc(i18n("Error: XSLT source and XML data are empty. Cannot enter the debugger.\n")); -    } else { -	if (optionsGetIntOption(OPTIONS_GDB)){ -	    int doValidation = 0; -	    switch(xsldbgValidateBreakpoints){ -		case BREAKPOINTS_ARE_VALID: -		    if (!filesGetStylesheet() || !filesGetMainDoc()) { -			xsldbgValidateBreakpoints = BREAKPOINTS_NEED_VALIDATION; -			doValidation = 1; -		    } -			 -		break; -	     -		case BREAKPOINTS_NEED_VALIDATION: -		    if (filesGetStylesheet() && filesGetMainDoc() && templ){  -			xsldbgValidateBreakpoints = BREAKPOINTS_BEING_VALIDATED; -			doValidation = 1; -		    } -		break; -     -		case BREAKPOINTS_BEING_VALIDATED: -		    /*should never be in the state for any length of time */ -#ifdef WITH_XSLDBG_DEBUG_BREAKPOINTS -		     xsltGenericError(xsltGenericErrorContext,  -			"Error: Unexpected breakpoint validation state %d", xsldbgValidateBreakpoints);	     -#endif -		break; -	    } -	    if (doValidation){ -		    /* breakpoints will either be marked as orphaned or not as needed */ -		    xsldbgValidateBreakpoints = BREAKPOINTS_BEING_VALIDATED; -		    walkBreakPoints((xmlHashScanner) -			    xslDbgShellValidateBreakPoint, ctxt); -		    if (filesGetStylesheet() && filesGetMainDoc() && templ){ -			xsldbgValidateBreakpoints = BREAKPOINTS_ARE_VALID; -		    }else{ -			xsldbgValidateBreakpoints = BREAKPOINTS_NEED_VALIDATION; -		    } -	    } -	} -        switch (xslDebugStatus) { - -                /* A temparary stopping point */ -            case DEBUG_WALK: -            case DEBUG_TRACE: -                /* only allow breakpoints at xml elements */ -                if (xmlGetLineNo(cur) != -1) -                    debugXSLBreak(cur, node, templ, ctxt); -                break; - -            case DEBUG_STOP: -                xslDebugStatus = DEBUG_CONT; -                /* only allow breakpoints at xml elements */ -                if (xmlGetLineNo(cur) != -1) -                    debugXSLBreak(cur, node, templ, ctxt); -                break; - -            case DEBUG_STEP: -                /* only allow breakpoints at xml elements */ -                if (xmlGetLineNo(cur) != -1) -                    debugXSLBreak(cur, node, templ, ctxt); -                break; - -            case DEBUG_CONT: -                { -                    breakPointPtr breakPtr = NULL; -                    xmlChar *baseUri = NULL; - -                    if (cur) { -                        breakPtr = -                            breakPointGet(cur->doc->URL, -                                          xmlGetLineNo(cur)); - -                        if (breakPtr && (breakPtr->flags & BREAKPOINT_ENABLED) ){ -			    debugXSLBreak(cur, node, templ, ctxt); -			    return; -			} -                    } -		    if (node) { -			baseUri = filesGetBaseUri(node); -                        if (baseUri != NULL) { -                            breakPtr = -                                breakPointGet(baseUri, xmlGetLineNo(node)); -                        } else { -                            breakPtr = -                                breakPointGet(node->doc->URL, -                                              xmlGetLineNo(node)); -                        } -                        if (breakPtr) { -                            if (breakPtr->flags & BREAKPOINT_ENABLED) { -                                debugXSLBreak(cur, node, templ, ctxt); -			    } -			} -                        if (baseUri) -                            xmlFree(baseUri); -                    } -                } -                break; -        } -    } -} | 
