Start a new MessageStack with the given first_node, which will be used to process freestanding fields and submessages.
| 29 | // Start a new MessageStack with the given first_node, which will be used to |
| 30 | // process freestanding fields and submessages. |
| 31 | explicit MessageStack(Message* first_node) { |
| 32 | nodes_.push(first_node); |
| 33 | valid_ = true; |
| 34 | } |
| 35 | |
| 36 | void ConsumeToken(std::string* token) override { |
| 37 | if (!valid_) return; |