Lines Matching refs:element

42     // create left reference for rest element
73 for (const auto *element : array->Elements()) {
76 if (element->IsRestElement()) {
77 GenRestElement(pg, element->AsRestElement(), iterator, array->IsDeclaration());
82 if (element->IsOmittedExpression()) {
88 const ir::Expression *target = element;
90 if (element->IsAssignmentPattern()) {
91 target = element->AsAssignmentPattern()->Left();
92 init = element->AsAssignmentPattern()->Right();
101 pg->BranchIfUndefined(element, defaultInit);
102 pg->LoadAccumulator(element, iterator.Result());
103 pg->Branch(element, assignValue);
105 pg->SetLabel(element, defaultInit);
107 pg->SetLabel(element, assignValue);
165 static void GenDefaultInitializer(PandaGen *pg, const ir::Expression *element, const ir::Expression *init)
173 pg->StoreAccumulator(element, loadedValue);
178 pg->BranchIfUndefined(element, getDefault);
179 pg->LoadAccumulator(element, loadedValue);
180 pg->Branch(element, store);
183 pg->SetLabel(element, getDefault);
186 pg->SetLabel(element, store);
196 for (const auto *element : properties) {
197 if (element->IsRestElement()) {
199 auto lref = JSLReference::Create(pg, element, object->IsDeclaration());
200 pg->CreateObjectWithExcludedKeys(element, rhs, propStart, properties.size() - 1);
209 const ir::Property *propExpr = element->AsProperty();
223 pg->LoadAccumulator(element, propReg);
224 pg->LoadObjByValue(element, rhs);
226 GenDefaultInitializer(pg, element, init);
250 for (const auto *element : properties) {
253 const ir::Property *propExpr = element->AsProperty();
262 pg->LoadAccumulator(element, std::get<VReg>(propOperand));
263 pg->LoadObjByValue(element, rhs);
265 pg->LoadAccumulator(element, rhs);
266 pg->LoadObjProperty(element, propOperand);
269 GenDefaultInitializer(pg, element, init);