forked from OSchip/llvm-project
[C++11] Add 'override' keyword to virtual methods that override their base class.
llvm-svn: 203758
This commit is contained in:
parent
abb90c9ddb
commit
afa7cb3aa5
|
@ -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); }
|
||||
|
|
|
@ -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 {}
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
};
|
||||
|
|
|
@ -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'.
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
};
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]");
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue