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

View File

@ -9,12 +9,12 @@ jobs:
name: Unit Tests name: Unit Tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v3
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v5 uses: actions/setup-java@v3
with: with:
distribution: temurin distribution: temurin
java-version: 11 java-version: 11
@ -54,7 +54,7 @@ jobs:
esac esac
- name: Create Test Badge - name: Create Test Badge
uses: emibcn/badge-action@v2 uses: emibcn/badge-action@v1.2.4
with: with:
label: Tests 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 }}' 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 name: Code Quality Check
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v3
with: with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v5 uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 11 java-version: 11

View File

@ -9,12 +9,12 @@ jobs:
name: Unit Tests name: Unit Tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v2
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v5 uses: actions/setup-java@v3
with: with:
distribution: temurin distribution: temurin
java-version: 11 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 @Override
public ObjectBidirectionalIterator<MAP.Entry KEY_VALUE_GENERIC_TYPE> reverseIterator() { public ObjectBidirectionalIterator<MAP.Entry KEY_VALUE_GENERIC_TYPE> reverseIterator() {
return new EntryIterator(false); return new ReverseBiIterator<>(new EntryIterator(false));
} }
@Override @Override
@ -661,7 +661,7 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
@Override @Override
public LIST_ITERATOR KEY_GENERIC_TYPE reverseIterator() { public LIST_ITERATOR KEY_GENERIC_TYPE reverseIterator() {
return new KeyIterator(false); return new ReverseBiIteratorBRACES(new KeyIterator(false));
} }
@Override @Override
@ -746,7 +746,7 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
@Override @Override
public VALUE_ORDERED_COLLECTION VALUE_GENERIC_TYPE reversed() { return new VALUE_ABSTRACT_COLLECTION.VALUE_REVERSED_ORDERED_COLLECTIONVALUE_BRACES(this, this::reverseIterator); } 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() { private VALUE_ITERATOR VALUE_GENERIC_TYPE reverseIterator() {
return new ValueIterator(false); return new VALUE_ABSTRACT_COLLECTION.ReverseBiIteratorVALUE_BRACES(new ValueIterator(false));
} }
@Override @Override
public void addFirst(VALUE_TYPE e) { throw new UnsupportedOperationException(); } 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 { private class MapIterator {
boolean forward;
int previous = -1; int previous = -1;
int next = -1; int next = -1;
int current = -1; int current = -1;
int index = 0; int index = 0;
MapIterator(boolean start) { MapIterator(boolean start) {
this.forward = start;
if(start) next = firstIndex; if(start) next = firstIndex;
else previous = lastIndex; else previous = lastIndex;
} }
MapIterator(T from) { MapIterator(T from) {
this.forward = true;
previous = from.ordinal() - 1; previous = from.ordinal() - 1;
index = from.ordinal(); index = from.ordinal();
next = 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() { public boolean hasNext() {
return (forward ? next : previous) != -1; return next != -1;
} }
public boolean hasPrevious() { public boolean hasPrevious() {
return (forward ? previous : next) != -1; return previous != -1;
} }
public int nextIndex() { 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() { public int previousEntry() {
if(!hasPrevious()) throw new NoSuchElementException(); if(!hasPrevious()) throw new NoSuchElementException();
if(forward) moveBackwards(); current = previous;
else moveForwards(); previous = (int)(links[current] >> 32);
next = current;
if(index >= 0) index--; if(index >= 0) index--;
return current; return current;
} }
public int nextEntry() { public int nextEntry() {
if(!hasNext()) throw new NoSuchElementException(); 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; current = next;
next = (int)(links[current]); next = (int)(links[current]);
previous = current; previous = current;
if(index >= 0) index++;
return current;
} }
private void ensureIndexKnown() { private void ensureIndexKnown() {