Qt 4.8
qt-4.8.6
src
scripttools
debugging
qscriptdebuggerbackend_p_p.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
5
**
6
** This file is part of the QtSCriptTools module of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:LGPL$
9
** Commercial License Usage
10
** Licensees holding valid commercial Qt licenses may use this file in
11
** accordance with the commercial license agreement provided with the
12
** Software or, alternatively, in accordance with the terms contained in
13
** a written agreement between you and Digia. For licensing terms and
14
** conditions see http://qt.digia.com/licensing. For further information
15
** use the contact form at http://qt.digia.com/contact-us.
16
**
17
** GNU Lesser General Public License Usage
18
** Alternatively, this file may be used under the terms of the GNU Lesser
19
** General Public License version 2.1 as published by the Free Software
20
** Foundation and appearing in the file LICENSE.LGPL included in the
21
** packaging of this file. Please review the following information to
22
** ensure the GNU Lesser General Public License version 2.1 requirements
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
**
25
** In addition, as a special exception, Digia gives you certain additional
26
** rights. These rights are described in the Digia Qt LGPL Exception
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
**
29
** GNU General Public License Usage
30
** Alternatively, this file may be used under the terms of the GNU
31
** General Public License version 3.0 as published by the Free Software
32
** Foundation and appearing in the file LICENSE.GPL included in the
33
** packaging of this file. Please review the following information to
34
** ensure the GNU General Public License version 3.0 requirements will be
35
** met: http://www.gnu.org/copyleft/gpl.html.
36
**
37
**
38
** $QT_END_LICENSE$
39
**
40
****************************************************************************/
41
42
#ifndef QSCRIPTDEBUGGERBACKEND_P_P_H
43
#define QSCRIPTDEBUGGERBACKEND_P_P_H
44
45
//
46
// W A R N I N G
47
// -------------
48
//
49
// This file is not part of the Qt API. It exists purely as an
50
// implementation detail. This header file may change from version to
51
// version without notice, or even be removed.
52
//
53
// We mean it.
54
//
55
56
#include <QtCore/qobjectdefs.h>
57
58
#include <QtCore/qhash.h>
59
#include <QtCore/qlist.h>
60
#include <QtScript/qscriptvalue.h>
61
62
#include "
qscriptdebuggerbackend_p.h
"
63
64
QT_BEGIN_NAMESPACE
65
66
class
QEvent
;
67
class
QString
;
68
class
QScriptContext
;
69
class
QScriptEngine
;
70
class
QScriptValueIterator
;
71
class
QScriptObjectSnapshot
;
72
class
QScriptDebuggerAgent
;
73
class
QScriptDebuggerCommandExecutor
;
74
75
class
QScriptDebuggerBackend
;
76
class
Q_AUTOTEST_EXPORT
QScriptDebuggerBackendPrivate
77
{
78
Q_DECLARE_PUBLIC
(
QScriptDebuggerBackend
)
79
public
:
80
QScriptDebuggerBackendPrivate
();
81
virtual
~
QScriptDebuggerBackendPrivate
();
82
83
void
postEvent(
QEvent
*e);
84
virtual
bool
event
(
QEvent
*e);
85
86
// events reported by agent
87
virtual
void
stepped(
qint64
scriptId,
int
lineNumber,
int
columnNumber,
88
const
QScriptValue
&result);
89
virtual
void
locationReached(
qint64
scriptId,
int
lineNumber,
int
columnNumber);
90
virtual
void
interrupted(
qint64
scriptId,
int
lineNumber,
int
columnNumber);
91
virtual
void
breakpoint(
qint64
scriptId,
int
lineNumber,
int
columnNumber,
92
int
breakpointId);
93
virtual
void
exception(
qint64
scriptId,
const
QScriptValue
&exception,
94
bool
hasHandler);
95
virtual
void
debuggerInvocationRequest(
qint64
scriptId,
int
lineNumber,
96
int
columnNumber);
97
virtual
void
forcedReturn(
qint64
scriptId,
int
lineNumber,
int
columnNumber,
98
const
QScriptValue
&value);
99
100
static
QScriptValue
trace(
QScriptContext
*context,
101
QScriptEngine
*engine);
102
static
QScriptValue
qsassert(
QScriptContext
*context,
103
QScriptEngine
*engine);
104
static
QScriptValue
fileName
(
QScriptContext
*context,
105
QScriptEngine
*engine);
106
static
QScriptValue
lineNumber(
QScriptContext
*context,
107
QScriptEngine
*engine);
108
109
void
agentDestroyed(
QScriptDebuggerAgent
*);
110
111
QScriptDebuggerAgent
*
agent
;
112
QScriptDebuggerCommandExecutor
*
commandExecutor
;
113
114
int
pendingEvaluateContextIndex
;
115
QString
pendingEvaluateProgram
;
116
QString
pendingEvaluateFileName
;
117
int
pendingEvaluateLineNumber
;
118
bool
ignoreExceptions
;
119
120
int
nextScriptValueIteratorId
;
121
QMap<int, QScriptValueIterator*>
scriptValueIterators
;
122
123
int
nextScriptObjectSnapshotId
;
124
QMap<int, QScriptObjectSnapshot*>
scriptObjectSnapshots
;
125
126
QObject
*
eventReceiver
;
127
128
QScriptDebuggerBackend
*
q_ptr
;
129
130
QScriptValue
origTraceFunction
;
131
QScriptValue
origFileNameFunction
;
132
QScriptValue
origLineNumberFunction
;
133
};
134
135
QT_END_NAMESPACE
136
137
#endif
QScriptContext
The QScriptContext class represents a Qt Script function invocation.
Definition:
qscriptcontext.h:39
QScriptDebuggerBackendPrivate::scriptValueIterators
QMap< int, QScriptValueIterator * > scriptValueIterators
Definition:
qscriptdebuggerbackend_p_p.h:121
QT_END_NAMESPACE
#define QT_END_NAMESPACE
This macro expands to.
Definition:
qglobal.h:90
event
EventRef event
Definition:
qapplication_mac.mm:880
QScriptDebuggerBackendPrivate::origLineNumberFunction
QScriptValue origLineNumberFunction
Definition:
qscriptdebuggerbackend_p_p.h:132
QScriptDebuggerBackendPrivate::pendingEvaluateFileName
QString pendingEvaluateFileName
Definition:
qscriptdebuggerbackend_p_p.h:116
QString
The QString class provides a Unicode character string.
Definition:
qstring.h:83
QScriptDebuggerBackendPrivate::q_ptr
QScriptDebuggerBackend * q_ptr
Definition:
qscriptdebuggerbackend_p_p.h:128
QObject
The QObject class is the base class of all Qt objects.
Definition:
qobject.h:111
QScriptEngine
The QScriptEngine class provides an environment for evaluating Qt Script code.
Definition:
qscriptengine.h:104
QScriptDebuggerAgent
This class implements a state machine that uses the low-level events reported by the QScriptEngineAge...
Definition:
qscriptdebuggeragent_p.h:68
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition:
qglobal.h:89
QScriptDebuggerBackendPrivate::origTraceFunction
QScriptValue origTraceFunction
Definition:
qscriptdebuggerbackend_p_p.h:130
QScriptDebuggerBackendPrivate::nextScriptValueIteratorId
int nextScriptValueIteratorId
Definition:
qscriptdebuggerbackend_p_p.h:120
qint64
__int64 qint64
Definition:
qglobal.h:942
QScriptDebuggerBackendPrivate::nextScriptObjectSnapshotId
int nextScriptObjectSnapshotId
Definition:
qscriptdebuggerbackend_p_p.h:123
Q_DECLARE_PUBLIC
#define Q_DECLARE_PUBLIC(Class)
Definition:
qglobal.h:2477
QScriptValueIterator
The QScriptValueIterator class provides a Java-style iterator for QScriptValue.
Definition:
qscriptvalueiterator.h:41
QScriptDebuggerBackendPrivate::eventReceiver
QObject * eventReceiver
Definition:
qscriptdebuggerbackend_p_p.h:126
QScriptDebuggerBackend
The QScriptDebuggerBackend class is the base class of debugger back-ends.
Definition:
qscriptdebuggerbackend_p.h:78
QScriptDebuggerCommandExecutor
The QScriptDebuggerCommandExecutor applies debugger commands to a back-end.
Definition:
qscriptdebuggercommandexecutor_p.h:66
QScriptDebuggerBackendPrivate::origFileNameFunction
QScriptValue origFileNameFunction
Definition:
qscriptdebuggerbackend_p_p.h:131
QScriptDebuggerBackendPrivate::pendingEvaluateContextIndex
int pendingEvaluateContextIndex
Definition:
qscriptdebuggerbackend_p_p.h:114
QScriptDebuggerBackendPrivate::commandExecutor
QScriptDebuggerCommandExecutor * commandExecutor
Definition:
qscriptdebuggerbackend_p_p.h:112
Q_AUTOTEST_EXPORT
#define Q_AUTOTEST_EXPORT
Definition:
qglobal.h:1510
QScriptDebuggerBackendPrivate
Definition:
qscriptdebuggerbackend_p_p.h:76
QScriptDebuggerBackendPrivate::scriptObjectSnapshots
QMap< int, QScriptObjectSnapshot * > scriptObjectSnapshots
Definition:
qscriptdebuggerbackend_p_p.h:124
QScriptDebuggerBackendPrivate::pendingEvaluateProgram
QString pendingEvaluateProgram
Definition:
qscriptdebuggerbackend_p_p.h:115
qscriptdebuggerbackend_p.h
QScriptDebuggerBackendPrivate::agent
QScriptDebuggerAgent * agent
Definition:
qscriptdebuggerbackend_p_p.h:111
QEvent
The QEvent class is the base class of all event classes.
Definition:
qcoreevent.h:56
QScriptValue
The QScriptValue class acts as a container for the Qt Script data types.
Definition:
qscriptvalue.h:57
fileName
static QString fileName(const QString &fileUrl)
Definition:
qjsdebuggeragent.cpp:199
QScriptDebuggerBackendPrivate::ignoreExceptions
bool ignoreExceptions
Definition:
qscriptdebuggerbackend_p_p.h:118
QMap
The QMap class is a template class that provides a skip-list-based dictionary.
Definition:
qdatastream.h:67
QScriptDebuggerBackendPrivate::pendingEvaluateLineNumber
int pendingEvaluateLineNumber
Definition:
qscriptdebuggerbackend_p_p.h:117
QScriptObjectSnapshot
Definition:
qscriptobjectsnapshot_p.h:63
Qt 4.8 Source Code Browser