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 .
22 module com
{ module sun
{ module star
{ module script
{
24 /** makes it possible to set breakpoints in an interpreter.
27 published
interface XDebugging
: com
::sun
::star
::uno
::XInterface
29 /** returns the source code line where the breakpoint was set.
31 <p>The value can differ from the parameter
32 <var>nSourceCodeLine</var> when this is not a valid line to
33 place it. -1 indicates that the breakpoint cannot be set at
36 long setBreakPoint
( [in] string aModuleName
,
37 [in] long nSourceCodeLine
,
40 /** clears all breakpoints in the module set by "setBreakPoint".
42 void clearAllBreakPoints
( [in] string aModuleName
);
44 /** Evaluates an expression.
46 @param aSourceCode the expression to be evaluated.
48 @param nCallStackPos Position in the call stack for which the expression
49 should be evaluated. 0 is the top/actual position in the call
50 in the call stack, 1 the next and so on.
52 @returns the value of the expression as string.
54 string eval
( [in] string aSourceCode
,
55 [in] short nCallStackPos
);
57 /** Returns the engine's stack trace of the current execute position. Line break is the delimiter.
59 sequence
<string> getStackTrace
();
61 /** returns more detailed information about a specified stack frame.
64 specifies the position in the call stack for the
65 variables that should be delivered.
67 com
::sun
::star
::script
::ContextInformation getContextInformation
( [in] short nCallStackPos
);
69 /** returns the value of the variable at the given stack position.
71 string dumpVariable
( [in] string aVariableName
,
72 [in] short nCallStackPos
);
74 /** sets the value of the specified variable within the specified
77 void setVariable
( [in] string aVariableName
,
79 [in] short nCallStackPos
);
81 /** returns whether the given variable exists within the specified stack frame.
83 boolean isVariable
( [in] string aVariableName
,
84 [in] short nCallStackPos
);
86 /** stops the execution of the interpreter.
88 <p>To continue with the execution, call XDebugging::doContinue().
92 /** executes the next and only the next statement.
94 <p>If the next statement is a function call, the function is
95 executed completely.</p>
99 /** executes the next and only the next statement.
101 <p>If the next statement is a function call, only the function
106 /** executes the program until the next return from this stack frame.
110 /** continues the program execution.
119 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */