Array::Ptr arr = expr->EvaluateOperand2(locals);
std::vector<Value> arguments;
- ObjectLock olock(arr);
- BOOST_FOREACH(const AExpression::Ptr& aexpr, arr) {
+ int index = 0;
+ for (int index = 0; index < arr->GetLength(); index++) {
+ const AExpression::Ptr& aexpr = arr->Get(index);
arguments.push_back(aexpr->Evaluate(locals));
}
Array::Ptr result = make_shared<Array>();
if (arr) {
- ObjectLock olock(arr);
- BOOST_FOREACH(const AExpression::Ptr& aexpr, arr) {
+ int index = 0;
+ for (int index = 0; index < arr->GetLength(); index++) {
+ const AExpression::Ptr& aexpr = arr->Get(index);
result->Add(aexpr->Evaluate(locals));
}
}
result->Set("__parent", locals);
if (arr) {
- ObjectLock olock(arr);
- BOOST_FOREACH(const AExpression::Ptr& aexpr, arr) {
+ int index = 0;
+ for (int index = 0; index < arr->GetLength(); index++) {
+ const AExpression::Ptr& aexpr = arr->Get(index);
Dictionary::Ptr alocals = in_place ? locals : result;
aexpr->Evaluate(alocals);