Skip to content

Commit 91aabe2

Browse files
committed
Sync Source Changes :)
1 parent 4c565f2 commit 91aabe2

928 files changed

Lines changed: 20291 additions & 14236 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/builder/java/speiger/src/builder/modules/MapModule.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ protected void loadRemappers()
198198
addBiRequirement("SortedMapNavigationTester");
199199
addBiRequirement("OrderedMapNavigationTester");
200200
addBiRequirement("OrderedMapMoveTester");
201+
addBiRequirement("OrderedMapPutTester");
201202
addBiRequirement("MapConstructorTester");
202203

203204
addRemapper("TestMapGenerator", "Test%sMapGenerator");

src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/LinkedOpenCustomHashMap.template

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,10 @@ public class LINKED_CUSTOM_HASH_MAP KEY_VALUE_GENERIC_TYPE extends CUSTOM_HASH_M
713713
}
714714

715715
private class MapEntrySet extends AbstractObjectSet<MAP.Entry KEY_VALUE_GENERIC_TYPE> implements ORDERED_MAP.FastOrderedSet KEY_VALUE_GENERIC_TYPE {
716+
@Override
717+
public void addFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
718+
@Override
719+
public void addLast(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
716720
@Override
717721
public boolean addAndMoveToFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
718722
@Override
@@ -1004,10 +1008,13 @@ public class LINKED_CUSTOM_HASH_MAP KEY_VALUE_GENERIC_TYPE extends CUSTOM_HASH_M
10041008
public boolean add(KEY_TYPE o) {
10051009
throw new UnsupportedOperationException();
10061010
}
1007-
1011+
1012+
@Override
1013+
public void addFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
1014+
@Override
1015+
public void addLast(KEY_TYPE o) { throw new UnsupportedOperationException(); }
10081016
@Override
10091017
public boolean addAndMoveToFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
1010-
10111018
@Override
10121019
public boolean addAndMoveToLast(KEY_TYPE o) { throw new UnsupportedOperationException(); }
10131020

src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/LinkedOpenHashMap.template

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -717,6 +717,10 @@ public class LINKED_HASH_MAP KEY_VALUE_GENERIC_TYPE extends HASH_MAP KEY_VALUE_G
717717
}
718718

719719
private class MapEntrySet extends AbstractObjectSet<MAP.Entry KEY_VALUE_GENERIC_TYPE> implements ORDERED_MAP.FastOrderedSet KEY_VALUE_GENERIC_TYPE {
720+
@Override
721+
public void addFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
722+
@Override
723+
public void addLast(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
720724
@Override
721725
public boolean addAndMoveToFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
722726
@Override
@@ -1003,6 +1007,12 @@ public class LINKED_HASH_MAP KEY_VALUE_GENERIC_TYPE extends HASH_MAP KEY_VALUE_G
10031007
#endif
10041008
@Override
10051009
public boolean add(KEY_TYPE o) { throw new UnsupportedOperationException(); }
1010+
1011+
@Override
1012+
public void addFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
1013+
1014+
@Override
1015+
public void addLast(KEY_TYPE o) { throw new UnsupportedOperationException(); }
10061016

10071017
@Override
10081018
public boolean addAndMoveToFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }

src/builder/resources/speiger/assets/collections/templates/maps/impl/immutable/ImmutableOpenHashMap.template

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,10 @@ public class IMMUTABLE_HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_
637637
}
638638

639639
private class MapEntrySet extends AbstractObjectSet<MAP.Entry KEY_VALUE_GENERIC_TYPE> implements ORDERED_MAP.FastOrderedSet KEY_VALUE_GENERIC_TYPE {
640+
@Override
641+
public void addFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
642+
@Override
643+
public void addLast(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
640644
@Override
641645
public boolean addAndMoveToFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
642646
@Override
@@ -894,6 +898,12 @@ public class IMMUTABLE_HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_
894898
throw new UnsupportedOperationException();
895899
}
896900

901+
@Override
902+
public void addFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
903+
904+
@Override
905+
public void addLast(KEY_TYPE o) { throw new UnsupportedOperationException(); }
906+
897907
@Override
898908
public boolean addAndMoveToFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
899909

src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -868,6 +868,10 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
868868
}
869869

870870
private class MapEntrySet extends AbstractObjectSet<MAP.Entry KEY_VALUE_GENERIC_TYPE> implements ORDERED_MAP.FastOrderedSet KEY_VALUE_GENERIC_TYPE {
871+
@Override
872+
public void addFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
873+
@Override
874+
public void addLast(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
871875
@Override
872876
public boolean addAndMoveToFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
873877
@Override
@@ -1126,6 +1130,10 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
11261130
@Override
11271131
public boolean add(KEY_TYPE o) { throw new UnsupportedOperationException(); }
11281132
@Override
1133+
public void addFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
1134+
@Override
1135+
public void addLast(KEY_TYPE o) { throw new UnsupportedOperationException(); }
1136+
@Override
11291137
public boolean addAndMoveToFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
11301138
@Override
11311139
public boolean addAndMoveToLast(KEY_TYPE o) { throw new UnsupportedOperationException(); }

src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/LinkedEnumMap.template

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,10 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
473473
}
474474

475475
private class MapEntrySet extends AbstractObjectSet<MAP.Entry KEY_VALUE_GENERIC_TYPE> implements ORDERED_MAP.FastOrderedSet KEY_VALUE_GENERIC_TYPE {
476+
@Override
477+
public void addFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
478+
@Override
479+
public void addLast(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
476480
@Override
477481
public boolean addAndMoveToFirst(MAP.Entry KEY_VALUE_GENERIC_TYPE o) { throw new UnsupportedOperationException(); }
478482
@Override
@@ -637,7 +641,10 @@ public class LINKED_ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ENUM_MAP KEY_VA
637641
public boolean add(T o) {
638642
throw new UnsupportedOperationException();
639643
}
640-
644+
@Override
645+
public void addFirst(T o) { throw new UnsupportedOperationException(); }
646+
@Override
647+
public void addLast(T o) { throw new UnsupportedOperationException(); }
641648
@Override
642649
public boolean addAndMoveToFirst(T o) { throw new UnsupportedOperationException(); }
643650

src/builder/resources/speiger/assets/collections/templates/sets/AbstractSet.template

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,17 @@ public abstract class ABSTRACT_SET KEY_GENERIC_TYPE extends ABSTRACT_COLLECTION
7373
public BI_ITERATOR KEY_GENERIC_TYPE reverseIterator() {
7474
return set.iterator();
7575
}
76-
76+
77+
@Override
78+
public void addFirst(KEY_TYPE o) {
79+
set.addLast(o);
80+
}
81+
82+
@Override
83+
public void addLast(KEY_TYPE o) {
84+
set.addFirst(o);
85+
}
86+
7787
@Override
7888
#if !TYPE_OBJECT
7989
public boolean remove(KEY_TYPE o) {

src/builder/resources/speiger/assets/collections/templates/sets/ArraySet.template

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,25 @@ public class ARRAY_SET KEY_GENERIC_TYPE extends ABSTRACT_SET KEY_GENERIC_TYPE im
153153
}
154154

155155
#endif
156+
@Override
157+
public void addFirst(KEY_TYPE o) {
158+
int index = findIndex(o);
159+
if(index == -1) {
160+
if(data.length == size) data = Arrays.copyOf(data, size == 0 ? 2 : size * 2);
161+
System.arraycopy(data, 0, data, 1, size++);
162+
data[0] = o;
163+
}
164+
}
165+
166+
@Override
167+
public void addLast(KEY_TYPE o) {
168+
int index = findIndex(o);
169+
if(index == -1) {
170+
if(data.length == size) data = Arrays.copyOf(data, size == 0 ? 2 : size * 2);
171+
data[size++] = o;
172+
}
173+
}
174+
156175
@Override
157176
public boolean addAndMoveToFirst(KEY_TYPE o) {
158177
int index = findIndex(o);

src/builder/resources/speiger/assets/collections/templates/sets/ImmutableOpenHashSet.template

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,10 @@ public class IMMUTABLE_HASH_SET KEY_GENERIC_TYPE extends ABSTRACT_SET KEY_GENERI
264264
@Override
265265
public boolean addAll(COLLECTION KEY_GENERIC_TYPE c) { throw new UnsupportedOperationException(); }
266266
@Override
267+
public void addFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
268+
@Override
269+
public void addLast(KEY_TYPE o) { throw new UnsupportedOperationException(); }
270+
@Override
267271
public boolean addAndMoveToFirst(KEY_TYPE o) { throw new UnsupportedOperationException(); }
268272
@Override
269273
public boolean addAndMoveToLast(KEY_TYPE o) { throw new UnsupportedOperationException(); }

src/builder/resources/speiger/assets/collections/templates/sets/LinkedOpenCustomHashSet.template

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,46 @@ public class LINKED_CUSTOM_HASH_SET KEY_GENERIC_TYPE extends CUSTOM_HASH_SET KEY
241241
}
242242

243243
#endif
244+
@Override
245+
public void addFirst(KEY_TYPE o) {
246+
if(strategy.equals(o, EMPTY_KEY_VALUE)) {
247+
if(containsNull) return;
248+
containsNull = true;
249+
onNodeAdded(nullIndex);
250+
moveToFirstIndex(nullIndex);
251+
}
252+
else {
253+
int pos = HashUtil.mix(strategy.hashCode(o)) & mask;
254+
while(!strategy.equals(keys[pos], EMPTY_KEY_VALUE)) {
255+
if(strategy.equals(keys[pos], o)) return;
256+
pos = ++pos & mask;
257+
}
258+
keys[pos] = o;
259+
onNodeAdded(pos);
260+
moveToFirstIndex(pos);
261+
}
262+
if(size++ >= maxFill) rehash(HashUtil.arraySize(size+1, loadFactor));
263+
}
264+
265+
@Override
266+
public void addLast(KEY_TYPE o) {
267+
if(strategy.equals(o, EMPTY_KEY_VALUE)) {
268+
if(containsNull) return;
269+
containsNull = true;
270+
onNodeAdded(nullIndex);
271+
}
272+
else {
273+
int pos = HashUtil.mix(strategy.hashCode(o)) & mask;
274+
while(!strategy.equals(keys[pos], EMPTY_KEY_VALUE)) {
275+
if(strategy.equals(keys[pos], o)) return;
276+
pos = ++pos & mask;
277+
}
278+
keys[pos] = o;
279+
onNodeAdded(pos);
280+
}
281+
if(size++ >= maxFill) rehash(HashUtil.arraySize(size+1, loadFactor));
282+
}
283+
244284
@Override
245285
public boolean addAndMoveToFirst(KEY_TYPE o) {
246286
if(strategy.equals(o, EMPTY_KEY_VALUE)) {

0 commit comments

Comments
 (0)