final TreePath[] paths = getSelectionPaths();
if (paths == null) return CommonProblemDescriptor.EMPTY_ARRAY;
final TreePath[] selectionPaths = TreeUtil.selectMaximals(paths);
- final LinkedHashSet<CommonProblemDescriptor> descriptors = new LinkedHashSet<CommonProblemDescriptor>();
+ final List<CommonProblemDescriptor> descriptors = new ArrayList<CommonProblemDescriptor>();
MultiMap<Object, ProblemDescriptionNode> parentToChildNode = new MultiMap<>();
final List<InspectionTreeNode> nonDescriptorNodes = new SmartList<>();
}
}
} else {
- Collection<CommonProblemDescriptor> currentDescriptors = sortedByPosition ? new TreeSet<>(DESCRIPTOR_COMPARATOR) : new ArrayList<>();
+ List<CommonProblemDescriptor> currentDescriptors = new ArrayList<>();
for (ProblemDescriptionNode sibling : siblings) {
final CommonProblemDescriptor descriptor = sibling.getDescriptor();
if (descriptor != null) {
currentDescriptors.add(descriptor);
}
}
+ if (sortedByPosition) {
+ Collections.sort(currentDescriptors, DESCRIPTOR_COMPARATOR);
+ }
descriptors.addAll(currentDescriptors);
}
}
}
private void processChildDescriptorsDeep(InspectionTreeNode node,
- LinkedHashSet<CommonProblemDescriptor> descriptors,
+ List<CommonProblemDescriptor> descriptors,
boolean sortedByPosition,
boolean allowResolved,
@Nullable Set<VirtualFile> readOnlyFilesSink) {