diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-01 00:56:54 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-01 00:56:54 (GMT) |
commit | 7ea7efcd67a739a58b1fcd5fe9cf07765ec92860 (patch) | |
tree | 70e6ec920170d150666395c37d9ad5d6edbcd4c4 /src/declarative/qml/parser/javascript.g | |
parent | 5b548025ca353fa2f512356d0969b096b5b705e1 (diff) | |
download | Qt-7ea7efcd67a739a58b1fcd5fe9cf07765ec92860.zip Qt-7ea7efcd67a739a58b1fcd5fe9cf07765ec92860.tar.gz Qt-7ea7efcd67a739a58b1fcd5fe9cf07765ec92860.tar.bz2 |
Support multiline string literals when assigned directly to a QML property
For example, this is now allowed:
Text {
text: "Hello
World"
}
but this isn't as bindings are "real" javascript:
Text {
text: "Big " + "Hello
World"
}
Diffstat (limited to 'src/declarative/qml/parser/javascript.g')
-rw-r--r-- | src/declarative/qml/parser/javascript.g | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/declarative/qml/parser/javascript.g b/src/declarative/qml/parser/javascript.g index cc72737..59ab529 100644 --- a/src/declarative/qml/parser/javascript.g +++ b/src/declarative/qml/parser/javascript.g @@ -78,6 +78,7 @@ %token T_CONST "const" %token T_DEBUGGER "debugger" %token T_RESERVED_WORD "reserved word" +%token T_MULTILINE_STRING_LITERAL "multiline string literal" --- context keywords. %token T_PUBLIC "public" @@ -611,6 +612,27 @@ case $rule_number: { } break; ./ +UiMultilineStringLiteral: T_MULTILINE_STRING_LITERAL ; +/. +case $rule_number: { + AST::StringLiteral *node = makeAstNode<AST::StringLiteral> (driver->nodePool(), sym(1).sval); + node->literalToken = loc(1); + sym(1).Node = node; +} break; +./ + +UiMultilineStringStatement: UiMultilineStringLiteral T_AUTOMATIC_SEMICOLON ; -- automatic semicolon +UiMultilineStringStatement: UiMultilineStringLiteral T_SEMICOLON ; +/. +case $rule_number: { + AST::ExpressionStatement *node = makeAstNode<AST::ExpressionStatement> (driver->nodePool(), sym(1).Expression); + node->semicolonToken = loc(2); + sym(1).Node = node; +} break; +./ + +UiObjectMember: UiQualifiedId T_COLON UiMultilineStringStatement ; +/. case $rule_number: ./ UiArrayObjectMember: UiQualifiedId T_COLON Statement ; /. case $rule_number: ./ UiObjectMember: UiQualifiedId T_COLON Statement ; |