summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlparser_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-05-06 12:27:17 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-05-06 12:27:17 (GMT)
commit7c1093d3e8eba6b8ab92c6503fde0c941550125d (patch)
tree2391b0aeeb54b5b38f0f551dbcffd5420b4d84af /src/declarative/qml/qmlparser_p.h
parent7bfee916ec053fa0b4092c7f9ed635376e58abe1 (diff)
downloadQt-7c1093d3e8eba6b8ab92c6503fde0c941550125d.zip
Qt-7c1093d3e8eba6b8ab92c6503fde0c941550125d.tar.gz
Qt-7c1093d3e8eba6b8ab92c6503fde0c941550125d.tar.bz2
Improve parser line/column tracking
Diffstat (limited to 'src/declarative/qml/qmlparser_p.h')
-rw-r--r--src/declarative/qml/qmlparser_p.h31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/declarative/qml/qmlparser_p.h b/src/declarative/qml/qmlparser_p.h
index aa22928..5910705 100644
--- a/src/declarative/qml/qmlparser_p.h
+++ b/src/declarative/qml/qmlparser_p.h
@@ -69,6 +69,19 @@ QT_MODULE(Declarative)
*/
namespace QmlParser
{
+ struct Location
+ {
+ Location() : line(-1), column(-1) {}
+ int line;
+ int column;
+ };
+
+ struct LocationSpan
+ {
+ Location start;
+ Location end;
+ };
+
class Property;
class Object : public QmlRefCount
{
@@ -103,11 +116,7 @@ namespace QmlParser
Property *defaultProperty;
QHash<QByteArray, Property *> properties;
- qint64 line;
- qint64 column;
-
- qint64 endLine;
- qint64 endColumn;
+ LocationSpan location;
struct DynamicProperty {
DynamicProperty();
@@ -141,6 +150,8 @@ namespace QmlParser
QList<DynamicSignal> dynamicSignals;
// The list of dynamic slots
QList<DynamicSlot> dynamicSlots;
+
+ void dump(int = 0) const;
};
class Value : public QmlRefCount
@@ -176,8 +187,9 @@ namespace QmlParser
// Object value
Object *object;
- qint64 line;
- qint64 column;
+ LocationSpan location;
+
+ void dump(int = 0) const;
};
class Property : public QmlRefCount
@@ -207,8 +219,9 @@ namespace QmlParser
// True if this property was accessed as the default property.
bool isDefault;
- qint64 line;
- qint64 column;
+ LocationSpan location;
+
+ void dump(int = 0) const;
};
}