aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/parser/qqmljsast.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2012-12-12 12:24:15 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-12-17 13:47:25 +0100
commitac9aa6bf4b46d39273df12e8b8a1f6c5df3a899d (patch)
tree8c2877ba1c0d05e7ace1a429395feae4c4256a49 /src/qml/qml/parser/qqmljsast.cpp
parentf685e3463b32bfd05a7b2574b4699e5f42f02f96 (diff)
Added parsing for getter/setter definitions in property assignments.
Specified in ecma 5.1, 11.1.5. Change-Id: I93d12593534ed8a987922c8aa329124940e77c6f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/parser/qqmljsast.cpp')
-rw-r--r--src/qml/qml/parser/qqmljsast.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/qml/qml/parser/qqmljsast.cpp b/src/qml/qml/parser/qqmljsast.cpp
index aafb63057b..96ad80d3e2 100644
--- a/src/qml/qml/parser/qqmljsast.cpp
+++ b/src/qml/qml/parser/qqmljsast.cpp
@@ -213,12 +213,32 @@ void Elision::accept0(Visitor *visitor)
visitor->endVisit(this);
}
-void PropertyNameAndValueList::accept0(Visitor *visitor)
+void PropertyNameAndValue::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- for (PropertyNameAndValueList *it = this; it; it = it->next) {
- accept(it->name, visitor);
- accept(it->value, visitor);
+ accept(name, visitor);
+ accept(value, visitor);
+ }
+
+ visitor->endVisit(this);
+}
+
+void PropertyGetterSetter::accept0(Visitor *visitor)
+{
+ if (visitor->visit(this)) {
+ accept(name, visitor);
+ accept(formals, visitor);
+ accept(functionBody, visitor);
+ }
+
+ visitor->endVisit(this);
+}
+
+void PropertyAssignmentList::accept0(Visitor *visitor)
+{
+ if (visitor->visit(this)) {
+ for (PropertyAssignmentList *it = this; it; it = it->next) {
+ accept(it->assignment, visitor);
}
}