diff options
author | Christiaan Janssen <christiaan.janssen@nokia.com> | 2012-01-11 17:50:51 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-16 12:36:46 +0100 |
commit | df6338a7b4ff43b1bb0538c44c632d122a7c3766 (patch) | |
tree | 23ba0e6833865ad6e7bb5144c78f61d8c4590acc /src/declarative/qml/qdeclarativeexpression.cpp | |
parent | eca445fdf76ee59f7dae07f8833e2f00da26dd89 (diff) |
QDeclarativeExpression: storing column number in expression location
Change-Id: I2d69738158abfc76f80b1cfc0e0ccb145fda2245
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'src/declarative/qml/qdeclarativeexpression.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativeexpression.cpp | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/declarative/qml/qdeclarativeexpression.cpp b/src/declarative/qml/qdeclarativeexpression.cpp index f375716de6..bbaca450d9 100644 --- a/src/declarative/qml/qdeclarativeexpression.cpp +++ b/src/declarative/qml/qdeclarativeexpression.cpp @@ -120,10 +120,11 @@ void QDeclarativeExpressionPrivate::init(QDeclarativeContextData *ctxt, v8::Hand void QDeclarativeExpressionPrivate::init(QDeclarativeContextData *ctxt, const QString &expr, bool isRewritten, QObject *me, const QString &srcUrl, - int lineNumber) + int lineNumber, int columnNumber) { url = srcUrl; line = lineNumber; + column = columnNumber; expression = expr; @@ -159,9 +160,9 @@ QDeclarativeExpressionPrivate::evalFunction(QDeclarativeContextData *ctxt, QObje } QDeclarativeExpression *QDeclarativeExpressionPrivate::create(QDeclarativeContextData *ctxt, QObject *object, const QString &expr, bool isRewritten, - const QString &url, int lineNumber) + const QString &url, int lineNumber, int columnNumber) { - return new QDeclarativeExpression(ctxt, object, expr, isRewritten, url, lineNumber, *new QDeclarativeExpressionPrivate); + return new QDeclarativeExpression(ctxt, object, expr, isRewritten, url, lineNumber, columnNumber, *new QDeclarativeExpressionPrivate); } /*! @@ -206,12 +207,12 @@ QDeclarativeExpression::QDeclarativeExpression() /*! \internal */ QDeclarativeExpression::QDeclarativeExpression(QDeclarativeContextData *ctxt, QObject *object, const QString &expr, bool isRewritten, - const QString &url, int lineNumber, + const QString &url, int lineNumber, int columnNumber, QDeclarativeExpressionPrivate &dd) : QObject(dd, 0) { Q_D(QDeclarativeExpression); - d->init(ctxt, expr, isRewritten, object, url, lineNumber); + d->init(ctxt, expr, isRewritten, object, url, lineNumber, columnNumber); } /*! @@ -250,7 +251,7 @@ QDeclarativeExpression::QDeclarativeExpression(const QDeclarativeScriptString &s if (cdata) d->init(ctxtdata, cdata->primitives.at(id), true, script.scopeObject(), - cdata->name, script.d.data()->lineNumber); + cdata->name, script.d.data()->lineNumber, script.d.data()->columnNumber); else defaultConstruction = true; @@ -695,14 +696,25 @@ int QDeclarativeExpression::lineNumber() const } /*! + Returns the source file column number for this expression. The source location + must have been previously set by calling setSourceLocation(). +*/ +int QDeclarativeExpression::columnNumber() const +{ + Q_D(const QDeclarativeExpression); + return d->column; +} + +/*! Set the location of this expression to \a line of \a url. This information is used by the script engine. */ -void QDeclarativeExpression::setSourceLocation(const QString &url, int line) +void QDeclarativeExpression::setSourceLocation(const QString &url, int line, int column) { Q_D(QDeclarativeExpression); d->url = url; d->line = line; + d->column = column; } /*! |