aibolit
aibolit copied to clipboard
Bug with P21 (var in the middle)
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) {
....
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);
}