23 std::unique_ptr<ProgramConfig> config,
24 std::shared_ptr<Context> context,
25 std::vector<std::unique_ptr<ProgramElement>> elements,
26 std::unique_ptr<SymbolTable>
symbols,
27 std::unique_ptr<Pool>
pool)
29 , fConfig(
std::move(config))
33 , fOwnedElements(
std::move(elements)) {
51 result +=
e->description();
const SymbolTable & fSymbols
const FunctionDefinition * definition() const
std::unique_ptr< ProgramUsage > GetUsage(const Program &program)
std::vector< std::unique_ptr< ProgramElement > > fOwnedElements
Program(std::unique_ptr< std::string > source, std::unique_ptr< ProgramConfig > config, std::shared_ptr< Context > context, std::vector< std::unique_ptr< ProgramElement > > elements, std::unique_ptr< SymbolTable > symbols, std::unique_ptr< Pool > pool)
ElementsCollection elements() const
std::shared_ptr< Context > fContext
std::unique_ptr< ProgramUsage > fUsage
std::unique_ptr< Pool > fPool
std::unique_ptr< SymbolTable > fSymbols
const FunctionDeclaration * getFunction(const char *functionName) const
std::unique_ptr< ProgramConfig > fConfig
std::string description() const