1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
27 #ifndef __com_sun_star_script_XDebugging_idl__
28 #define __com_sun_star_script_XDebugging_idl__
30 #ifndef __com_sun_star_uno_XInterface_idl__
31 #include
<com
/sun
/star
/uno
/XInterface.idl
>
34 #ifndef __com_sun_star_script_ContextInformation_idl__
35 #include
<com
/sun
/star
/script
/ContextInformation.idl
>
39 //=============================================================================
41 module com
{ module sun
{ module star
{ module script
{
43 //=============================================================================
45 // DocMerge from xml: interface com::sun::star::script::XDebugging
46 /** makes it possible to set breakpoints in an interpreter.
49 published
interface XDebugging
: com
::sun
::star
::uno
::XInterface
51 //-------------------------------------------------------------------------
52 /** returns the source code line where the breakpoint was set.
54 <p>The value can differ from the parameter
55 <var>nSourceCodeLine</var> when this is not a valid line to
56 place it. -1 indicates that the breakpoint cannot be set at
59 long setBreakPoint
( [in] string aModuleName
,
60 [in] long nSourceCodeLine
,
63 //-------------------------------------------------------------------------
64 /** clears all breakpoints in the module set by "setBreakPoint".
66 void clearAllBreakPoints
( [in] string aModuleName
);
68 //-------------------------------------------------------------------------
69 /** Evaluates an expression.
71 @returns the value of the expression as string.
73 @param CallStackPos Position in the call stack for which the expression
74 should be evaluated. 0 is the top/actual position in the call
75 in the call stack, 1 the next and so on.
77 string eval
( [in] string aSourceCode
,
78 [in] short nCallStackPos
);
80 //-------------------------------------------------------------------------
81 /** Returns the engine's stack trace of the current execute position. Line break is the delimiter.
83 sequence
<string> getStackTrace
();
85 //-------------------------------------------------------------------------
86 /** returns more detailed information about a specified stack frame.
89 specifies the position in the call stack for the
90 variables that should be delivered.
92 com
::sun
::star
::script
::ContextInformation getContextInformation
( [in] short nCallStackPos
);
94 //-------------------------------------------------------------------------
95 /** returns the value of the variable at the given stack position.
97 string dumpVariable
( [in] string aVariableName
,
98 [in] short nCallStackPos
);
100 //-------------------------------------------------------------------------
101 /** sets the value of the specified variable within the specified
104 void setVariable
( [in] string aVariableName
,
106 [in] short nCallStackPos
);
108 //-------------------------------------------------------------------------
109 /** returns whether the given variable exists within the specified stack frame.
111 boolean isVariable
( [in] string aVariableName
,
112 [in] short nCallStackPos
);
114 //-------------------------------------------------------------------------
115 /** stops the execution of the interpreter.
117 <p>To continue with the execution, call <method>XDebugging::doContinue</method>.
121 //-------------------------------------------------------------------------
122 /** executes the next and only the next statement.
124 <p>If the next statement is a function call, the function is
125 executed completely.</p>
129 //-------------------------------------------------------------------------
130 /** executes the next and only the next statement.
132 <p>If the next statement is a function call, only the function
137 //-------------------------------------------------------------------------
138 /** executes the program until the next return from this stack frame.
142 //-------------------------------------------------------------------------
143 /** continues the program execution.
149 //=============================================================================