ASTNode* CEvaluationNodeCall::toAST(const CCopasiDataModel* pDataModel) const { ASTNode* pNode = NULL; pNode = new ASTNode(AST_FUNCTION); const std::string funName = this->getData(); CEvaluationTree* pFun = CCopasiRootContainer::getFunctionList()->findFunction(funName); assert(pFun != NULL); if (pFun == NULL || pFun->getSBMLId().empty()) fatalError(); pNode->setName(pFun->getSBMLId().c_str()); const CEvaluationNode* child = static_cast<const CEvaluationNode*>(this->getChild()); while (child) { pNode->addChild(child->toAST(pDataModel)); child = static_cast<const CEvaluationNode*>(child->getSibling()); } return pNode; }