Compare commits

..

No commits in common. "58e20bb51375c34eef71922df262c973d4a45ff4" and "a26106cc89ff569e3a69ba14f293e8db9a2240ee" have entirely different histories.

5 changed files with 21 additions and 34 deletions

View File

@ -11,20 +11,20 @@ jobs:
strategy:
fail-fast: false
matrix:
jdk: [8, 11, 17, 20, 21]
jdk: [8, 11, 17, 20, 21, 25]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v5
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.jdk }}
- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v6
uses: gradle/wrapper-validation-action@v1
- name: Make gradlew executable
run: chmod +x ./gradlew

View File

@ -9,12 +9,12 @@ jobs:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v5
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
@ -54,7 +54,7 @@ jobs:
esac
- name: Create Test Badge
uses: emibcn/badge-action@v2
uses: emibcn/badge-action@v1.2.4
with:
label: Tests
status: '${{ fromJSON( steps.test-results.outputs.json ).conclusion }}, Passed: ${{ fromJSON( steps.test-results.outputs.json ).formatted.stats.tests_succ }}, Skipped: ${{ fromJSON( steps.test-results.outputs.json ).formatted.stats.tests_skip }}, Failed: ${{ fromJSON( steps.test-results.outputs.json ).formatted.stats.tests_fail }}'

View File

@ -8,11 +8,11 @@ jobs:
name: Code Quality Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 11
uses: actions/setup-java@v5
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11

View File

@ -9,12 +9,12 @@ jobs:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v5
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11

View File

@ -519,7 +519,7 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
@Override
public ObjectBidirectionalIterator<MAP.Entry KEY_VALUE_GENERIC_TYPE> reverseIterator() {
return new EntryIterator(false);
return new ReverseBiIterator<>(new EntryIterator(false));
}
@Override
@ -661,7 +661,7 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
@Override
public LIST_ITERATOR KEY_GENERIC_TYPE reverseIterator() {
return new KeyIterator(false);
return new ReverseBiIteratorBRACES(new KeyIterator(false));
}
@Override
@ -746,7 +746,7 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
@Override
public VALUE_ORDERED_COLLECTION VALUE_GENERIC_TYPE reversed() { return new VALUE_ABSTRACT_COLLECTION.VALUE_REVERSED_ORDERED_COLLECTIONVALUE_BRACES(this, this::reverseIterator); }
private VALUE_ITERATOR VALUE_GENERIC_TYPE reverseIterator() {
return new ValueIterator(false);
return new VALUE_ABSTRACT_COLLECTION.ReverseBiIteratorVALUE_BRACES(new ValueIterator(false));
}
@Override
public void addFirst(VALUE_TYPE e) { throw new UnsupportedOperationException(); }
@ -892,20 +892,17 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
}
private class MapIterator {
boolean forward;
int previous = -1;
int next = -1;
int current = -1;
int index = 0;
MapIterator(boolean start) {
this.forward = start;
if(start) next = firstIndex;
else previous = lastIndex;
}
MapIterator(T from) {
this.forward = true;
previous = from.ordinal() - 1;
index = from.ordinal();
next = from.ordinal();
@ -913,11 +910,11 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
}
public boolean hasNext() {
return (forward ? next : previous) != -1;
return next != -1;
}
public boolean hasPrevious() {
return (forward ? previous : next) != -1;
return previous != -1;
}
public int nextIndex() {
@ -952,30 +949,20 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
public int previousEntry() {
if(!hasPrevious()) throw new NoSuchElementException();
if(forward) moveBackwards();
else moveForwards();
current = previous;
previous = (int)(links[current] >> 32);
next = current;
if(index >= 0) index--;
return current;
}
public int nextEntry() {
if(!hasNext()) throw new NoSuchElementException();
if(forward) moveForwards();
else moveBackwards();
if(index >= 0) index++;
return current;
}
private void moveBackwards() {
current = previous;
previous = (int)(links[current] >> 32);
next = current;
}
private void moveForwards() {
current = next;
next = (int)(links[current]);
previous = current;
if(index >= 0) index++;
return current;
}
private void ensureIndexKnown() {