void Source::append_text_chunk(const std::string& str) { if (_chunk_list->empty()) { _chunk_list->push_back(SourceChunkRef(new SourceText(str))); } else { SourceChunkRef last = *(_chunk_list->rbegin()); if (last->is_source_text()) { std::shared_ptr<SourceText> text = std::static_pointer_cast<SourceText>(last); text->_source += str; } else { _chunk_list->push_back(SourceChunkRef(new SourceText(str))); } } }
void Source::append_text_chunk(const std::string& str) { if (_chunk_list->empty()) { _chunk_list->push_back(SourceChunkRef(new SourceText(str))); } else { SourceChunkRef last = *(_chunk_list->rbegin()); if (last->is_source_text()) { RefPtr<SourceText> text = RefPtr<SourceText>::cast_dynamic(last); text->_source += str; } else { _chunk_list->push_back(SourceChunkRef(new SourceText(str))); } } }