Craig P. Motlin

Results 52 issues of Craig P. Motlin

###### Problem: We use non-abbreviated conversion words in our logFormat. `%highlight(%-5level) %green(%logger): %message%n%red(%rootException)` Most abbreviations and longer forms work interchangeably (like `%c` and `%logger`) However, switching between the abbreviations and...

I was code reviewing changes related to multi-reader collections and I noticed that they're missing a bunch of overrides. These changes are not technically backwards compatible. I don't know if...

major-version

It's been a while since we turned on additional IntelliJ inspections. There are many newly created inspections that are worth adding. Older inspections that were buggy have been fixed or...

We're missing symmetry. This exists and works: ```java SortedBags.mutable.empty(comparator); ``` But these don't exist. ```java SortedMaps.mutable.empty(comparator); SortedSets.mutable.empty(comparator); ```

```java MapIterable collectKeysUnique(Function2

enhancement
major-version

Reduce code duplication by making a few classes extend AbstractRichIterable, including: * ImmutableArrayStack * primitiveObjectHashMap * abstractImmutablePrimitiveObjectMap * immutablePrimitiveObjectHashMap * MutablePrimitiveObjectMap

help wanted

* Pre-size TreeSortedMap.take/drop. * Pre-size AbstractMutableSortedMap.zip. * Don't pre-size AbstractMutableSortedMap.select/reject/collectIf.

help wanted
tech-debt
good first issue

Implement unmodifiable Multimap wrappers like `UnmodifiableMutableListMultimap`, `UnmodifiableMutableSetMultimap`, etc. Implement `MutableMultimap asUnmodifiable();` in `MutableMultimap` and covariant overrides like `MutableListMultimap asUnmodifiable();` in `MutableListMultimap`. All interfaces that extend `MutableMultimap` should have an override,...

enhancement
minor-version

The existing method `RichIterable.aggregateBy(Function, Function0, Function2)` is conceptually a `groupBy()` followed by `injectInto()` on each group of values. This method would be a `groupBy` followed by `reduce()` on each group...

enhancement

When iterating through a ChainedBucket, every item was a collision before shrinking and will remain a collision after shrinking. Instead of repeatedly looking up the ChainedBucket and iterating to the...

tech-debt