Remove redundaunt override specifiers (NFC)

Identified with modernize-use-override.
This commit is contained in:
Kazu Hirata 2022-07-24 22:28:11 -07:00
parent 7181c4e10a
commit 95a932fb15
25 changed files with 67 additions and 82 deletions

View File

@ -34,12 +34,11 @@ public:
/// class will do the matching and call the derived class'
/// getDeclFailureInfo() and getMacroFailureInfo() for determining whether a
/// given identifier passes or fails the check.
void registerMatchers(ast_matchers::MatchFinder *Finder) override final;
void
check(const ast_matchers::MatchFinder::MatchResult &Result) override final;
void registerMatchers(ast_matchers::MatchFinder *Finder) final;
void check(const ast_matchers::MatchFinder::MatchResult &Result) final;
void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP,
Preprocessor *ModuleExpanderPP) override final;
void onEndOfTranslationUnit() override final;
Preprocessor *ModuleExpanderPP) final;
void onEndOfTranslationUnit() final;
/// Derived classes that override this function should call this method from
/// the overridden method.

View File

@ -788,7 +788,7 @@ struct CompletionRecorder : public CodeCompleteConsumer {
void ProcessCodeCompleteResults(class Sema &S, CodeCompletionContext Context,
CodeCompletionResult *InResults,
unsigned NumResults) override final {
unsigned NumResults) final {
// Results from recovery mode are generally useless, and the callback after
// recovery (if any) is usually more interesting. To make sure we handle the
// future callback from sema, we just ignore all callbacks in recovery mode,

View File

@ -23,7 +23,7 @@ namespace {
/// void /* entity.name.function.cpp */ f() { int /* variable.cpp */ abc; }
class AnnotateHighlightings : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override { return true; }
Expected<Effect> apply(const Selection &Inputs) override;

View File

@ -385,7 +385,7 @@ addInlineIfInHeader(const FunctionDecl *FD) {
///
class DefineInline : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
llvm::StringLiteral kind() const override {
return CodeAction::REFACTOR_KIND;

View File

@ -31,7 +31,7 @@ namespace {
/// `-StringLiteral "foo"
class DumpAST : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override {
for (auto *N = Inputs.ASTSelection.commonAncestor(); N && !Node;
@ -84,7 +84,7 @@ llvm::Expected<Tweak::Effect> DumpAST::apply(const Selection &Inputs) {
/// *IntegerLiteral 2
class ShowSelectionTree : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override { return true; }
Expected<Effect> apply(const Selection &Inputs) override {
@ -104,7 +104,7 @@ REGISTER_TWEAK(ShowSelectionTree)
/// foo -
/// {"containerName":null,"id":"CA2EBE44A1D76D2A","name":"foo","usr":"c:@F@foo#"}
class DumpSymbol : public Tweak {
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override { return true; }
Expected<Effect> apply(const Selection &Inputs) override {
std::string Storage;
@ -133,7 +133,7 @@ REGISTER_TWEAK(DumpSymbol)
/// | nvsize=4, nvalign=4]
class DumpRecordLayout : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override {
if (auto *Node = Inputs.ASTSelection.commonAncestor())

View File

@ -30,7 +30,7 @@ namespace {
/// 10*a+10*a
class ExpandMacro : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
llvm::StringLiteral kind() const override {
return CodeAction::REFACTOR_KIND;
}

View File

@ -796,7 +796,7 @@ llvm::Expected<NewFunction> getExtractedFunction(ExtractionZone &ExtZone,
class ExtractFunction : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override;
Expected<Effect> apply(const Selection &Inputs) override;
std::string title() const override { return "Extract to function"; }

View File

@ -485,7 +485,7 @@ const SelectionTree::Node *computeExtractedExpr(const SelectionTree::Node *N) {
/// int x = placeholder * 3;
class ExtractVariable : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override;
Expected<Effect> apply(const Selection &Inputs) override;
std::string title() const override {

View File

@ -32,7 +32,7 @@ namespace {
// We place the constructor inline, other tweaks are available to outline it.
class MemberwiseConstructor : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
llvm::StringLiteral kind() const override {
return CodeAction::REFACTOR_KIND;
}

View File

@ -30,7 +30,7 @@ namespace {
/// NSLocalizedString(@"description", @"")
class ObjCLocalizeStringLiteral : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
llvm::StringLiteral kind() const override {
return CodeAction::REFACTOR_KIND;
}

View File

@ -172,7 +172,7 @@ initializerForParams(const SmallVector<MethodParameter, 8> &Params,
/// properties and instance variables.
class ObjCMemberwiseInitializer : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
llvm::StringLiteral kind() const override {
return CodeAction::REFACTOR_KIND;
}

View File

@ -28,7 +28,7 @@ namespace {
/// b)");
class RawStringLiteral : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override;
Expected<Effect> apply(const Selection &Inputs) override;

View File

@ -86,7 +86,7 @@ std::string buildSpecialMemberDeclarations(const CXXRecordDecl &Class) {
// - as a baseline for explicit modification
class DeclareCopyMove : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
llvm::StringLiteral kind() const override {
return CodeAction::REFACTOR_KIND;
}

View File

@ -31,7 +31,7 @@ namespace {
/// if (foo) { continue; } else { return 10; }
class SwapIfBranches : public Tweak {
public:
const char *id() const override final;
const char *id() const final;
bool prepare(const Selection &Inputs) override;
Expected<Effect> apply(const Selection &Inputs) override;

View File

@ -107,10 +107,10 @@ public:
void finishedMainFile(DiagnosticsEngine &Diags) override;
bool needSystemDependencies() final override { return IncludeSystemHeaders; }
bool needSystemDependencies() final { return IncludeSystemHeaders; }
bool sawDependency(StringRef Filename, bool FromModule, bool IsSystem,
bool IsModuleFile, bool IsMissing) final override;
bool IsModuleFile, bool IsMissing) final;
protected:
void outputDependencyFile(llvm::raw_ostream &OS);

View File

@ -731,7 +731,7 @@ public:
PathDiagnosticPieceRef VisitNode(const ExplodedNode *N,
BugReporterContext &BR,
PathSensitiveBugReport &R) override final;
PathSensitiveBugReport &R) final;
};
} // namespace ento

View File

@ -98,7 +98,7 @@ public:
OptionRequirement() : Opt(createRefactoringOption<OptionType>()) {}
ArrayRef<std::shared_ptr<RefactoringOption>>
getRefactoringOptions() const final override {
getRefactoringOptions() const final {
return Opt;
}

View File

@ -52,7 +52,7 @@ using RefactoringActionRules =
class SourceChangeRefactoringRule : public RefactoringActionRuleBase {
public:
void invoke(RefactoringResultConsumer &Consumer,
RefactoringRuleContext &Context) final override {
RefactoringRuleContext &Context) final {
Expected<AtomicChanges> Changes = createSourceReplacements(Context);
if (!Changes)
Consumer.handleError(Changes.takeError());
@ -74,7 +74,7 @@ private:
class FindSymbolOccurrencesRefactoringRule : public RefactoringActionRuleBase {
public:
void invoke(RefactoringResultConsumer &Consumer,
RefactoringRuleContext &Context) final override {
RefactoringRuleContext &Context) final {
Expected<SymbolOccurrences> Occurrences = findSymbolOccurrences(Context);
if (!Occurrences)
Consumer.handleError(Occurrences.takeError());

View File

@ -24,7 +24,7 @@ template <typename T,
typename = std::enable_if_t<traits::IsValidOptionType<T>::value>>
class OptionalRefactoringOption : public RefactoringOption {
public:
void passToVisitor(RefactoringOptionVisitor &Visitor) final override {
void passToVisitor(RefactoringOptionVisitor &Visitor) final {
Visitor.visit(*this, Value);
}
@ -48,7 +48,7 @@ public:
const ValueType &getValue() const {
return *OptionalRefactoringOption<T>::Value;
}
bool isRequired() const final override { return true; }
bool isRequired() const final { return true; }
};
} // end namespace tooling

View File

@ -127,7 +127,7 @@ namespace CodeGen {
public:
SwiftABIInfo(CodeGen::CodeGenTypes &cgt) : ABIInfo(cgt) {}
bool supportsSwift() const final override { return true; }
bool supportsSwift() const final { return true; }
virtual bool shouldPassIndirectlyForSwift(ArrayRef<llvm::Type*> types,
bool asReturnValue) const = 0;

View File

@ -547,19 +547,17 @@ private:
// Region of interest corresponds to an IVar, exiting a method
// which could have written into that IVar, but did not.
virtual PathDiagnosticPieceRef
maybeEmitNoteForObjCSelf(PathSensitiveBugReport &R,
const ObjCMethodCall &Call,
const ExplodedNode *N) override final;
PathDiagnosticPieceRef maybeEmitNoteForObjCSelf(PathSensitiveBugReport &R,
const ObjCMethodCall &Call,
const ExplodedNode *N) final;
virtual PathDiagnosticPieceRef
maybeEmitNoteForCXXThis(PathSensitiveBugReport &R,
const CXXConstructorCall &Call,
const ExplodedNode *N) override final;
PathDiagnosticPieceRef maybeEmitNoteForCXXThis(PathSensitiveBugReport &R,
const CXXConstructorCall &Call,
const ExplodedNode *N) final;
virtual PathDiagnosticPieceRef
PathDiagnosticPieceRef
maybeEmitNoteForParameters(PathSensitiveBugReport &R, const CallEvent &Call,
const ExplodedNode *N) override final;
const ExplodedNode *N) final;
/// Consume the information on the no-store stack frame in order to
/// either emit a note or suppress the report enirely.

View File

@ -70,7 +70,7 @@ public:
// Sections in __LINKEDIT are special: their offsets are recorded in the
// load commands like LC_DYLD_INFO_ONLY and LC_SYMTAB, instead of in section
// headers.
bool isHidden() const override final { return true; }
bool isHidden() const final { return true; }
virtual uint64_t getRawSize() const = 0;
@ -80,9 +80,7 @@ public:
//
// NOTE: This assumes that the extra bytes required for alignment can be
// zero-valued bytes.
uint64_t getSize() const override final {
return llvm::alignTo(getRawSize(), align);
}
uint64_t getSize() const final { return llvm::alignTo(getRawSize(), align); }
};
// The header of the Mach-O file, which must have a file offset of zero.

View File

@ -348,37 +348,37 @@ public:
DDGBuilder(DataDependenceGraph &G, DependenceInfo &D,
const BasicBlockListType &BBs)
: AbstractDependenceGraphBuilder(G, D, BBs) {}
DDGNode &createRootNode() final override {
DDGNode &createRootNode() final {
auto *RN = new RootDDGNode();
assert(RN && "Failed to allocate memory for DDG root node.");
Graph.addNode(*RN);
return *RN;
}
DDGNode &createFineGrainedNode(Instruction &I) final override {
DDGNode &createFineGrainedNode(Instruction &I) final {
auto *SN = new SimpleDDGNode(I);
assert(SN && "Failed to allocate memory for simple DDG node.");
Graph.addNode(*SN);
return *SN;
}
DDGNode &createPiBlock(const NodeListType &L) final override {
DDGNode &createPiBlock(const NodeListType &L) final {
auto *Pi = new PiBlockDDGNode(L);
assert(Pi && "Failed to allocate memory for pi-block node.");
Graph.addNode(*Pi);
return *Pi;
}
DDGEdge &createDefUseEdge(DDGNode &Src, DDGNode &Tgt) final override {
DDGEdge &createDefUseEdge(DDGNode &Src, DDGNode &Tgt) final {
auto *E = new DDGEdge(Tgt, DDGEdge::EdgeKind::RegisterDefUse);
assert(E && "Failed to allocate memory for edge");
Graph.connect(Src, Tgt, *E);
return *E;
}
DDGEdge &createMemoryEdge(DDGNode &Src, DDGNode &Tgt) final override {
DDGEdge &createMemoryEdge(DDGNode &Src, DDGNode &Tgt) final {
auto *E = new DDGEdge(Tgt, DDGEdge::EdgeKind::MemoryDependence);
assert(E && "Failed to allocate memory for edge");
Graph.connect(Src, Tgt, *E);
return *E;
}
DDGEdge &createRootedEdge(DDGNode &Src, DDGNode &Tgt) final override {
DDGEdge &createRootedEdge(DDGNode &Src, DDGNode &Tgt) final {
auto *E = new DDGEdge(Tgt, DDGEdge::EdgeKind::Rooted);
assert(E && "Failed to allocate memory for edge");
assert(isa<RootDDGNode>(Src) && "Expected root node");
@ -386,7 +386,7 @@ public:
return *E;
}
const NodeListType &getNodesInPiBlock(const DDGNode &N) final override {
const NodeListType &getNodesInPiBlock(const DDGNode &N) final {
auto *PiNode = dyn_cast<const PiBlockDDGNode>(&N);
assert(PiNode && "Expected a pi-block node.");
return PiNode->getNodes();
@ -394,11 +394,10 @@ public:
/// Return true if the two nodes \pSrc and \pTgt are both simple nodes and
/// the consecutive instructions after merging belong to the same basic block.
bool areNodesMergeable(const DDGNode &Src,
const DDGNode &Tgt) const final override;
void mergeNodes(DDGNode &Src, DDGNode &Tgt) final override;
bool shouldSimplify() const final override;
bool shouldCreatePiBlocks() const final override;
bool areNodesMergeable(const DDGNode &Src, const DDGNode &Tgt) const final;
void mergeNodes(DDGNode &Src, DDGNode &Tgt) final;
bool shouldSimplify() const final;
bool shouldCreatePiBlocks() const final;
};
raw_ostream &operator<<(raw_ostream &OS, const DDGNode &N);

View File

@ -81,25 +81,22 @@ public:
/// Particular to z/OS when in 64 bit mode
class SystemZXPLINK64Registers : public SystemZCallingConventionRegisters {
public:
int getReturnFunctionAddressRegister() override final {
return SystemZ::R7D;
};
int getReturnFunctionAddressRegister() final { return SystemZ::R7D; };
int getStackPointerRegister() override final { return SystemZ::R4D; };
int getStackPointerRegister() final { return SystemZ::R4D; };
int getFramePointerRegister() override final { return SystemZ::R8D; };
int getFramePointerRegister() final { return SystemZ::R8D; };
int getAddressOfCalleeRegister() { return SystemZ::R6D; };
const MCPhysReg *
getCalleeSavedRegs(const MachineFunction *MF) const override final;
const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const final;
const uint32_t *getCallPreservedMask(const MachineFunction &MF,
CallingConv::ID CC) const override final;
CallingConv::ID CC) const final;
int getCallFrameSize() override final { return 128; }
int getCallFrameSize() final { return 128; }
int getStackPointerBias() override final { return 2048; }
int getStackPointerBias() final { return 2048; }
/// Destroys the object. Bogus destructor overriding base class destructor
~SystemZXPLINK64Registers() = default;
@ -109,23 +106,20 @@ public:
/// Particular when on zLinux in 64 bit mode
class SystemZELFRegisters : public SystemZCallingConventionRegisters {
public:
int getReturnFunctionAddressRegister() override final {
return SystemZ::R14D;
};
int getReturnFunctionAddressRegister() final { return SystemZ::R14D; };
int getStackPointerRegister() override final { return SystemZ::R15D; };
int getStackPointerRegister() final { return SystemZ::R15D; };
int getFramePointerRegister() override final { return SystemZ::R11D; };
int getFramePointerRegister() final { return SystemZ::R11D; };
const MCPhysReg *
getCalleeSavedRegs(const MachineFunction *MF) const override final;
const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const final;
const uint32_t *getCallPreservedMask(const MachineFunction &MF,
CallingConv::ID CC) const override final;
CallingConv::ID CC) const final;
int getCallFrameSize() override final { return SystemZMC::ELFCallFrameSize; }
int getCallFrameSize() final { return SystemZMC::ELFCallFrameSize; }
int getStackPointerBias() override final { return 0; }
int getStackPointerBias() final { return 0; }
/// Destroys the object. Bogus destructor overriding base class destructor
~SystemZELFRegisters() = default;

View File

@ -798,8 +798,7 @@ public:
// Override this function to handle the more complex control flow around the
// three loops.
std::pair<BasicBlock *, Value *>
createVectorizedLoopSkeleton() final override {
std::pair<BasicBlock *, Value *> createVectorizedLoopSkeleton() final {
return createEpilogueVectorizedLoopSkeleton();
}
@ -835,8 +834,7 @@ public:
EPI, LVL, CM, BFI, PSI, Check) {}
/// Implements the interface for creating a vectorized skeleton using the
/// *main loop* strategy (ie the first pass of vplan execution).
std::pair<BasicBlock *, Value *>
createEpilogueVectorizedLoopSkeleton() final override;
std::pair<BasicBlock *, Value *> createEpilogueVectorizedLoopSkeleton() final;
protected:
/// Emits an iteration count bypass check once for the main loop (when \p
@ -866,8 +864,7 @@ public:
}
/// Implements the interface for creating a vectorized skeleton using the
/// *epilogue loop* strategy (ie the second pass of vplan execution).
std::pair<BasicBlock *, Value *>
createEpilogueVectorizedLoopSkeleton() final override;
std::pair<BasicBlock *, Value *> createEpilogueVectorizedLoopSkeleton() final;
protected:
/// Emits an iteration count bypass check after the main vector loop has