Skip to content

Commit

Permalink
Replace Enum.values() with entries (#364)
Browse files Browse the repository at this point in the history
  • Loading branch information
erikc5000 committed Nov 2, 2023
1 parent f6cf63d commit 1f2bc27
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ data class TemporalUnitConversion(
val (smallerUnit, largerUnit) = orderedFromSmallerToLargerUnit()

(smallerUnit.ordinal until largerUnit.ordinal)
.map { TemporalUnitDescription.values()[it].conversionFactor.toLong() }
.map { TemporalUnitDescription.entries[it].conversionFactor.toLong() }
.fold(1L) { total, factor -> Math.multiplyExact(total, factor) }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ private fun buildConstantsFile() = file(
fileName = "_Constants",
jvmName = "ConstantsKt"
) {
TemporalUnitDescription.values()
TemporalUnitDescription.entries
.flatMap { firstUnit ->
TemporalUnitDescription.values()
TemporalUnitDescription.entries
.filter { secondUnit -> secondUnit > firstUnit }
.map { secondUnit -> firstUnit per secondUnit }
.filter { conversion -> conversion.isSupportedAndNecessary() }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ private fun buildDateConversionsFile() = file(
fileName = "_Conversions",
jvmName = "DateTimesKt"
) {
DateTimeDescription.values().forEach { receiverClass ->
DateTimeDescription.values()
DateTimeDescription.entries.forEach { receiverClass ->
DateTimeDescription.entries
.filter { otherClass -> receiverClass.convertsDirectlyTo(otherClass) }
.forEach { otherClass -> buildConversionFunction(from = receiverClass, to = otherClass) }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ private fun buildDatePropertiesFile() = file(
fileName = "_DateProperties",
jvmName = "DateTimesKt"
) {
DateTimeDescription.values()
DateTimeDescription.entries
.filter { it.isDateBased && it.smallestUnit <= DAYS }
.forEach { buildDatePropertiesForClass(it) }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ private fun buildOperatorsFile() = file(
fileName = "_Operators",
jvmName = "RangesKt"
) {
IntervalDescription.values().forEach { buildOperatorsForClass(it) }
IntervalDescription.entries.forEach { buildOperatorsForClass(it) }
}

private fun FileBuilder.buildOperatorsForClass(receiverClass: IntervalDescription) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ private fun buildPropertiesFile() = file(
fileName = "_Properties",
jvmName = "RangesKt"
) {
IntervalDescription.values().forEach { buildPropertiesForClass(it) }
IntervalDescription.entries.forEach { buildPropertiesForClass(it) }
buildPropertiesForTimePoint()
}

private fun FileBuilder.buildPropertiesForClass(receiverClass: IntervalDescription) {
TemporalUnitDescription.values()
TemporalUnitDescription.entries
.filter { unit ->
unit >= receiverClass.elementDescription.smallestUnit &&
((unit.isDateBased && receiverClass.isDateBased) || !receiverClass.isTimePointInterval)
Expand All @@ -48,7 +48,7 @@ private fun FileBuilder.buildPropertiesForClass(receiverClass: IntervalDescripti
}

private fun FileBuilder.buildPropertiesForTimePoint() {
TemporalUnitDescription.values()
TemporalUnitDescription.entries
.filter { it.isTimeBased && !it.isDateBased }
.forEach { unit ->
buildLengthProperty(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -386,11 +386,11 @@ private fun CodeBlockBuilder.buildWholeToStringCodeBlock(description: TemporalUn
}

fun ClassBuilder.buildPlusAndMinusOperatorFunctions(description: TemporalUnitDescription) =
TemporalUnitDescription.values()
TemporalUnitDescription.entries
.map { description per it }
.filter { it.isSupported() }
.forEach { conversion ->
PlusOrMinusOperator.values().forEach { operator ->
PlusOrMinusOperator.entries.forEach { operator ->
buildPlusOrMinusOperatorFunction(conversion, operator, description)
}
}
Expand Down Expand Up @@ -490,7 +490,7 @@ private fun ClassBuilder.buildRemFunction(scalarPrimitive: KClass<*>, descriptio
}

private fun ClassBuilder.buildUnitConversionProperties(description: TemporalUnitDescription) {
TemporalUnitDescription.values()
TemporalUnitDescription.entries
.map { otherUnit -> description per otherUnit }
.filter { conversion -> conversion.isSupportedAndNecessary() }
.forEach { conversion ->
Expand Down Expand Up @@ -577,10 +577,10 @@ private fun ClassBuilder.buildInSmallerUnitConversionProperties(
}

private fun ClassBuilder.buildToComponentValuesFunctions(thisUnit: TemporalUnitDescription) {
TemporalUnitDescription.values()
TemporalUnitDescription.entries
.filter { it > thisUnit && thisUnit.per(it).isSupported() }
.map { biggestUnit ->
val allComponentUnits = TemporalUnitDescription.values()
val allComponentUnits = TemporalUnitDescription.entries
.filter { it in thisUnit..biggestUnit }
.sortedDescending()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import io.islandtime.codegen.measures

internal val TemporalUnitDescription.className get() = measures(pluralName)

internal val TemporalUnitDescription.nextBiggest get() = TemporalUnitDescription.values()[this.ordinal + 1]
internal val TemporalUnitDescription.nextBiggest get() = TemporalUnitDescription.entries[this.ordinal + 1]

internal val TemporalUnitDescription.nextSmallest get() = TemporalUnitDescription.values()[this.ordinal - 1]
internal val TemporalUnitDescription.nextSmallest get() = TemporalUnitDescription.entries[this.ordinal - 1]

internal val TemporalUnitDescription.nextSmallestOrNull
get() = if (this == TemporalUnitDescription.NANOSECONDS) null else nextSmallest

0 comments on commit 1f2bc27

Please sign in to comment.