diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2012-12-12 12:24:15 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-17 13:47:25 +0100 |
commit | ac9aa6bf4b46d39273df12e8b8a1f6c5df3a899d (patch) | |
tree | 8c2877ba1c0d05e7ace1a429395feae4c4256a49 /src/qml/qml/parser/qqmljsast.cpp | |
parent | f685e3463b32bfd05a7b2574b4699e5f42f02f96 (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.cpp | 28 |
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); } } |