Affects PMD Version:
6.22.0
Rule:
UseCollectionIsEmpty
Description:
UseCollectionIsEmpty can not detect the case foo.bar().size().
AST analyse result of the code sample:
<PrimaryPrefix FindBoundary='false' Image='' SingleLine='true' SuperModifier='false' ThisModifier='false'>
<Name FindBoundary='false' Image='vr.getMembers' SingleLine='true' />
</PrimaryPrefix>
<PrimarySuffix ArgumentCount='0' Arguments='true' ArrayDereference='false' FindBoundary='false' Image='' SingleLine='true'>
<Arguments ArgumentCount='0' FindBoundary='false' Image='' SingleLine='true' Size='0' />
</PrimarySuffix>
<PrimarySuffix ArgumentCount='-1' Arguments='false' ArrayDereference='false' FindBoundary='false' Image='size' SingleLine='true' />
<PrimarySuffix ArgumentCount='0' Arguments='true' ArrayDereference='false' FindBoundary='false' Image='' SingleLine='true'>
<Arguments ArgumentCount='0' FindBoundary='false' Image='' SingleLine='true' Size='0' />
</PrimarySuffix>
In the case vr.getMembers().size(), PrimaryPrefix is vr.getMembers, may cause error in comparing whether PrimaryPrefix is collection
Code Sample demonstrating the issue:
while (vr.getMembers().size() > 0)
Expected outcome:
false-negative
Running PMD through:
CLI
Affects PMD Version:
6.22.0
Rule:
UseCollectionIsEmpty
Description:
UseCollectionIsEmpty can not detect the case
foo.bar().size().AST analyse result of the code sample:
In the case
vr.getMembers().size(), PrimaryPrefix isvr.getMembers, may cause error in comparing whether PrimaryPrefix is collectionCode Sample demonstrating the issue:
Expected outcome:
false-negative
Running PMD through:
CLI