Fix Function::isSafe
This commit is contained in:
parent
45d1ca6f7c
commit
09be07f2b2
|
@ -2088,30 +2088,20 @@ const Token * Function::constructorMemberInitialization() const
|
||||||
|
|
||||||
bool Function::isSafe(const Settings *settings) const
|
bool Function::isSafe(const Settings *settings) const
|
||||||
{
|
{
|
||||||
if (nestedIn->type == Scope::ScopeType::eGlobal) {
|
if (settings->safeChecks.externalFunctions) {
|
||||||
if (token->fileIndex() == 0 && isStatic())
|
if (nestedIn->type == Scope::ScopeType::eGlobal || nestedIn->type == Scope::ScopeType::eNamespace)
|
||||||
return settings->safeChecks.internalFunctions;
|
return (token->fileIndex() != 0 || !isStatic());
|
||||||
return settings->safeChecks.externalFunctions;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nestedIn->type == Scope::ScopeType::eNamespace) {
|
if (settings->safeChecks.internalFunctions) {
|
||||||
return token->fileIndex() == 0;
|
if (nestedIn->type == Scope::ScopeType::eGlobal || nestedIn->type == Scope::ScopeType::eNamespace)
|
||||||
|
return (token->fileIndex() == 0 && isStatic());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settings->safeChecks.classes && access == AccessControl::Public) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (access) {
|
|
||||||
case AccessControl::Local:
|
|
||||||
case AccessControl::Private:
|
|
||||||
case AccessControl::Protected:
|
|
||||||
return settings->safeChecks.internalFunctions;
|
|
||||||
case AccessControl::Public:
|
|
||||||
return settings->safeChecks.classes;
|
|
||||||
case AccessControl::Namespace:
|
|
||||||
case AccessControl::Global:
|
|
||||||
return settings->safeChecks.externalFunctions;
|
|
||||||
case AccessControl::Throw:
|
|
||||||
case AccessControl::Argument:
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue