Esempio n. 1
0
void FunctionNode::Accept(Visitor& visitor)
{
    try
    {
        visitor.BeginVisit(*this);
        if (!visitor.SkipContent())
        {
            templateParameters.Accept(visitor);
            parameters.Accept(visitor);
            if (visitor.VisitBodies())
            {
                if (body)
                {
                    body->Accept(visitor);
                }
            }
        }
        visitor.EndVisit(*this);
    }
    catch (Cm::Ast::Exception& ex)
    {
        ex.AddReference(GetSpan());
        throw;
    }
}