8#ifndef SkSLProgramVisitor_DEFINED
9#define SkSLProgramVisitor_DEFINED
62 bool visit(
const Program& program);
67 bool visitExpressionPtr(
const std::unique_ptr<Expression>&
e)
final {
68 return this->visitExpression(*
e);
70 bool visitStatementPtr(
const std::unique_ptr<Statement>&
s)
final {
71 return this->visitStatement(*
s);
virtual bool visitStatementPtr(typename T::UniquePtrStatement &stmt)=0
virtual bool visitStatement(typename T::Statement &statement)
virtual ~TProgramVisitor()=default
virtual bool visitExpressionPtr(typename T::UniquePtrExpression &expr)=0
virtual bool visitExpression(typename T::Expression &expression)
virtual bool visitProgramElement(typename T::ProgramElement &programElement)
const std::unique_ptr< SkSL::Statement > UniquePtrStatement
const std::unique_ptr< SkSL::Expression > UniquePtrExpression