[C++11] Add 'override' keyword to virtual methods that override their base class.

llvm-svn: 203758
This commit is contained in:
Craig Topper 2014-03-13 06:07:04 +00:00
parent abb90c9ddb
commit afa7cb3aa5
28 changed files with 377 additions and 397 deletions

View File

@ -76,8 +76,8 @@ public:
Command(const Action &_Source, const Tool &_Creator, const char *_Executable,
const llvm::opt::ArgStringList &_Arguments);
virtual void Print(llvm::raw_ostream &OS, const char *Terminator,
bool Quote, bool CrashReport = false) const;
void Print(llvm::raw_ostream &OS, const char *Terminator, bool Quote,
bool CrashReport = false) const override;
virtual int Execute(const StringRef **Redirects, std::string *ErrMsg,
bool *ExecutionFailed) const;
@ -106,11 +106,11 @@ public:
const char *Executable_, const ArgStringList &Arguments_,
Command *Fallback_);
virtual void Print(llvm::raw_ostream &OS, const char *Terminator,
bool Quote, bool CrashReport = false) const;
void Print(llvm::raw_ostream &OS, const char *Terminator, bool Quote,
bool CrashReport = false) const override;
virtual int Execute(const StringRef **Redirects, std::string *ErrMsg,
bool *ExecutionFailed) const;
int Execute(const StringRef **Redirects, std::string *ErrMsg,
bool *ExecutionFailed) const override;
static bool classof(const Job *J) {
return J->getKind() == FallbackCommandClass;
@ -135,8 +135,8 @@ public:
JobList();
virtual ~JobList();
virtual void Print(llvm::raw_ostream &OS, const char *Terminator,
bool Quote, bool CrashReport = false) const;
void Print(llvm::raw_ostream &OS, const char *Terminator,
bool Quote, bool CrashReport = false) const override;
/// Add a job to the list (taking ownership).
void addJob(Job *J) { Jobs.push_back(J); }

View File

@ -858,19 +858,16 @@ public:
///
/// \returns True if an error occurred, false otherwise.
bool serialize(raw_ostream &OS);
virtual ModuleLoadResult loadModule(SourceLocation ImportLoc,
ModuleIdPath Path,
Module::NameVisibilityKind Visibility,
bool IsInclusionDirective) {
ModuleLoadResult loadModule(SourceLocation ImportLoc, ModuleIdPath Path,
Module::NameVisibilityKind Visibility,
bool IsInclusionDirective) override {
// ASTUnit doesn't know how to load modules (not that this matters).
return ModuleLoadResult();
}
virtual void makeModuleVisible(Module *Mod,
Module::NameVisibilityKind Visibility,
SourceLocation ImportLoc,
bool Complain) { }
void makeModuleVisible(Module *Mod, Module::NameVisibilityKind Visibility,
SourceLocation ImportLoc, bool Complain) override {}
};

View File

@ -32,28 +32,28 @@ public:
Secondary.reset(_Secondary);
}
virtual void BeginSourceFile(const LangOptions &LO,
const Preprocessor *PP) {
void BeginSourceFile(const LangOptions &LO,
const Preprocessor *PP) override {
Primary->BeginSourceFile(LO, PP);
Secondary->BeginSourceFile(LO, PP);
}
virtual void EndSourceFile() {
void EndSourceFile() override {
Secondary->EndSourceFile();
Primary->EndSourceFile();
}
virtual void finish() {
void finish() override {
Secondary->finish();
Primary->finish();
}
virtual bool IncludeInDiagnosticCounts() const {
bool IncludeInDiagnosticCounts() const override {
return Primary->IncludeInDiagnosticCounts();
}
virtual void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info) {
void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info) override {
// Default implementation (Warnings/errors count).
DiagnosticConsumer::HandleDiagnostic(DiagLevel, Info);

View File

@ -39,35 +39,35 @@ protected:
// ExternalASTSource interface.
//===----------------------------------------------------------------------===//
virtual Decl *GetExternalDecl(uint32_t ID);
virtual Selector GetExternalSelector(uint32_t ID);
virtual uint32_t GetNumExternalSelectors();
virtual Stmt *GetExternalDeclStmt(uint64_t Offset);
virtual CXXBaseSpecifier *GetExternalCXXBaseSpecifiers(uint64_t Offset);
virtual bool FindExternalVisibleDeclsByName(const DeclContext *DC,
DeclarationName Name);
virtual ExternalLoadResult FindExternalLexicalDecls(const DeclContext *DC,
bool (*isKindWeWant)(Decl::Kind),
SmallVectorImpl<Decl*> &Result);
virtual void CompleteType(TagDecl *Tag);
virtual void CompleteType(ObjCInterfaceDecl *Class);
virtual void StartedDeserializing();
virtual void FinishedDeserializing();
virtual void StartTranslationUnit(ASTConsumer *Consumer);
virtual void PrintStats();
Decl *GetExternalDecl(uint32_t ID) override;
Selector GetExternalSelector(uint32_t ID) override;
uint32_t GetNumExternalSelectors() override;
Stmt *GetExternalDeclStmt(uint64_t Offset) override;
CXXBaseSpecifier *GetExternalCXXBaseSpecifiers(uint64_t Offset) override;
bool FindExternalVisibleDeclsByName(const DeclContext *DC,
DeclarationName Name) override;
ExternalLoadResult FindExternalLexicalDecls(const DeclContext *DC,
bool (*isKindWeWant)(Decl::Kind),
SmallVectorImpl<Decl*> &Result) override;
void CompleteType(TagDecl *Tag) override;
void CompleteType(ObjCInterfaceDecl *Class) override;
void StartedDeserializing() override;
void FinishedDeserializing() override;
void StartTranslationUnit(ASTConsumer *Consumer) override;
void PrintStats() override;
/// Return the amount of memory used by memory buffers, breaking down
/// by heap-backed versus mmap'ed memory.
virtual void getMemoryBufferSizes(MemoryBufferSizes &sizes) const;
void getMemoryBufferSizes(MemoryBufferSizes &sizes) const override;
//===----------------------------------------------------------------------===//
// ExternalSemaSource interface.
//===----------------------------------------------------------------------===//
virtual void InitializeSema(Sema &S);
virtual void ForgetSema();
virtual void ReadMethodPool(Selector Sel);
virtual bool LookupUnqualified(LookupResult &R, Scope *S);
void InitializeSema(Sema &S) override;
void ForgetSema() override;
void ReadMethodPool(Selector Sel) override;
bool LookupUnqualified(LookupResult &R, Scope *S) override;
};
}

View File

@ -682,16 +682,13 @@ public:
const FrontendOptions &Opts);
/// }
virtual ModuleLoadResult loadModule(SourceLocation ImportLoc,
ModuleIdPath Path,
Module::NameVisibilityKind Visibility,
bool IsInclusionDirective);
virtual void makeModuleVisible(Module *Mod,
Module::NameVisibilityKind Visibility,
SourceLocation ImportLoc,
bool Complain);
ModuleLoadResult loadModule(SourceLocation ImportLoc, ModuleIdPath Path,
Module::NameVisibilityKind Visibility,
bool IsInclusionDirective) override;
void makeModuleVisible(Module *Mod, Module::NameVisibilityKind Visibility,
SourceLocation ImportLoc, bool Complain) override;
bool hadModuleLoaderFatalFailure() const {
return ModuleLoader::HadFatalFailure;

View File

@ -158,20 +158,19 @@ public:
: DiagnosticRenderer(LangOpts, DiagOpts) {}
virtual ~DiagnosticNoteRenderer();
virtual void emitBasicNote(StringRef Message);
virtual void emitIncludeLocation(SourceLocation Loc,
PresumedLoc PLoc,
const SourceManager &SM);
virtual void emitImportLocation(SourceLocation Loc, PresumedLoc PLoc,
void emitBasicNote(StringRef Message) override;
void emitIncludeLocation(SourceLocation Loc, PresumedLoc PLoc,
const SourceManager &SM) override;
void emitImportLocation(SourceLocation Loc, PresumedLoc PLoc,
StringRef ModuleName,
const SourceManager &SM) override;
void emitBuildingModuleLocation(SourceLocation Loc, PresumedLoc PLoc,
StringRef ModuleName,
const SourceManager &SM);
virtual void emitBuildingModuleLocation(SourceLocation Loc, PresumedLoc PLoc,
StringRef ModuleName,
const SourceManager &SM);
const SourceManager &SM) override;
virtual void emitNote(SourceLocation Loc, StringRef Message,
const SourceManager *SM) = 0;

View File

@ -218,17 +218,17 @@ protected:
///
/// This will also take care of instantiating a code completion consumer if
/// the user requested it and the action supports it.
virtual void ExecuteAction();
void ExecuteAction() override;
public:
virtual bool usesPreprocessorOnly() const { return false; }
bool usesPreprocessorOnly() const override { return false; }
};
class PluginASTAction : public ASTFrontendAction {
virtual void anchor();
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) = 0;
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override = 0;
public:
/// \brief Parse the given plugin command line arguments.
@ -246,11 +246,11 @@ class PreprocessorFrontendAction : public FrontendAction {
protected:
/// \brief Provide a default implementation which returns aborts;
/// this method should never be called by FrontendAction clients.
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
public:
virtual bool usesPreprocessorOnly() const { return true; }
bool usesPreprocessorOnly() const override { return true; }
};
/// \brief A frontend action which simply wraps some other runtime-specified
@ -263,25 +263,24 @@ class WrapperFrontendAction : public FrontendAction {
std::unique_ptr<FrontendAction> WrappedAction;
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
virtual bool BeginInvocation(CompilerInstance &CI);
virtual bool BeginSourceFileAction(CompilerInstance &CI,
StringRef Filename);
virtual void ExecuteAction();
virtual void EndSourceFileAction();
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
bool BeginInvocation(CompilerInstance &CI) override;
bool BeginSourceFileAction(CompilerInstance &CI, StringRef Filename) override;
void ExecuteAction() override;
void EndSourceFileAction() override;
public:
/// Construct a WrapperFrontendAction from an existing action, taking
/// ownership of it.
WrapperFrontendAction(FrontendAction *WrappedAction);
virtual bool usesPreprocessorOnly() const;
virtual TranslationUnitKind getTranslationUnitKind();
virtual bool hasPCHSupport() const;
virtual bool hasASTFileSupport() const;
virtual bool hasIRSupport() const;
virtual bool hasCodeCompletionSupport() const;
bool usesPreprocessorOnly() const override;
TranslationUnitKind getTranslationUnitKind() override;
bool hasPCHSupport() const override;
bool hasASTFileSupport() const override;
bool hasIRSupport() const override;
bool hasCodeCompletionSupport() const override;
};
} // end namespace clang

