Include `local -r` in check-extra-masked-returns (fixes #2362)
This commit is contained in:
parent
efd49e486f
commit
8db220ae43
|
@ -4782,6 +4782,8 @@ prop_checkExtraMaskedReturns31 = verifyNotTree checkExtraMaskedReturns "false <
|
||||||
prop_checkExtraMaskedReturns32 = verifyNotTree checkExtraMaskedReturns "false < <(basename \"${BASH_SOURCE[0]}\")"
|
prop_checkExtraMaskedReturns32 = verifyNotTree checkExtraMaskedReturns "false < <(basename \"${BASH_SOURCE[0]}\")"
|
||||||
prop_checkExtraMaskedReturns33 = verifyNotTree checkExtraMaskedReturns "{ false || true; } | true"
|
prop_checkExtraMaskedReturns33 = verifyNotTree checkExtraMaskedReturns "{ false || true; } | true"
|
||||||
prop_checkExtraMaskedReturns34 = verifyNotTree checkExtraMaskedReturns "{ false || :; } | true"
|
prop_checkExtraMaskedReturns34 = verifyNotTree checkExtraMaskedReturns "{ false || :; } | true"
|
||||||
|
prop_checkExtraMaskedReturns35 = verifyTree checkExtraMaskedReturns "f() { local -r x=$(false); }"
|
||||||
|
|
||||||
checkExtraMaskedReturns params t = runNodeAnalysis findMaskingNodes params t
|
checkExtraMaskedReturns params t = runNodeAnalysis findMaskingNodes params t
|
||||||
where
|
where
|
||||||
findMaskingNodes _ (T_Arithmetic _ list) = findMaskedNodesInList [list]
|
findMaskingNodes _ (T_Arithmetic _ list) = findMaskedNodesInList [list]
|
||||||
|
@ -4828,8 +4830,13 @@ checkExtraMaskedReturns params t = runNodeAnalysis findMaskingNodes params t
|
||||||
isCheckedElsewhere t = hasParent isDeclaringCommand t
|
isCheckedElsewhere t = hasParent isDeclaringCommand t
|
||||||
where
|
where
|
||||||
isDeclaringCommand t _ = fromMaybe False $ do
|
isDeclaringCommand t _ = fromMaybe False $ do
|
||||||
basename <- getCommandBasename t
|
cmd <- getCommand t
|
||||||
return $ basename `elem` declaringCommands
|
basename <- getCommandBasename cmd
|
||||||
|
return $
|
||||||
|
case basename of
|
||||||
|
-- local -r x=$(false) is intentionally ignored for SC2155
|
||||||
|
"local" | "r" `elem` (map snd $ getAllFlags cmd) -> False
|
||||||
|
_ -> basename `elem` declaringCommands
|
||||||
|
|
||||||
isHarmlessCommand t = fromMaybe False $ do
|
isHarmlessCommand t = fromMaybe False $ do
|
||||||
basename <- getCommandBasename t
|
basename <- getCommandBasename t
|
||||||
|
|
Loading…
Reference in New Issue