| 44 | subexpression_index_(subexpression_index) {} |
| 45 | |
| 46 | absl::Status Evaluate(ExecutionFrame* frame) const override { |
| 47 | ComprehensionSlot* slot = frame->comprehension_slots().Get(slot_index_); |
| 48 | if (slot->Has()) { |
| 49 | frame->value_stack().Push(slot->value(), slot->attribute()); |
| 50 | } else { |
| 51 | frame->Call(slot_index_, subexpression_index_); |
| 52 | } |
| 53 | return absl::OkStatus(); |
| 54 | } |
| 55 | |
| 56 | private: |
| 57 | const size_t slot_index_; |