Changeset View
Changeset View
Standalone View
Standalone View
src/qmljsc/ir/objecttree.cpp
Show All 27 Lines | |||||
28 | 28 | | |||
29 | ValueAssignment::ValueAssignment(Property *property) | 29 | ValueAssignment::ValueAssignment(Property *property) | ||
30 | : m_property(property) | 30 | : m_property(property) | ||
31 | , m_assignmentType(Invalid) | 31 | , m_assignmentType(Invalid) | ||
32 | , m_objectList(0) | 32 | , m_objectList(0) | ||
33 | { | 33 | { | ||
34 | } | 34 | } | ||
35 | 35 | | |||
36 | ValueAssignment::ValueAssignment(Property* property, ObjectSpec* obj) | ||||
37 | : m_property(property) | ||||
38 | , m_assignmentType(ObjectAssignment) | ||||
39 | , m_objectValue(obj) | ||||
40 | { | ||||
41 | } | ||||
42 | | ||||
43 | ValueAssignment::ValueAssignment(Property* property, QQmlJS::AST::Statement* statement, AssignmentType type) | ||||
44 | : m_property(property) | ||||
45 | , m_assignmentType(type) | ||||
46 | , m_jsValue(statement) // sets m_bindingCode as well (union) | ||||
47 | { | ||||
48 | } | ||||
49 | | ||||
50 | ValueAssignment::ValueAssignment(Property* property, std::initializer_list<ObjectSpec *> objList) | ||||
51 | : m_property(property) | ||||
52 | , m_assignmentType(ObjectList) | ||||
53 | , m_objectList(new QVector<ObjectSpec *>(objList)) | ||||
54 | { | ||||
55 | } | ||||
56 | | ||||
36 | ValueAssignment::~ValueAssignment() | 57 | ValueAssignment::~ValueAssignment() | ||
37 | { | 58 | { | ||
38 | if (m_assignmentType == ObjectList) { | 59 | if (m_assignmentType == ObjectList) { | ||
39 | delete m_objectList; | 60 | delete m_objectList; | ||
40 | } | 61 | } | ||
41 | } | 62 | } | ||
42 | 63 | | |||
43 | Node::Kind ValueAssignment::kind() const | 64 | Node::Kind ValueAssignment::kind() const | ||
▲ Show 20 Lines • Show All 233 Lines • ▼ Show 20 Line(s) | 290 | if (m_rootObject) { | |||
277 | * of an id (which in the above example is redSquare). | 298 | * of an id (which in the above example is redSquare). | ||
278 | * */ | 299 | * */ | ||
279 | } else { | 300 | } else { | ||
280 | visitChildren(visitor); | 301 | visitChildren(visitor); | ||
281 | } | 302 | } | ||
282 | visitor->endVisit(this); | 303 | visitor->endVisit(this); | ||
283 | } | 304 | } | ||
284 | 305 | | |||
285 | void ObjectSpec::visitChildren(Visitor *visitor) { | 306 | void ObjectSpec::visitChildren(Visitor *visitor) | ||
307 | { | ||||
308 | for (auto i = m_properties.begin(); i != m_properties.end(); i++) { | ||||
309 | i->accept(visitor); | ||||
310 | } | ||||
311 | | ||||
312 | for (auto i = m_methods.begin(); i != m_methods.end(); i++) { | ||||
313 | i->accept(visitor); | ||||
314 | } | ||||
315 | | ||||
316 | for (auto i = m_signals.begin(); i != m_signals.end(); i++) { | ||||
317 | i->accept(visitor); | ||||
318 | } | ||||
286 | 319 | | |||
287 | for (auto i = m_signalHandlers.begin(); i != m_signalHandlers.end(); i++) { | 320 | for (auto i = m_signalHandlers.begin(); i != m_signalHandlers.end(); i++) { | ||
288 | i->accept(visitor); | 321 | i->accept(visitor); | ||
289 | } | 322 | } | ||
290 | 323 | | |||
291 | for (auto i = m_valueAssignments.begin(); i != m_valueAssignments.end(); i++) { | 324 | for (auto i = m_valueAssignments.begin(); i != m_valueAssignments.end(); i++) { | ||
292 | i->accept(visitor); | 325 | i->accept(visitor); | ||
293 | } | 326 | } | ||
294 | | ||||
295 | } | 327 | } | ||
296 | 328 | |