MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / applyLang

Function applyLang

frontend/frontend.cpp:29–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27
28namespace frontend {
29 void applyLang(std::list<FileSettings>& fileSettings, const Settings& settings, Standards::Language enforcedLang)
30 {
31 if (enforcedLang != Standards::Language::None)
32 {
33 // apply enforced language
34 for (auto& fs : fileSettings)
35 {
36 if (settings.library.markupFile(fs.filename()))
37 continue;
38 fs.file.setLang(enforcedLang);
39 }
40 }
41 else
42 {
43 // identify files
44 for (auto& fs : fileSettings)
45 {
46 if (settings.library.markupFile(fs.filename()))
47 continue;
48 assert(fs.file.lang() == Standards::Language::None);
49 bool header = false;
50 fs.file.setLang(Path::identify(fs.filename(), settings.cppHeaderProbe, &header));
51 // unknown extensions default to C++
52 if (!header && fs.file.lang() == Standards::Language::None)
53 fs.file.setLang(Standards::Language::CPP);
54 }
55 }
56
57 // enforce the language since markup files are special and do not adhere to the enforced language
58 for (auto& fs : fileSettings)
59 {
60 if (settings.library.markupFile(fs.filename())) {
61 assert(fs.file.lang() == Standards::Language::None);
62 fs.file.setLang(Standards::Language::C);
63 }
64 }
65 }
66
67 void applyLang(std::list<FileWithDetails>& files, const Settings& settings, Standards::Language enforcedLang)
68 {

Callers 5

fillSettingsFromArgsMethod · 0.85
applyLangFSMethod · 0.85
applyLangFilesMethod · 0.85
doAnalyzeProjectMethod · 0.85

Calls 3

markupFileMethod · 0.80
setLangMethod · 0.80
langMethod · 0.80

Tested by 2

applyLangFSMethod · 0.68
applyLangFilesMethod · 0.68