From 50399e39a398cfd4bf0cdb6b514ad89c42fc0a20 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 28 Sep 2012 17:35:21 +0200 Subject: Fix in QmlJS parser for UiParameterList The propertyTypeToken was not initilized in this case. Not having the source location of this token leads to bugs in the tooling. e. g.: QTCREATORBUG-7931 I also added the initializer for program keeping the parser and the grammar in sync. Change-Id: Id7bfb4b6dd1b9689e701a858b6c769d3addab5dc Reviewed-by: Christian Kamm --- src/qml/qml/parser/qqmljs.g | 2 ++ src/qml/qml/parser/qqmljsparser.cpp | 1 + 2 files changed, 3 insertions(+) (limited to 'src') diff --git a/src/qml/qml/parser/qqmljs.g b/src/qml/qml/parser/qqmljs.g index 00589afa97..e71ad637b0 100644 --- a/src/qml/qml/parser/qqmljs.g +++ b/src/qml/qml/parser/qqmljs.g @@ -413,6 +413,7 @@ Parser::Parser(Engine *engine): state_stack(0), location_stack(0), string_stack(0), + program(0), first_token(0), last_token(0) { @@ -835,6 +836,7 @@ UiParameterList: UiParameterList T_COMMA UiPropertyType JsIdentifier ; /. case $rule_number: { AST::UiParameterList *node = new (pool) AST::UiParameterList(sym(1).UiParameterList, stringRef(3), stringRef(4)); + node->propertyTypeToken = loc(3); node->commaToken = loc(2); node->identifierToken = loc(4); sym(1).Node = node; diff --git a/src/qml/qml/parser/qqmljsparser.cpp b/src/qml/qml/parser/qqmljsparser.cpp index 2c4d2ab807..1bc8f23dca 100644 --- a/src/qml/qml/parser/qqmljsparser.cpp +++ b/src/qml/qml/parser/qqmljsparser.cpp @@ -386,6 +386,7 @@ case 47: { case 48: { AST::UiParameterList *node = new (pool) AST::UiParameterList(sym(1).UiParameterList, stringRef(3), stringRef(4)); + node->propertyTypeToken = loc(3); node->commaToken = loc(2); node->identifierToken = loc(4); sym(1).Node = node; -- cgit v1.2.3