diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-04-24 16:17:27 (GMT) |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-04-24 16:17:27 (GMT) |
commit | 5d8ce4c43c3c2816cd5dca03ddd429f26b96d34d (patch) | |
tree | 0f7f9076d6254b0f4b75c971a168e45dded635ea /src/declarative/qml/qmlscriptparser.cpp | |
parent | 3ee74e1f66eb8c00857aafcbd05b6130af11507a (diff) | |
download | Qt-5d8ce4c43c3c2816cd5dca03ddd429f26b96d34d.zip Qt-5d8ce4c43c3c2816cd5dca03ddd429f26b96d34d.tar.gz Qt-5d8ce4c43c3c2816cd5dca03ddd429f26b96d34d.tar.bz2 |
No more sugar :-)
Diffstat (limited to 'src/declarative/qml/qmlscriptparser.cpp')
-rw-r--r-- | src/declarative/qml/qmlscriptparser.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/declarative/qml/qmlscriptparser.cpp b/src/declarative/qml/qmlscriptparser.cpp index 3d406e7..099985e 100644 --- a/src/declarative/qml/qmlscriptparser.cpp +++ b/src/declarative/qml/qmlscriptparser.cpp @@ -240,7 +240,7 @@ Object *ProcessAST::defineObjectBinding(int line, const QString &objectType, AST::UiObjectInitializer *initializer) { - +#if 0 if (objectType == QLatin1String("Connection")) { AST::UiObjectMemberList *it = initializer->members; @@ -410,6 +410,7 @@ Object *ProcessAST::defineObjectBinding(int line, _stateStack.pop(); return obj; } +#endif return defineObjectBinding_helper(line, qualifiedId, objectType, initializer); } @@ -599,19 +600,28 @@ bool ProcessAST::visit(AST::UiArrayBinding *node) bool ProcessAST::visit(AST::UiSourceElement *node) { + QmlParser::Object *obj = currentObject(); + if (! (obj && obj->typeName == "Script")) { + // ### warning + return false; + } + QString source; QTextStream out(&source); PrettyPretty pp(out); pp(node->sourceElement); - Object *obj = defineObjectBinding(-1, // ### line - 0, - QLatin1String("Script")); + int line = 0; + if (AST::FunctionDeclaration *funDecl = AST::cast<AST::FunctionDeclaration *>(node->sourceElement)) + line = funDecl->functionToken.startLine; + else if (AST::VariableStatement *varStmt = AST::cast<AST::VariableStatement *>(node->sourceElement)) + line = varStmt->declarationKindToken.startLine; Value *value = new Value; value->primitive = source; - value->line = -1; // ### fix me + value->line = line; + obj->getDefaultProperty()->addValue(value); return false; |