#pragma once #include "cps/AST.h" #include #include namespace cps { // The caller owns the parsed statements for the duration of compilation. struct SourceUnit { std::string Path; const std::vector> &Statements; std::vector Visible; std::vector LibraryLines; bool isLibrary(int Line) const { return Line > 0 && static_cast(Line) <= LibraryLines.size() && LibraryLines[Line - 1]; } }; }