View File

@ -23,15 +23,15 @@ class Module;
//===----------------------------------------------------------------------===//
class InitOnlyAction : public FrontendAction {
virtual void ExecuteAction();
void ExecuteAction() override;
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
public:
// Don't claim to only use the preprocessor, we want to follow the AST path,
// but do nothing.
virtual bool usesPreprocessorOnly() const { return false; }
bool usesPreprocessorOnly() const override { return false; }
};
//===----------------------------------------------------------------------===//
@ -40,44 +40,44 @@ public:
class ASTPrintAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
};
class ASTDumpAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
};
class ASTDeclListAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
};
class ASTViewAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
};
class DeclContextPrintAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
};
class GeneratePCHAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
virtual TranslationUnitKind getTranslationUnitKind() {
TranslationUnitKind getTranslationUnitKind() override {
return TU_Prefix;
}
virtual bool hasASTFileSupport() const { return false; }
bool hasASTFileSupport() const override { return false; }
public:
/// \brief Compute the AST consumer arguments that will be used to
@ -96,21 +96,21 @@ class GenerateModuleAction : public ASTFrontendAction {
bool IsSystem;
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
virtual TranslationUnitKind getTranslationUnitKind() {
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
TranslationUnitKind getTranslationUnitKind() override {
return TU_Module;
}
virtual bool hasASTFileSupport() const { return false; }
bool hasASTFileSupport() const override { return false; }
public:
explicit GenerateModuleAction(bool IsSystem = false)
: ASTFrontendAction(), IsSystem(IsSystem) { }
virtual bool BeginSourceFileAction(CompilerInstance &CI, StringRef Filename);
bool BeginSourceFileAction(CompilerInstance &CI, StringRef Filename) override;
/// \brief Compute the AST consumer arguments that will be used to
/// create the PCHGenerator instance returned by CreateASTConsumer.
///
@ -124,37 +124,37 @@ public:
class SyntaxOnlyAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
public:
virtual bool hasCodeCompletionSupport() const { return true; }
bool hasCodeCompletionSupport() const override { return true; }
};
/// \brief Dump information about the given module file, to be used for
/// basic debugging and discovery.
class DumpModuleInfoAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
virtual void ExecuteAction();
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
void ExecuteAction() override;
public:
virtual bool hasPCHSupport() const { return false; }
virtual bool hasASTFileSupport() const { return true; }
virtual bool hasIRSupport() const { return false; }
virtual bool hasCodeCompletionSupport() const { return false; }
bool hasPCHSupport() const override { return false; }
bool hasASTFileSupport() const override { return true; }
bool hasIRSupport() const override { return false; }
bool hasCodeCompletionSupport() const override { return false; }
};
class VerifyPCHAction : public ASTFrontendAction {
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
virtual void ExecuteAction();
void ExecuteAction() override;
public:
virtual bool hasCodeCompletionSupport() const { return false; }
bool hasCodeCompletionSupport() const override { return false; }
};
/**
@ -173,34 +173,34 @@ class ASTMergeAction : public FrontendAction {
std::vector<std::string> ASTFiles;
protected:
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
virtual bool BeginSourceFileAction(CompilerInstance &CI,
StringRef Filename);
bool BeginSourceFileAction(CompilerInstance &CI,
StringRef Filename) override;
virtual void ExecuteAction();
virtual void EndSourceFileAction();
void ExecuteAction() override;
void EndSourceFileAction() override;
public:
ASTMergeAction(FrontendAction *AdaptedAction, ArrayRef<std::string> ASTFiles);
virtual ~ASTMergeAction();
virtual bool usesPreprocessorOnly() const;
virtual TranslationUnitKind getTranslationUnitKind();
virtual bool hasPCHSupport() const;
virtual bool hasASTFileSupport() const;
virtual bool hasCodeCompletionSupport() const;
bool usesPreprocessorOnly() const override;
TranslationUnitKind getTranslationUnitKind() override;
bool hasPCHSupport() const override;
bool hasASTFileSupport() const override;
bool hasCodeCompletionSupport() const override;
};
class PrintPreambleAction : public FrontendAction {
protected:
void ExecuteAction();
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &, StringRef) {
return 0;
void ExecuteAction() override;
ASTConsumer *CreateASTConsumer(CompilerInstance &, StringRef) override {
return 0;
}
virtual bool usesPreprocessorOnly() const { return true; }
bool usesPreprocessorOnly() const override { return true; }
};
//===----------------------------------------------------------------------===//
@ -209,29 +209,29 @@ protected:
class DumpRawTokensAction : public PreprocessorFrontendAction {
protected:
void ExecuteAction();
void ExecuteAction() override;
};
class DumpTokensAction : public PreprocessorFrontendAction {
protected:
void ExecuteAction();
void ExecuteAction() override;
};
class GeneratePTHAction : public PreprocessorFrontendAction {
protected:
void ExecuteAction();
void ExecuteAction() override;
};
class PreprocessOnlyAction : public PreprocessorFrontendAction {
protected:
void ExecuteAction();
void ExecuteAction() override;
};
class PrintPreprocessedAction : public PreprocessorFrontendAction {
protected:
void ExecuteAction();
void ExecuteAction() override;
virtual bool hasPCHSupport() const { return true; }
bool hasPCHSupport() const override { return true; }
};
} // end namespace clang

View File

@ -47,12 +47,13 @@ namespace clang {
/// \brief If this particular record type has an overridden layout,
/// return that layout.
virtual bool
bool
layoutRecordType(const RecordDecl *Record,
uint64_t &Size, uint64_t &Alignment,
llvm::DenseMap<const FieldDecl *, uint64_t> &FieldOffsets,
llvm::DenseMap<const CXXRecordDecl *, CharUnits> &BaseOffsets,
llvm::DenseMap<const CXXRecordDecl *, CharUnits> &VirtualBaseOffsets);
llvm::DenseMap<const CXXRecordDecl *,
CharUnits> &VirtualBaseOffsets) override;
/// \brief Dump the overridden layouts.
void dump();

View File

@ -62,14 +62,14 @@ public:
DwarfDebugFlags = Value;
}
void BeginSourceFile(const LangOptions &LO, const Preprocessor *PP) {
void BeginSourceFile(const LangOptions &LO, const Preprocessor *PP) override {
LangOpts = &LO;
}
void EndSourceFile();
void EndSourceFile() override;
virtual void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info);
void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info) override;
};
} // end namespace clang

View File

@ -33,23 +33,23 @@ public:
~MultiplexConsumer();
// ASTConsumer
virtual void Initialize(ASTContext &Context);
virtual void HandleCXXStaticMemberVarInstantiation(VarDecl *VD);
virtual bool HandleTopLevelDecl(DeclGroupRef D);
virtual void HandleInterestingDecl(DeclGroupRef D);
virtual void HandleTranslationUnit(ASTContext &Ctx);
virtual void HandleTagDeclDefinition(TagDecl *D);
virtual void HandleCXXImplicitFunctionInstantiation(FunctionDecl *D);
virtual void HandleTopLevelDeclInObjCContainer(DeclGroupRef D);
virtual void CompleteTentativeDefinition(VarDecl *D);
virtual void HandleVTable(CXXRecordDecl *RD, bool DefinitionRequired);
virtual ASTMutationListener *GetASTMutationListener();
virtual ASTDeserializationListener *GetASTDeserializationListener();
virtual void PrintStats();
void Initialize(ASTContext &Context) override;
void HandleCXXStaticMemberVarInstantiation(VarDecl *VD) override;
bool HandleTopLevelDecl(DeclGroupRef D) override;
void HandleInterestingDecl(DeclGroupRef D) override;
void HandleTranslationUnit(ASTContext &Ctx) override;
void HandleTagDeclDefinition(TagDecl *D) override;
void HandleCXXImplicitFunctionInstantiation(FunctionDecl *D) override;
void HandleTopLevelDeclInObjCContainer(DeclGroupRef D) override;
void CompleteTentativeDefinition(VarDecl *D) override;
void HandleVTable(CXXRecordDecl *RD, bool DefinitionRequired) override;
ASTMutationListener *GetASTMutationListener() override;
ASTDeserializationListener *GetASTDeserializationListener() override;
void PrintStats() override;
// SemaConsumer
virtual void InitializeSema(Sema &S);
virtual void ForgetSema();
void InitializeSema(Sema &S) override;
void ForgetSema() override;
private:
std::vector<ASTConsumer*> Consumers; // Owns these.

View File

@ -77,38 +77,38 @@ public:
bool ShowColors);
protected:
virtual void emitDiagnosticMessage(SourceLocation Loc,PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
StringRef Message,
ArrayRef<CharSourceRange> Ranges,
const SourceManager *SM,
DiagOrStoredDiag D);
void emitDiagnosticMessage(SourceLocation Loc,PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
StringRef Message,
ArrayRef<CharSourceRange> Ranges,
const SourceManager *SM,
DiagOrStoredDiag D) override;
virtual void emitDiagnosticLoc(SourceLocation Loc, PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
ArrayRef<CharSourceRange> Ranges,
const SourceManager &SM);
virtual void emitCodeContext(SourceLocation Loc,
DiagnosticsEngine::Level Level,
SmallVectorImpl<CharSourceRange>& Ranges,
ArrayRef<FixItHint> Hints,
const SourceManager &SM) {
void emitDiagnosticLoc(SourceLocation Loc, PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
ArrayRef<CharSourceRange> Ranges,
const SourceManager &SM) override;
void emitCodeContext(SourceLocation Loc,
DiagnosticsEngine::Level Level,
SmallVectorImpl<CharSourceRange>& Ranges,
ArrayRef<FixItHint> Hints,
const SourceManager &SM) override {
emitSnippetAndCaret(Loc, Level, Ranges, Hints, SM);
}
virtual void emitBasicNote(StringRef Message);
virtual void emitIncludeLocation(SourceLocation Loc, PresumedLoc PLoc,
const SourceManager &SM);
virtual void emitImportLocation(SourceLocation Loc, PresumedLoc PLoc,
void emitBasicNote(StringRef Message) override;
void emitIncludeLocation(SourceLocation Loc, PresumedLoc PLoc,
const SourceManager &SM) override;
void emitImportLocation(SourceLocation Loc, PresumedLoc PLoc,
StringRef ModuleName,
const SourceManager &SM) override;
void emitBuildingModuleLocation(SourceLocation Loc, PresumedLoc PLoc,
StringRef ModuleName,
const SourceManager &SM);
virtual void emitBuildingModuleLocation(SourceLocation Loc, PresumedLoc PLoc,
StringRef ModuleName,
const SourceManager &SM);
const SourceManager &SM) override;
private:
void emitSnippetAndCaret(SourceLocation Loc, DiagnosticsEngine::Level Level,

View File

@ -39,8 +39,8 @@ public:
const_iterator note_begin() const { return Notes.begin(); }
const_iterator note_end() const { return Notes.end(); }
virtual void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info);
void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info) override;
/// FlushDiagnostics - Flush the buffered diagnostics to an given
/// diagnostic engine.

View File

@ -47,9 +47,10 @@ public:
/// used.
void setPrefix(std::string Value) { Prefix = Value; }
void BeginSourceFile(const LangOptions &LO, const Preprocessor *PP);
void EndSourceFile();
void HandleDiagnostic(DiagnosticsEngine::Level Level, const Diagnostic &Info);
void BeginSourceFile(const LangOptions &LO, const Preprocessor *PP) override;
void EndSourceFile() override;
void HandleDiagnostic(DiagnosticsEngine::Level Level,
const Diagnostic &Info) override;
};
} // end namespace clang

View File

@ -239,10 +239,10 @@ public:
VerifyDiagnosticConsumer(DiagnosticsEngine &Diags);
~VerifyDiagnosticConsumer();
virtual void BeginSourceFile(const LangOptions &LangOpts,
const Preprocessor *PP);
void BeginSourceFile(const LangOptions &LangOpts,
const Preprocessor *PP) override;
virtual void EndSourceFile();
void EndSourceFile() override;
enum ParsedStatus {
/// File has been processed via HandleComment.
@ -258,10 +258,10 @@ public:
/// \brief Update lists of parsed and unparsed files.
void UpdateParsedFileStatus(SourceManager &SM, FileID FID, ParsedStatus PS);
virtual bool HandleComment(Preprocessor &PP, SourceRange Comment);
bool HandleComment(Preprocessor &PP, SourceRange Comment) override;
virtual void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info);
void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info) override;
};
} // end namspace clang

View File

@ -41,7 +41,7 @@ namespace {
: Out(Out ? *Out : llvm::outs()), Dump(Dump),
FilterString(FilterString), DumpLookups(DumpLookups) {}
virtual void HandleTranslationUnit(ASTContext &Context) {
void HandleTranslationUnit(ASTContext &Context) override {
TranslationUnitDecl *D = Context.getTranslationUnitDecl();
if (FilterString.empty())
@ -101,7 +101,7 @@ namespace {
ASTDeclNodeLister(raw_ostream *Out = NULL)
: Out(Out ? *Out : llvm::outs()) {}
virtual void HandleTranslationUnit(ASTContext &Context) {
void HandleTranslationUnit(ASTContext &Context) override {
TraverseDecl(Context.getTranslationUnitDecl());
}
@ -138,11 +138,11 @@ namespace {
class ASTViewer : public ASTConsumer {
ASTContext *Context;
public:
void Initialize(ASTContext &Context) {
void Initialize(ASTContext &Context) override {
this->Context = &Context;
}
virtual bool HandleTopLevelDecl(DeclGroupRef D) {
bool HandleTopLevelDecl(DeclGroupRef D) override {
for (DeclGroupRef::iterator I = D.begin(), E = D.end(); I != E; ++I)
HandleTopLevelSingleDecl(*I);
return true;
@ -177,7 +177,7 @@ class DeclContextPrinter : public ASTConsumer {
public:
DeclContextPrinter() : Out(llvm::errs()) {}
void HandleTranslationUnit(ASTContext &C) {
void HandleTranslationUnit(ASTContext &C) override {
PrintDeclContext(C.getTranslationUnitDecl(), 4);
}

View File

@ -519,8 +519,8 @@ public:
Counter(Counter),
InitializedLanguage(false) {}
virtual bool ReadLanguageOptions(const LangOptions &LangOpts,
bool Complain) {
bool ReadLanguageOptions(const LangOptions &LangOpts,
bool Complain) override {
if (InitializedLanguage)
return false;
@ -531,8 +531,8 @@ public:
return false;
}
virtual bool ReadTargetOptions(const TargetOptions &TargetOpts,
bool Complain) {
bool ReadTargetOptions(const TargetOptions &TargetOpts,
bool Complain) override {
// If we've already initialized the target, don't do it again.
if (Target)
return false;
@ -545,7 +545,8 @@ public:
return false;
}
virtual void ReadCounter(const serialization::ModuleFile &M, unsigned Value) {
void ReadCounter(const serialization::ModuleFile &M,
unsigned Value) override {
Counter = Value;
}
@ -583,14 +584,14 @@ public:
SmallVectorImpl<StoredDiagnostic> &StoredDiags)
: StoredDiags(StoredDiags), SourceMgr(0) { }
virtual void BeginSourceFile(const LangOptions &LangOpts,
const Preprocessor *PP = 0) {
void BeginSourceFile(const LangOptions &LangOpts,
const Preprocessor *PP = 0) override {
if (PP)
SourceMgr = &PP->getSourceManager();
}
virtual void HandleDiagnostic(DiagnosticsEngine::Level Level,
const Diagnostic &Info);
void HandleDiagnostic(DiagnosticsEngine::Level Level,
const Diagnostic &Info) override;
};
/// \brief RAII object that optionally captures diagnostics, if
@ -793,9 +794,9 @@ class MacroDefinitionTrackerPPCallbacks : public PPCallbacks {
public:
explicit MacroDefinitionTrackerPPCallbacks(unsigned &Hash) : Hash(Hash) { }
virtual void MacroDefined(const Token &MacroNameTok,
const MacroDirective *MD) {
void MacroDefined(const Token &MacroNameTok,
const MacroDirective *MD) override {
Hash = llvm::HashString(MacroNameTok.getIdentifierInfo()->getName(), Hash);
}
};
@ -877,25 +878,25 @@ public:
}
}
bool HandleTopLevelDecl(DeclGroupRef D) {
bool HandleTopLevelDecl(DeclGroupRef D) override {
for (DeclGroupRef::iterator it = D.begin(), ie = D.end(); it != ie; ++it)
handleTopLevelDecl(*it);
return true;
}
// We're not interested in "interesting" decls.
void HandleInterestingDecl(DeclGroupRef) {}
void HandleInterestingDecl(DeclGroupRef) override {}
void HandleTopLevelDeclInObjCContainer(DeclGroupRef D) {
void HandleTopLevelDeclInObjCContainer(DeclGroupRef D) override {
for (DeclGroupRef::iterator it = D.begin(), ie = D.end(); it != ie; ++it)
handleTopLevelDecl(*it);
}
virtual ASTMutationListener *GetASTMutationListener() {
ASTMutationListener *GetASTMutationListener() override {
return Unit.getASTMutationListener();
}
virtual ASTDeserializationListener *GetASTDeserializationListener() {
ASTDeserializationListener *GetASTDeserializationListener() override {
return Unit.getDeserializationListener();
}
};
@ -904,8 +905,8 @@ class TopLevelDeclTrackerAction : public ASTFrontendAction {
public:
ASTUnit &Unit;
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) {
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override {
CI.getPreprocessor().addPPCallbacks(
new MacroDefinitionTrackerPPCallbacks(Unit.getCurrentTopLevelHashValue()));
return new TopLevelDeclTrackerConsumer(Unit,
@ -915,8 +916,8 @@ public:
public:
TopLevelDeclTrackerAction(ASTUnit &_Unit) : Unit(_Unit) {}
virtual bool hasCodeCompletionSupport() const { return false; }
virtual TranslationUnitKind getTranslationUnitKind() {
bool hasCodeCompletionSupport() const override { return false; }
TranslationUnitKind getTranslationUnitKind() override {
return Unit.getTranslationUnitKind();
}
};
@ -929,15 +930,15 @@ public:
explicit PrecompilePreambleAction(ASTUnit &Unit)
: Unit(Unit), HasEmittedPreamblePCH(false) {}
virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile);
ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) override;
bool hasEmittedPreamblePCH() const { return HasEmittedPreamblePCH; }
void setHasEmittedPreamblePCH() { HasEmittedPreamblePCH = true; }
virtual bool shouldEraseOutputFiles() { return !hasEmittedPreamblePCH(); }
bool shouldEraseOutputFiles() override { return !hasEmittedPreamblePCH(); }
virtual bool hasCodeCompletionSupport() const { return false; }
virtual bool hasASTFileSupport() const { return false; }
virtual TranslationUnitKind getTranslationUnitKind() { return TU_Prefix; }
bool hasCodeCompletionSupport() const override { return false; }
bool hasASTFileSupport() const override { return false; }
TranslationUnitKind getTranslationUnitKind() override { return TU_Prefix; }
};
class PrecompilePreambleConsumer : public PCHGenerator {
@ -955,7 +956,7 @@ public:
Hash = 0;
}
virtual bool HandleTopLevelDecl(DeclGroupRef D) {
bool HandleTopLevelDecl(DeclGroupRef D) override {
for (DeclGroupRef::iterator it = D.begin(), ie = D.end(); it != ie; ++it) {
Decl *D = *it;
// FIXME: Currently ObjC method declarations are incorrectly being
@ -970,7 +971,7 @@ public:
return true;
}
virtual void HandleTranslationUnit(ASTContext &Ctx) {
void HandleTranslationUnit(ASTContext &Ctx) override {
PCHGenerator::HandleTranslationUnit(Ctx);
if (hasEmittedPCH()) {
// Translate the top-level declarations we captured during
@ -2141,23 +2142,22 @@ namespace {
| (1LL << CodeCompletionContext::CCC_UnionTag)
| (1LL << CodeCompletionContext::CCC_ClassOrStructTag);
}
virtual void ProcessCodeCompleteResults(Sema &S,
CodeCompletionContext Context,
CodeCompletionResult *Results,
unsigned NumResults);
virtual void ProcessOverloadCandidates(Sema &S, unsigned CurrentArg,
OverloadCandidate *Candidates,
unsigned NumCandidates) {
void ProcessCodeCompleteResults(Sema &S, CodeCompletionContext Context,
CodeCompletionResult *Results,
unsigned NumResults) override;
void ProcessOverloadCandidates(Sema &S, unsigned CurrentArg,
OverloadCandidate *Candidates,
unsigned NumCandidates) override {
Next.ProcessOverloadCandidates(S, CurrentArg, Candidates, NumCandidates);
}
virtual CodeCompletionAllocator &getAllocator() {
CodeCompletionAllocator &getAllocator() override {
return Next.getAllocator();
}
virtual CodeCompletionTUInfo &getCodeCompletionTUInfo() {
CodeCompletionTUInfo &getCodeCompletionTUInfo() override {
return Next.getCodeCompletionTUInfo();
}
};

View File

@ -516,7 +516,7 @@ public:
~StatListener() {}
LookupResult getStat(const char *Path, FileData &Data, bool isFile,
vfs::File **F, vfs::FileSystem &FS) {
vfs::File **F, vfs::FileSystem &FS) override {
LookupResult Result = statChained(Path, Data, isFile, F, FS);
if (Result == CacheMissing) // Failed 'stat'.

View File

@ -53,20 +53,16 @@ public:
AddMissingHeaderDeps(Opts.AddMissingHeaderDeps),
SeenMissingHeader(false) {}
virtual void FileChanged(SourceLocation Loc, FileChangeReason Reason,
SrcMgr::CharacteristicKind FileType,
FileID PrevFID);
virtual void InclusionDirective(SourceLocation HashLoc,
const Token &IncludeTok,
StringRef FileName,
bool IsAngled,
CharSourceRange FilenameRange,
const FileEntry *File,
StringRef SearchPath,
StringRef RelativePath,
const Module *Imported);
void FileChanged(SourceLocation Loc, FileChangeReason Reason,
SrcMgr::CharacteristicKind FileType,
FileID PrevFID) override;
void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok,
StringRef FileName, bool IsAngled,
CharSourceRange FilenameRange, const FileEntry *File,
StringRef SearchPath, StringRef RelativePath,
const Module *Imported) override;
virtual void EndOfMainFile() {
void EndOfMainFile() override {
OutputDependencyFile();
}
@ -79,11 +75,11 @@ class DFGASTReaderListener : public ASTReaderListener {
public:
DFGASTReaderListener(DFGImpl &Parent)
: Parent(Parent) { }
virtual bool needsInputFileVisitation() { return true; }
virtual bool needsSystemInputFileVisitation() {
bool needsInputFileVisitation() override { return true; }
bool needsSystemInputFileVisitation() override {
return Parent.includeSystemHeaders();
}
virtual bool visitInputFile(StringRef Filename, bool isSystem);
bool visitInputFile(StringRef Filename, bool isSystem) override;
};
}

View File

@ -46,17 +46,13 @@ public:
StringRef SysRoot)
: PP(_PP), OutputFile(OutputFile.str()), SysRoot(SysRoot.str()) { }
virtual void InclusionDirective(SourceLocation HashLoc,
const Token &IncludeTok,
StringRef FileName,
bool IsAngled,
CharSourceRange FilenameRange,
const FileEntry *File,
StringRef SearchPath,
StringRef RelativePath,
const Module *Imported);
void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok,
StringRef FileName, bool IsAngled,
CharSourceRange FilenameRange, const FileEntry *File,
StringRef SearchPath, StringRef RelativePath,
const Module *Imported) override;
virtual void EndOfMainFile() {
void EndOfMainFile() override {
OutputGraphFile();
}

View File

@ -79,10 +79,10 @@ class FixitReceiver : public edit::EditsReceiver {
public:
FixitReceiver(SmallVectorImpl<FixItHint> &MergedFixits)
: MergedFixits(MergedFixits) { }
virtual void insert(SourceLocation loc, StringRef text) {
void insert(SourceLocation loc, StringRef text) override {
MergedFixits.push_back(FixItHint::CreateInsertion(loc, text));
}
virtual void replace(CharSourceRange range, StringRef text) {
void replace(CharSourceRange range, StringRef text) override {
MergedFixits.push_back(FixItHint::CreateReplacement(range, text));
}
};

View File

@ -43,29 +43,29 @@ public:
ASTDeserializationListener *Previous)
: Previous(Previous) { }
virtual void ReaderInitialized(ASTReader *Reader) {
void ReaderInitialized(ASTReader *Reader) override {
if (Previous)
Previous->ReaderInitialized(Reader);
}
virtual void IdentifierRead(serialization::IdentID ID,
IdentifierInfo *II) {
void IdentifierRead(serialization::IdentID ID,
IdentifierInfo *II) override {
if (Previous)
Previous->IdentifierRead(ID, II);
}
virtual void TypeRead(serialization::TypeIdx Idx, QualType T) {
void TypeRead(serialization::TypeIdx Idx, QualType T) override {
if (Previous)
Previous->TypeRead(Idx, T);
}
virtual void DeclRead(serialization::DeclID ID, const Decl *D) {
void DeclRead(serialization::DeclID ID, const Decl *D) override {
if (Previous)
Previous->DeclRead(ID, D);
}
virtual void SelectorRead(serialization::SelectorID ID, Selector Sel) {
void SelectorRead(serialization::SelectorID ID, Selector Sel) override {
if (Previous)
Previous->SelectorRead(ID, Sel);
}
virtual void MacroDefinitionRead(serialization::PreprocessedEntityID PPID,
MacroDefinition *MD) {
void MacroDefinitionRead(serialization::PreprocessedEntityID PPID,
MacroDefinition *MD) override {
if (Previous)
Previous->MacroDefinitionRead(PPID, MD);
}
@ -77,7 +77,7 @@ public:
explicit DeserializedDeclsDumper(ASTDeserializationListener *Previous)
: DelegatingDeserializationListener(Previous) { }
virtual void DeclRead(serialization::DeclID ID, const Decl *D) {
void DeclRead(serialization::DeclID ID, const Decl *D) override {
llvm::outs() << "PCH DECL: " << D->getDeclKindName();
if (const NamedDecl *ND = dyn_cast<NamedDecl>(D))
llvm::outs() << " - " << *ND;
@ -100,7 +100,7 @@ public:
: DelegatingDeserializationListener(Previous),
Ctx(Ctx), NamesToCheck(NamesToCheck) { }
virtual void DeclRead(serialization::DeclID ID, const Decl *D) {
void DeclRead(serialization::DeclID ID, const Decl *D) override {
if (const NamedDecl *ND = dyn_cast<NamedDecl>(D))
if (NamesToCheck.find(ND->getNameAsString()) != NamesToCheck.end()) {
unsigned DiagID

View File

@ -403,7 +403,7 @@ namespace {
#define DUMP_BOOLEAN(Value, Text) \
Out.indent(4) << Text << ": " << (Value? "Yes" : "No") << "\n"
virtual bool ReadFullVersionInformation(StringRef FullVersion) {
bool ReadFullVersionInformation(StringRef FullVersion) override {
Out.indent(2)
<< "Generated by "
<< (FullVersion == getClangFullRepositoryVersion()? "this"
@ -412,8 +412,8 @@ namespace {
return ASTReaderListener::ReadFullVersionInformation(FullVersion);
}
virtual bool ReadLanguageOptions(const LangOptions &LangOpts,
bool Complain) {
bool ReadLanguageOptions(const LangOptions &LangOpts,
bool Complain) override {
Out.indent(2) << "Language options:\n";
#define LANGOPT(Name, Bits, Default, Description) \
DUMP_BOOLEAN(LangOpts.Name, Description);
@ -428,8 +428,8 @@ namespace {
return false;
}
virtual bool ReadTargetOptions(const TargetOptions &TargetOpts,
bool Complain) {
bool ReadTargetOptions(const TargetOptions &TargetOpts,
bool Complain) override {
Out.indent(2) << "Target options:\n";
Out.indent(4) << " Triple: " << TargetOpts.Triple << "\n";
Out.indent(4) << " CPU: " << TargetOpts.CPU << "\n";
@ -447,8 +447,8 @@ namespace {
return false;
}
virtual bool ReadHeaderSearchOptions(const HeaderSearchOptions &HSOpts,
bool Complain) {
bool ReadHeaderSearchOptions(const HeaderSearchOptions &HSOpts,
bool Complain) override {
Out.indent(2) << "Header search options:\n";
Out.indent(4) << "System root [-isysroot=]: '" << HSOpts.Sysroot << "'\n";
DUMP_BOOLEAN(HSOpts.UseBuiltinIncludes,
@ -462,9 +462,9 @@ namespace {
return false;
}
virtual bool ReadPreprocessorOptions(const PreprocessorOptions &PPOpts,
bool Complain,
std::string &SuggestedPredefines) {
bool ReadPreprocessorOptions(const PreprocessorOptions &PPOpts,
bool Complain,
std::string &SuggestedPredefines) override {
Out.indent(2) << "Preprocessor options:\n";
DUMP_BOOLEAN(PPOpts.UsePredefines,
"Uses compiler/target-specific predefines [-undef]");

View File

@ -40,9 +40,9 @@ public:
delete OutputFile;
}
virtual void FileChanged(SourceLocation Loc, FileChangeReason Reason,
SrcMgr::CharacteristicKind FileType,
FileID PrevFID);
void FileChanged(SourceLocation Loc, FileChangeReason Reason,
SrcMgr::CharacteristicKind FileType,
FileID PrevFID) override;
};
}

View File

@ -30,14 +30,14 @@ public:
// Does NOT take ownership of the elements in L.
MultiplexASTDeserializationListener(
const std::vector<ASTDeserializationListener*>& L);
virtual void ReaderInitialized(ASTReader *Reader);
virtual void IdentifierRead(serialization::IdentID ID,
IdentifierInfo *II);
virtual void TypeRead(serialization::TypeIdx Idx, QualType T);
virtual void DeclRead(serialization::DeclID ID, const Decl *D);
virtual void SelectorRead(serialization::SelectorID iD, Selector Sel);
virtual void MacroDefinitionRead(serialization::PreprocessedEntityID,
MacroDefinition *MD);
void ReaderInitialized(ASTReader *Reader) override;
void IdentifierRead(serialization::IdentID ID,
IdentifierInfo *II) override;
void TypeRead(serialization::TypeIdx Idx, QualType T) override;
void DeclRead(serialization::DeclID ID, const Decl *D) override;
void SelectorRead(serialization::SelectorID iD, Selector Sel) override;
void MacroDefinitionRead(serialization::PreprocessedEntityID,
MacroDefinition *MD) override;
private:
std::vector<ASTDeserializationListener*> Listeners;
};
@ -89,24 +89,23 @@ class MultiplexASTMutationListener : public ASTMutationListener {
public:
// Does NOT take ownership of the elements in L.
MultiplexASTMutationListener(ArrayRef<ASTMutationListener*> L);
virtual void CompletedTagDefinition(const TagDecl *D);
virtual void AddedVisibleDecl(const DeclContext *DC, const Decl *D);
virtual void AddedCXXImplicitMember(const CXXRecordDecl *RD, const Decl *D);
virtual void AddedCXXTemplateSpecialization(const ClassTemplateDecl *TD,
const ClassTemplateSpecializationDecl *D);
virtual void
AddedCXXTemplateSpecialization(const VarTemplateDecl *TD,
const VarTemplateSpecializationDecl *D);
virtual void AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD,
const FunctionDecl *D);
virtual void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType);
virtual void CompletedImplicitDefinition(const FunctionDecl *D);
virtual void StaticDataMemberInstantiated(const VarDecl *D);
virtual void AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD,
const ObjCInterfaceDecl *IFD);
virtual void AddedObjCPropertyInClassExtension(const ObjCPropertyDecl *Prop,
const ObjCPropertyDecl *OrigProp,
const ObjCCategoryDecl *ClassExt);
void CompletedTagDefinition(const TagDecl *D) override;
void AddedVisibleDecl(const DeclContext *DC, const Decl *D) override;
void AddedCXXImplicitMember(const CXXRecordDecl *RD, const Decl *D) override;
void AddedCXXTemplateSpecialization(const ClassTemplateDecl *TD,
const ClassTemplateSpecializationDecl *D) override;
void AddedCXXTemplateSpecialization(const VarTemplateDecl *TD,
const VarTemplateSpecializationDecl *D) override;
void AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD,
const FunctionDecl *D) override;
void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) override;
void CompletedImplicitDefinition(const FunctionDecl *D) override;
void StaticDataMemberInstantiated(const VarDecl *D) override;
void AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD,
const ObjCInterfaceDecl *IFD) override;
void AddedObjCPropertyInClassExtension(const ObjCPropertyDecl *Prop,
const ObjCPropertyDecl *OrigProp,
const ObjCCategoryDecl *ClassExt) override;
void DeclarationMarkedUsed(const Decl *D) override;
private:

View File

@ -123,34 +123,28 @@ public:
}
bool startNewLineIfNeeded(bool ShouldUpdateCurrentLine = true);
virtual void FileChanged(SourceLocation Loc, FileChangeReason Reason,
SrcMgr::CharacteristicKind FileType,
FileID PrevFID);
virtual void InclusionDirective(SourceLocation HashLoc,
const Token &IncludeTok,
StringRef FileName,
bool IsAngled,
CharSourceRange FilenameRange,
const FileEntry *File,
StringRef SearchPath,
StringRef RelativePath,
const Module *Imported);
virtual void Ident(SourceLocation Loc, const std::string &str);
void FileChanged(SourceLocation Loc, FileChangeReason Reason,
SrcMgr::CharacteristicKind FileType,
FileID PrevFID) override;
void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok,
StringRef FileName, bool IsAngled,
CharSourceRange FilenameRange, const FileEntry *File,
StringRef SearchPath, StringRef RelativePath,
const Module *Imported) override;
void Ident(SourceLocation Loc, const std::string &str) override;
virtual void PragmaCaptured(SourceLocation Loc, StringRef Str);
virtual void PragmaMessage(SourceLocation Loc, StringRef Namespace,
PragmaMessageKind Kind, StringRef Str);
virtual void PragmaDebug(SourceLocation Loc, StringRef DebugType);
virtual void PragmaDiagnosticPush(SourceLocation Loc,
StringRef Namespace);
virtual void PragmaDiagnosticPop(SourceLocation Loc,
StringRef Namespace);
virtual void PragmaDiagnostic(SourceLocation Loc, StringRef Namespace,
diag::Mapping Map, StringRef Str);
virtual void PragmaWarning(SourceLocation Loc, StringRef WarningSpec,
ArrayRef<int> Ids);
virtual void PragmaWarningPush(SourceLocation Loc, int Level);
virtual void PragmaWarningPop(SourceLocation Loc);
void PragmaMessage(SourceLocation Loc, StringRef Namespace,
PragmaMessageKind Kind, StringRef Str) override;
void PragmaDebug(SourceLocation Loc, StringRef DebugType) override;
void PragmaDiagnosticPush(SourceLocation Loc, StringRef Namespace) override;
void PragmaDiagnosticPop(SourceLocation Loc, StringRef Namespace) override;
void PragmaDiagnostic(SourceLocation Loc, StringRef Namespace,
diag::Mapping Map, StringRef Str) override;
void PragmaWarning(SourceLocation Loc, StringRef WarningSpec,
ArrayRef<int> Ids) override;
void PragmaWarningPush(SourceLocation Loc, int Level) override;
void PragmaWarningPop(SourceLocation Loc) override;
bool HandleFirstTokOnLine(Token &Tok);
@ -174,10 +168,12 @@ public:
void HandleNewlinesInToken(const char *TokStr, unsigned Len);
/// MacroDefined - This hook is called whenever a macro definition is seen.
void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD);
void MacroDefined(const Token &MacroNameTok,
const MacroDirective *MD) override;
/// MacroUndefined - This hook is called whenever a macro #undef is seen.
void MacroUndefined(const Token &MacroNameTok, const MacroDirective *MD);
void MacroUndefined(const Token &MacroNameTok,
const MacroDirective *MD) override;
};
} // end anonymous namespace
@ -577,8 +573,8 @@ struct UnknownPragmaHandler : public PragmaHandler {
UnknownPragmaHandler(const char *prefix, PrintPPOutputPPCallbacks *callbacks)
: Prefix(prefix), Callbacks(callbacks) {}
virtual void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer,
Token &PragmaTok) {
void HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer,
Token &PragmaTok) override {
// Figure out what line we went to and insert the appropriate number of
// newline characters.
Callbacks->startNewLineIfNeeded();

View File

@ -59,32 +59,32 @@ public:
virtual ~SDiagsRenderer() {}
protected:
virtual void emitDiagnosticMessage(SourceLocation Loc,
PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
StringRef Message,
ArrayRef<CharSourceRange> Ranges,
const SourceManager *SM,
DiagOrStoredDiag D);
virtual void emitDiagnosticLoc(SourceLocation Loc, PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
ArrayRef<CharSourceRange> Ranges,
const SourceManager &SM) {}
void emitDiagnosticMessage(SourceLocation Loc,
PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
StringRef Message,
ArrayRef<CharSourceRange> Ranges,
const SourceManager *SM,
DiagOrStoredDiag D) override;
virtual void emitNote(SourceLocation Loc, StringRef Message,
const SourceManager *SM);
void emitDiagnosticLoc(SourceLocation Loc, PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
ArrayRef<CharSourceRange> Ranges,
const SourceManager &SM) override {}
virtual void emitCodeContext(SourceLocation Loc,
DiagnosticsEngine::Level Level,
SmallVectorImpl<CharSourceRange>& Ranges,
ArrayRef<FixItHint> Hints,
const SourceManager &SM);
void emitNote(SourceLocation Loc, StringRef Message,
const SourceManager *SM) override;
virtual void beginDiagnostic(DiagOrStoredDiag D,
DiagnosticsEngine::Level Level);
virtual void endDiagnostic(DiagOrStoredDiag D,
DiagnosticsEngine::Level Level);
void emitCodeContext(SourceLocation Loc,
DiagnosticsEngine::Level Level,
SmallVectorImpl<CharSourceRange>& Ranges,
ArrayRef<FixItHint> Hints,
const SourceManager &SM) override;
void beginDiagnostic(DiagOrStoredDiag D,
DiagnosticsEngine::Level Level) override;
void endDiagnostic(DiagOrStoredDiag D,
DiagnosticsEngine::Level Level) override;
};
class SDiagsWriter : public DiagnosticConsumer {
@ -103,16 +103,15 @@ public:
}
~SDiagsWriter() {}
void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
const Diagnostic &Info);
void BeginSourceFile(const LangOptions &LO,
const Preprocessor *PP) {
const Diagnostic &Info) override;
void BeginSourceFile(const LangOptions &LO, const Preprocessor *PP) override {
LangOpts = &LO;
}
virtual void finish();
void finish() override;
private:
/// \brief Emit the preamble for the serialized diagnostics.

View File

@ -166,12 +166,12 @@ public:
StringRef Text, unsigned Min, unsigned Max)
: Directive(DirectiveLoc, DiagnosticLoc, Text, Min, Max) { }
virtual bool isValid(std::string &Error) {
bool isValid(std::string &Error) override {
// all strings are considered valid; even empty ones
return true;
}
virtual bool match(StringRef S) {
bool match(StringRef S) override {
return S.find(Text) != StringRef::npos;
}
};
@ -184,13 +184,13 @@ public:
StringRef Text, unsigned Min, unsigned Max, StringRef RegexStr)
: Directive(DirectiveLoc, DiagnosticLoc, Text, Min, Max), Regex(RegexStr) { }
virtual bool isValid(std::string &Error) {
bool isValid(std::string &Error) override {
if (Regex.isValid(Error))
return true;
return false;
}
virtual bool match(StringRef S) {
bool match(StringRef S) override {
return Regex.match(S);
}