diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-06 12:27:17 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-06 12:27:17 (GMT) |
commit | 7c1093d3e8eba6b8ab92c6503fde0c941550125d (patch) | |
tree | 2391b0aeeb54b5b38f0f551dbcffd5420b4d84af /src/declarative/qml/qmlparser_p.h | |
parent | 7bfee916ec053fa0b4092c7f9ed635376e58abe1 (diff) | |
download | Qt-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.h | 31 |
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; }; } |