aboutsummaryrefslogtreecommitdiff
path: root/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/StaticAnalyzer/Core/AnalyzerOptions.cpp')
-rw-r--r--lib/StaticAnalyzer/Core/AnalyzerOptions.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp b/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
index 5cbbb8d462..9e029c7e29 100644
--- a/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
+++ b/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
@@ -82,6 +82,14 @@ bool AnalyzerOptions::mayInlineTemplateFunctions() const {
return *InlineTemplateFunctions;
}
+bool AnalyzerOptions::mayInlineObjCMethod() const {
+ if (!ObjCInliningMode.hasValue())
+ const_cast<llvm::Optional<bool> &>(ObjCInliningMode) =
+ getBooleanOption("objc-inlining", /*Default=*/true);
+
+ return *ObjCInliningMode;
+}
+
int AnalyzerOptions::getOptionAsInteger(StringRef Name, int DefaultVal) const {
std::string OptStr = Config.lookup(Name);
if (OptStr.empty())
@@ -97,9 +105,8 @@ int AnalyzerOptions::getOptionAsInteger(StringRef Name, int DefaultVal) const {
unsigned AnalyzerOptions::getAlwaysInlineSize() const {
if (!AlwaysInlineSize.hasValue()) {
unsigned DefaultSize = 3;
- Optional<unsigned> &MutableOption =
- const_cast<Optional<unsigned> &>(AlwaysInlineSize);
- MutableOption = getOptionAsInteger("ipa-always-inline-size", DefaultSize);
+ const_cast<Optional<unsigned> &>(AlwaysInlineSize) =
+ getOptionAsInteger("ipa-always-inline-size", DefaultSize);
}
return AlwaysInlineSize.getValue();