diff --git a/Changelog.md b/Changelog.md index b7a207d3..0f75ab74 100644 --- a/Changelog.md +++ b/Changelog.md @@ -7,4 +7,6 @@ - Removed: Suffixes for unmodifiable & synchronize functions. - Changed: Primitive Stacks no longer depend on the base Stack class. Because seriously not needed. - Changed: PriorityQueues no longer extends Object Variant. -- Changed: Maps.get function is no longer using Suffixes unless its absolutely necessary. \ No newline at end of file +- Changed: Maps.get function is no longer using Suffixes unless its absolutely necessary. +- Changed: Maps.remove function is no longer using Suffixes unless its absolutely necessary. +- Changed: ObjectList methods are no longer marked Deprecated even so it was for primitive ones. \ No newline at end of file diff --git a/build.gradle b/build.gradle index 806e859d..01993c04 100644 --- a/build.gradle +++ b/build.gradle @@ -65,6 +65,14 @@ task generateSource(type: JavaExec) { main = 'speiger.src.builder.PrimitiveCollectionsBuilder' } +task forceGenerateSource(type: JavaExec) { + group = 'internal' + description = 'Builds the sourcecode forceful' + classpath = sourceSets.builder.runtimeClasspath + main = 'speiger.src.builder.PrimitiveCollectionsBuilder' + args = ['true'] +} + task javadocJar(type: Jar) { from javadoc classifier = 'javadoc' diff --git a/src/builder/java/speiger/src/builder/GlobalVariables.java b/src/builder/java/speiger/src/builder/GlobalVariables.java index 9464e341..a1a88bf2 100644 --- a/src/builder/java/speiger/src/builder/GlobalVariables.java +++ b/src/builder/java/speiger/src/builder/GlobalVariables.java @@ -236,6 +236,8 @@ public class GlobalVariables addFunctionValueMapper("MERGE", "merge"); addFunctionMapper("NEXT", "next"); addFunctionMapper("PREVIOUS", "previous"); + if(type.isObject()) addFunctionMapper("REMOVE_VALUE", "rem"); + else addSimpleMapper("REMOVE_VALUE", "remove"); addFunctionMapper("REMOVE_KEY", "rem"); addFunctionMapper("REMOVE_LAST", "removeLast"); addFunctionMapper("REMOVE", "remove"); diff --git a/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java b/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java index ba15f334..5e14871a 100644 --- a/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java +++ b/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java @@ -149,9 +149,13 @@ public class PrimitiveCollectionsBuilder extends TemplateProcessor { if(args.length == 0) { new PrimitiveCollectionsBuilder().process(false); + } else if(args.length == 1) { + new PrimitiveCollectionsBuilder().process(Boolean.parseBoolean(args[0])); } else if(args.length == 3) { new PrimitiveCollectionsBuilder(Paths.get(args[0]), Paths.get(args[1]), Paths.get(args[2])).process(false); - } else { + } else if(args.length == 4) { + new PrimitiveCollectionsBuilder(Paths.get(args[0]), Paths.get(args[1]), Paths.get(args[2])).process(Boolean.parseBoolean(args[3])); + } else { System.out.println("Invalid argument count passed in"); System.exit(1); } diff --git a/src/builder/resources/speiger/assets/collections/templates/collections/AbstractCollection.template b/src/builder/resources/speiger/assets/collections/templates/collections/AbstractCollection.template index 8c56de7d..d6b3a726 100644 --- a/src/builder/resources/speiger/assets/collections/templates/collections/AbstractCollection.template +++ b/src/builder/resources/speiger/assets/collections/templates/collections/AbstractCollection.template @@ -55,8 +55,6 @@ public abstract class ABSTRACT_COLLECTION KEY_GENERIC_TYPE extends AbstractColle return false; } -#endif - /** {@inheritDoc} *
This default implementation delegates to the corresponding type-specific function.
* @deprecated Please use the corresponding type-specific function instead.
@@ -67,6 +65,7 @@ public abstract class ABSTRACT_COLLECTION KEY_GENERIC_TYPE extends AbstractColle
{
return c instanceof COLLECTION ? addAll((COLLECTION KEY_GENERIC_TYPE)c) : super.addAll(c);
}
+#endif
/**
* A Type-Specific implementation of containsAll. This implementation iterates over all elements and checks all elements are present in the other collection.
diff --git a/src/builder/resources/speiger/assets/collections/templates/lists/ArrayList.template b/src/builder/resources/speiger/assets/collections/templates/lists/ArrayList.template
index bf3a7267..e99c0a70 100644
--- a/src/builder/resources/speiger/assets/collections/templates/lists/ArrayList.template
+++ b/src/builder/resources/speiger/assets/collections/templates/lists/ArrayList.template
@@ -381,7 +381,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
* A function to find if the Element is present in this list.
* @param o the element that is searched for
* @return if the element was found.
- * @deprecated if type-specific but still supported because of special edgecase Object-Comparason features
*/
@Override
@Primitive
@@ -393,7 +392,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
* A function to find the index of a given element
* @param o the element that is searched for
* @return the index of the element if found. (if not found then -1)
- * @deprecated if type-specific but still supported because of special edgecase Object-Comparason features
*/
@Override
@Primitive
@@ -417,7 +415,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
* A function to find the last index of a given element
* @param o the element that is searched for
* @return the last index of the element if found. (if not found then -1)
- * @deprecated if type-specific but still supported because of special edgecase Object-Comparason features
*/
@Override
@Primitive
@@ -693,7 +690,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
* @param c the elements that should be removed
* @return true if the collection was modified
* @throws NullPointerException if the collection is null
- * @deprecated if the collection is type-specific
*/
@Override
@Primitive
@@ -718,7 +714,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
* @param c the elements that should be kept. If empty, ARRAY_LIST#clear is called.
* @return true if the collection was modified
* @throws NullPointerException if the collection is null
- * @deprecated if the collection is type-specific
*/
@Override
@Primitive
@@ -745,7 +740,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
* A optimized List#removeIf(Predicate) that more quickly removes elements from the list then the ArrayList implementation
* @param filter the filter to remove elements
* @return true if the list was modified
- * @deprecated if Type-Specific, use #remIf instead
*/
@Override
@Primitive
diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template
index e1090a1a..d1783238 100644
--- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template
+++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template
@@ -291,14 +291,14 @@ public class CUSTOM_HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VAL
}
@Override
- public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
+ public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) {
int slot = findIndex(key);
if(slot < 0) return getDefaultReturnValue();
return removeIndex(slot);
}
@Override
- public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
+ public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
int slot = findIndex(key);
if(slot < 0) return defaultValue;
return removeIndex(slot);
diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template
index 84626e58..36d5df1b 100644
--- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template
+++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template
@@ -262,14 +262,14 @@ public class HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GENE
}
@Override
- public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
+ public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) {
int slot = findIndex(key);
if(slot < 0) return getDefaultReturnValue();
return removeIndex(slot);
}
@Override
- public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
+ public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
int slot = findIndex(key);
if(slot < 0) return defaultValue;
return removeIndex(slot);
diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template
index 1c9c1868..2594fe15 100644
--- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template
+++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template
@@ -352,7 +352,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
}
@Override
- public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
+ public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) {
int index = findIndex(key);
if(index < 0) return getDefaultReturnValue();
VALUE_TYPE value = values[index];
@@ -361,7 +361,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
}
@Override
- public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
+ public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
int index = findIndex(key);
if(index < 0) return defaultValue;
VALUE_TYPE value = values[index];
@@ -861,7 +861,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
}
@Override
- public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
+ public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) {
int index = findIndex(key);
if(index < 0) return getDefaultReturnValue();
VALUE_TYPE value = values[index];
@@ -871,7 +871,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
}
@Override
- public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
+ public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
int index = findIndex(key);
if(index < 0) return defaultValue;
VALUE_TYPE value = values[index];
diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template
index 7f221530..ca70fa40 100644
--- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template
+++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template
@@ -421,7 +421,7 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_
}
@Override
- public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
+ public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) {
Entry KEY_VALUE_GENERIC_TYPE entry = findNode(key);
if(entry == null) return getDefaultReturnValue();
VALUE_TYPE value = entry.value;
@@ -430,7 +430,7 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_
}
@Override
- public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
+ public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
Entry KEY_VALUE_GENERIC_TYPE entry = findNode(key);
if(entry == null) return defaultValue;
VALUE_TYPE value = entry.value;
@@ -1205,13 +1205,13 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_
#endif
@Override
- public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
- return inRange(key) ? m.REMOVE_KEY(key) : getDefaultReturnValue();
+ public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) {
+ return inRange(key) ? m.REMOVE_VALUE(key) : getDefaultReturnValue();
}
@Override
- public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
- return inRange(key) ? m.REMOVE_KEY(key) : defaultValue;
+ public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
+ return inRange(key) ? m.REMOVE_VALUE(key) : defaultValue;
}
#if TYPE_OBJECT && VALUE_OBJECT
diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template
index 97704da8..18dbec1b 100644
--- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template
+++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template
@@ -420,7 +420,7 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G
}
@Override
- public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
+ public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) {
Entry KEY_VALUE_GENERIC_TYPE entry = findNode(key);
if(entry == null) return getDefaultReturnValue();
VALUE_TYPE value = entry.value;
@@ -429,7 +429,7 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G
}
@Override
- public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
+ public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
Entry KEY_VALUE_GENERIC_TYPE entry = findNode(key);
if(entry == null) return defaultValue;
VALUE_TYPE value = entry.value;
@@ -1262,13 +1262,13 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G
#endif
@Override
- public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
- return inRange(key) ? m.REMOVE_KEY(key) : getDefaultReturnValue();
+ public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) {
+ return inRange(key) ? m.REMOVE_VALUE(key) : getDefaultReturnValue();
}
@Override
- public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
- return inRange(key) ? m.REMOVE_KEY(key) : defaultValue;
+ public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
+ return inRange(key) ? m.REMOVE_VALUE(key) : defaultValue;
}
#if TYPE_OBJECT && VALUE_OBJECT
diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template b/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template
index 9feb6d0f..c4fe0cf4 100644
--- a/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template
+++ b/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template
@@ -156,7 +156,7 @@ public interface MAP KEY_VALUE_GENERIC_TYPE extends Map