Count b as a reference in ${a:b}
This commit is contained in:
parent
5a46eeb09a
commit
a90b6d14b3
|
@ -2088,6 +2088,7 @@ prop_checkUnused31= verifyTree checkUnusedAssignments "let 'a=1'"
|
||||||
prop_checkUnused32= verifyTree checkUnusedAssignments "let a=b=c; echo $a"
|
prop_checkUnused32= verifyTree checkUnusedAssignments "let a=b=c; echo $a"
|
||||||
prop_checkUnused33= verifyNotTree checkUnusedAssignments "a=foo; [[ foo =~ ^{$a}$ ]]"
|
prop_checkUnused33= verifyNotTree checkUnusedAssignments "a=foo; [[ foo =~ ^{$a}$ ]]"
|
||||||
prop_checkUnused34= verifyNotTree checkUnusedAssignments "foo=1; (( t = foo )); echo $t"
|
prop_checkUnused34= verifyNotTree checkUnusedAssignments "foo=1; (( t = foo )); echo $t"
|
||||||
|
prop_checkUnused35= verifyNotTree checkUnusedAssignments "a=foo; b=2; echo ${a:b}"
|
||||||
checkUnusedAssignments params t = execWriter (mapM_ warnFor unused)
|
checkUnusedAssignments params t = execWriter (mapM_ warnFor unused)
|
||||||
where
|
where
|
||||||
flow = variableFlow params
|
flow = variableFlow params
|
||||||
|
|
|
@ -474,11 +474,20 @@ getIndexReferences s = fromMaybe [] $ do
|
||||||
where
|
where
|
||||||
re = mkRegex "(\\[.*\\])"
|
re = mkRegex "(\\[.*\\])"
|
||||||
|
|
||||||
|
getOffsetReferences mods = fromMaybe [] $ do
|
||||||
|
match <- matchRegex re mods
|
||||||
|
offsets <- match !!! 0
|
||||||
|
return $ matchAllStrings variableNameRegex offsets
|
||||||
|
where
|
||||||
|
re = mkRegex "^ *:(.*)"
|
||||||
|
|
||||||
getReferencedVariables parents t =
|
getReferencedVariables parents t =
|
||||||
case t of
|
case t of
|
||||||
T_DollarBraced id l -> let str = bracedString t in
|
T_DollarBraced id l -> let str = bracedString t in
|
||||||
(t, t, getBracedReference str) :
|
(t, t, getBracedReference str) :
|
||||||
map (\x -> (l, l, x)) (getIndexReferences str)
|
map (\x -> (l, l, x)) (
|
||||||
|
getIndexReferences str
|
||||||
|
++ getOffsetReferences (getBracedModifier str))
|
||||||
TA_Expansion id _ ->
|
TA_Expansion id _ ->
|
||||||
if isArithmeticAssignment t
|
if isArithmeticAssignment t
|
||||||
then []
|
then []
|
||||||
|
|
Loading…
Reference in New Issue