aspects as necessary. */
void resolve(Stage &, unsigned = RESOLVE_ALL);
+ /** Checks the validity of the module. If the return value is false, the
+ module's diagnostics list will contain additional information of errors. */
bool validate(Stage &);
+ static bool diagnostic_line_order(const Diagnostic &, const Diagnostic &);
+
/** Applies optimizations to a stage. The return value indicates which
stage should be optimized next. */
OptimizeResult optimize(Stage &);