1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_script_XDebugging_idl__
20 #define __com_sun_star_script_XDebugging_idl__
22 #include
<com
/sun
/star
/uno
/XInterface.idl
>
24 #include
<com
/sun
/star
/script
/ContextInformation.idl
>
28 module com
{ module sun
{ module star
{ module script
{
30 /** makes it possible to set breakpoints in an interpreter.
33 published
interface XDebugging
: com
::sun
::star
::uno
::XInterface
35 /** returns the source code line where the breakpoint was set.
37 <p>The value can differ from the parameter
38 <var>nSourceCodeLine</var> when this is not a valid line to
39 place it. -1 indicates that the breakpoint cannot be set at
42 long setBreakPoint
( [in] string aModuleName
,
43 [in] long nSourceCodeLine
,
46 /** clears all breakpoints in the module set by "setBreakPoint".
48 void clearAllBreakPoints
( [in] string aModuleName
);
50 /** Evaluates an expression.
52 @returns the value of the expression as string.
54 @param nCallStackPos Position in the call stack for which the expression
55 should be evaluated. 0 is the top/actual position in the call
56 in the call stack, 1 the next and so on.
58 string eval
( [in] string aSourceCode
,
59 [in] short nCallStackPos
);
61 /** Returns the engine's stack trace of the current execute position. Line break is the delimiter.
63 sequence
<string> getStackTrace
();
65 /** returns more detailed information about a specified stack frame.
68 specifies the position in the call stack for the
69 variables that should be delivered.
71 com
::sun
::star
::script
::ContextInformation getContextInformation
( [in] short nCallStackPos
);
73 /** returns the value of the variable at the given stack position.
75 string dumpVariable
( [in] string aVariableName
,
76 [in] short nCallStackPos
);
78 /** sets the value of the specified variable within the specified
81 void setVariable
( [in] string aVariableName
,
83 [in] short nCallStackPos
);
85 /** returns whether the given variable exists within the specified stack frame.
87 boolean isVariable
( [in] string aVariableName
,
88 [in] short nCallStackPos
);
90 /** stops the execution of the interpreter.
92 <p>To continue with the execution, call XDebugging::doContinue().
96 /** executes the next and only the next statement.
98 <p>If the next statement is a function call, the function is
99 executed completely.</p>
103 /** executes the next and only the next statement.
105 <p>If the next statement is a function call, only the function
110 /** executes the program until the next return from this stack frame.
114 /** continues the program execution.
125 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */