SMDiagnostic::SMDiagnostic(const SourceMgr &sm, SMLoc L, const std::string &FN, int Line, int Col, SourceMgr::DiagKind Kind, const std::string &Msg, const std::string &LineStr, ArrayRef<std::pair<unsigned,unsigned> > Ranges) : SM(&sm), Loc(L), Filename(FN), LineNo(Line), ColumnNo(Col), Kind(Kind), Message(Msg), LineContents(LineStr), Ranges(Ranges.vec()) { }
SMDiagnostic::SMDiagnostic(const SourceMgr &sm, SMLoc L, StringRef FN, int Line, int Col, SourceMgr::DiagKind Kind, StringRef Msg, StringRef LineStr, ArrayRef<std::pair<unsigned,unsigned> > Ranges, ArrayRef<SMFixIt> Hints) : SM(&sm), Loc(L), Filename(FN), LineNo(Line), ColumnNo(Col), Kind(Kind), Message(Msg), LineContents(LineStr), Ranges(Ranges.vec()), FixIts(Hints.begin(), Hints.end()) { std::sort(FixIts.begin(), FixIts.end()); }
ToolInvocation::ToolInvocation( ArrayRef<std::string> CommandLine, FrontendAction *ToolAction, FileManager *Files) : CommandLine(CommandLine.vec()), ToolAction(ToolAction), Files(Files) { }