Add readonly to SC2155
This adds a warning for readonly masking the return value of function. This is mentioned in the wiki https://github.com/koalaman/shellcheck/wiki/SC2155#problematic-code-in-the-case-of-readonly but didn't actually produce a warning. Fixes https://github.com/koalaman/shellcheck/issues/1336
This commit is contained in:
parent
28d3279ba6
commit
619662adb6
|
@ -2902,11 +2902,14 @@ checkTestArgumentSplitting params t =
|
||||||
prop_checkMaskedReturns1 = verify checkMaskedReturns "f() { local a=$(false); }"
|
prop_checkMaskedReturns1 = verify checkMaskedReturns "f() { local a=$(false); }"
|
||||||
prop_checkMaskedReturns2 = verify checkMaskedReturns "declare a=$(false)"
|
prop_checkMaskedReturns2 = verify checkMaskedReturns "declare a=$(false)"
|
||||||
prop_checkMaskedReturns3 = verify checkMaskedReturns "declare a=\"`false`\""
|
prop_checkMaskedReturns3 = verify checkMaskedReturns "declare a=\"`false`\""
|
||||||
prop_checkMaskedReturns4 = verifyNot checkMaskedReturns "declare a; a=$(false)"
|
prop_checkMaskedReturns4 = verify checkMaskedReturns "readonly a=$(false)"
|
||||||
prop_checkMaskedReturns5 = verifyNot checkMaskedReturns "f() { local -r a=$(false); }"
|
prop_checkMaskedReturns5 = verify checkMaskedReturns "readonly a=\"`false`\""
|
||||||
|
prop_checkMaskedReturns6 = verifyNot checkMaskedReturns "declare a; a=$(false)"
|
||||||
|
prop_checkMaskedReturns7 = verifyNot checkMaskedReturns "f() { local -r a=$(false); }"
|
||||||
|
prop_checkMaskedReturns8 = verifyNot checkMaskedReturns "a=$(false); readonly a"
|
||||||
checkMaskedReturns _ t@(T_SimpleCommand id _ (cmd:rest)) = sequence_ $ do
|
checkMaskedReturns _ t@(T_SimpleCommand id _ (cmd:rest)) = sequence_ $ do
|
||||||
name <- getCommandName t
|
name <- getCommandName t
|
||||||
guard $ name `elem` ["declare", "export"]
|
guard $ name `elem` ["declare", "export", "readonly"]
|
||||||
|| name == "local" && "r" `notElem` map snd (getAllFlags t)
|
|| name == "local" && "r" `notElem` map snd (getAllFlags t)
|
||||||
return $ mapM_ checkArgs rest
|
return $ mapM_ checkArgs rest
|
||||||
where
|
where
|
||||||
|
|
Loading…
Reference in New Issue