aibolit icon indicating copy to clipboard operation
aibolit copied to clipboard

Bug with P21 (var in the middle)

Open KatGarmash opened this issue 3 years ago • 1 comments

Aibolit detects P21 in lines 6,7,8, but it should not, since becase the only preceding expression in super invocation.

   1             Group(String objectNameBase, List<String> objectNames,
   2                             List<? extends PlatformManagedObject> implementations,
   3                             Set<Class<?>> interfaceTypes) {
   4                     super(objectNameBase.concat(",name=*"), interfaceTypes); //$NON-NLS-1$
   5
   6                     int beanCount = implementations.size();
   7                    Map<String, Object> beanMap = new HashMap<>(beanCount);
   8                     String namePrefix = objectNameBase.concat(",name="); //$NON-NLS-1$
   9
   10                     for (int i = 0; i < beanCount; ++i) {
....

KatGarmash avatar Aug 06 '20 11:08 KatGarmash

Also, it detects the P21 here:

 private static final class Group extends Component {

                private final Map<String, Object> nameToMBeanMap;

                Group(String objectNameBase, List<String> objectNames,
                                List<? extends PlatformManagedObject> implementations,
                                Set<Class<?>> interfaceTypes) {

                        int beanCount = implementations.size();
                        Map<String, Object> beanMap = new HashMap<>(beanCount);
                        String namePrefix = objectNameBase.concat(",name="); //$NON-NLS-1$

                        for (int i = 0; i < beanCount; ++i) {
                                String objectName = namePrefix.concat(objectNames.get(i));
                                PlatformManagedObject implementation = implementations.get(i);

                                beanMap.put(objectName, implementation);
                        }

KatGarmash avatar Aug 06 '20 11:08 KatGarmash