clang-tools 22.0.0git
clang::tidy::misc::NonPrivateMemberVariablesInClassesCheck Class Reference

This checker finds classes that not only contain the data (non-static member variables), but also have logic (non-static member functions), and diagnoses all member variables that have any other scope other than private. More...

#include <NonPrivateMemberVariablesInClassesCheck.h>

Inheritance diagram for clang::tidy::misc::NonPrivateMemberVariablesInClassesCheck:
[legend]

Public Member Functions

 NonPrivateMemberVariablesInClassesCheck (StringRef Name, ClangTidyContext *Context)
bool isLanguageVersionSupported (const LangOptions &LangOpts) const override
void storeOptions (ClangTidyOptions::OptionMap &Opts) override
void registerMatchers (ast_matchers::MatchFinder *Finder) override
void check (const ast_matchers::MatchFinder::MatchResult &Result) override

Detailed Description

This checker finds classes that not only contain the data (non-static member variables), but also have logic (non-static member functions), and diagnoses all member variables that have any other scope other than private.

They should be made private, and manipulated exclusively via the member functions.

Optionally, classes with all member variables being public could be ignored and optionally all public member variables could be ignored.

For the user-facing documentation see: https://clang.llvm.org/extra/clang-tidy/checks/misc/non-private-member-variables-in-classes.html

Definition at line 27 of file NonPrivateMemberVariablesInClassesCheck.h.

Constructor & Destructor Documentation

◆ NonPrivateMemberVariablesInClassesCheck()

clang::tidy::misc::NonPrivateMemberVariablesInClassesCheck::NonPrivateMemberVariablesInClassesCheck ( StringRef Name,
ClangTidyContext * Context )

Definition at line 40 of file NonPrivateMemberVariablesInClassesCheck.cpp.

Member Function Documentation

◆ check()

void clang::tidy::misc::NonPrivateMemberVariablesInClassesCheck::check ( const ast_matchers::MatchFinder::MatchResult & Result)
override

Definition at line 84 of file NonPrivateMemberVariablesInClassesCheck.cpp.

◆ isLanguageVersionSupported()

bool clang::tidy::misc::NonPrivateMemberVariablesInClassesCheck::isLanguageVersionSupported ( const LangOptions & LangOpts) const
inlineoverride

Definition at line 31 of file NonPrivateMemberVariablesInClassesCheck.h.

◆ registerMatchers()

void clang::tidy::misc::NonPrivateMemberVariablesInClassesCheck::registerMatchers ( ast_matchers::MatchFinder * Finder)
override

Definition at line 57 of file NonPrivateMemberVariablesInClassesCheck.cpp.

◆ storeOptions()

void clang::tidy::misc::NonPrivateMemberVariablesInClassesCheck::storeOptions ( ClangTidyOptions::OptionMap & Opts)
override

Definition at line 49 of file NonPrivateMemberVariablesInClassesCheck.cpp.


The documentation for this class was generated from the following files: