Lines Matching refs:left
97 const Token& left,
100 const Value* old_value = scope->GetValue(left.value(), false);
102 if (scope->IsSetButUnused(left.value())) {
109 *err = Err(op_node->left()->GetRange(), "Overwriting unused variable.",
111 left.value().as_string() + "\" that had no effect.");
112 err->AppendSubErr(Err(*scope->GetValue(left.value()),
127 *err = Err(op_node->left()->GetRange(), "Replacing nonempty list.",
135 left.value().as_string() + " = []\nbefore reassigning."));
143 if (right.type() == Value::LIST && left.value() == kSourcesName) {
147 Value* set_value = scope->SetValue(left.value(),
153 scope->SetValue(left.value(), right, op_node->right());
159 // left value. This is set to true when doing +, and false when doing +=.
163 Value* left,
167 switch (left->type()) {
168 // Left-hand-side int.
172 left->int_value() += right.int_value();
177 *left = Value(op_node,
178 base::Int64ToString(left->int_value()) + right.string_value());
188 // Left-hand-side string.
192 left->string_value().append(base::Int64ToString(right.int_value()));
196 left->string_value().append(right.string_value());
204 // Left-hand-side list.
210 AppendFilteredSourcesToValue(scope, right, left);
212 left->list_value().push_back(right);
218 AppendFilteredSourcesToValue(scope, right, left);
222 left->list_value().push_back(right.list_value()[i]);
235 std::string("I see a ") + Value::DescribeType(left->type()) + " and a " +
241 const Token& left,
247 scope->GetValueForcedToCurrentScope(left.value(), op_node);
249 *err = Err(left, "Undefined variable for +=.",
253 ValuePlusEquals(scope, op_node, left, left_value, right, false, err);
255 scope->MarkUnused(left.value());
260 Value* left,
264 switch (left->type()) {
265 // Left-hand-side int.
269 left->int_value() -= right.int_value();
277 // Left-hand-side string.
281 // Left-hand-side list.
283 RemoveMatchesFromList(op_node, left, right, err);
291 std::string("I see a ") + Value::DescribeType(left->type()) + " and a " +
297 const Token& left,
301 scope->GetValueForcedToCurrentScope(left.value(), op_node);
303 *err = Err(left, "Undefined variable for -=.",
309 scope->MarkUnused(left.value());
317 const Value& left,
320 Value ret = left;
328 const Value& left,
331 Value ret = left;
341 const Value& left,
344 if (left == right)
351 const Value& left,
355 Value result = ExecuteEqualsEquals(scope, op_node, left, right, err);
361 const Value& left,
366 err->AppendRange(left.origin()->GetRange());
373 const Value& left,
376 if (left.type() != Value::INTEGER || right.type() != Value::INTEGER)
377 return FillNeedsToIntegersError(op_node, left, right, err);
378 return Value(op_node, left.int_value() <= right.int_value());
383 const Value& left,
386 if (left.type() != Value::INTEGER || right.type() != Value::INTEGER)
387 return FillNeedsToIntegersError(op_node, left, right, err);
388 return Value(op_node, left.int_value() >= right.int_value());
393 const Value& left,
396 if (left.type() != Value::INTEGER || right.type() != Value::INTEGER)
397 return FillNeedsToIntegersError(op_node, left, right, err);
398 return Value(op_node, left.int_value() > right.int_value());
403 const Value& left,
406 if (left.type() != Value::INTEGER || right.type() != Value::INTEGER)
407 return FillNeedsToIntegersError(op_node, left, right, err);
408 return Value(op_node, left.int_value() < right.int_value());
415 const Value& left,
419 static_cast<int64>(left.InterpretAsInt() || right.InterpretAsInt()));
424 const Value& left,
428 static_cast<int64>(left.InterpretAsInt() && right.InterpretAsInt()));
485 const ParseNode* left,
494 const IdentifierNode* left_id = left->AsIdentifier();
497 "This thing on the left is not an idenfitier.");
498 err->AppendRange(left->GetRange());
523 // Left value.
524 Value left_value = left->Execute(scope, err);
529 "This thing on the left does not evaluate to a value.");
530 err->AppendRange(left->GetRange());
535 // version since in this case we want to execute the left side first.