Project is now buildable.

-Moved: Code generation is in its own sourceset.
-Fixed: Bugs that caused that the project isnt buildable.
-Changed: Made build.gradle to a standard.
This commit is contained in:
2021-01-29 11:41:48 +01:00
parent 0cb07398f9
commit aaee550ea9
57 changed files with 132 additions and 86 deletions
@@ -1,4 +1,4 @@
package speiger.src.builder.example;
package speiger.src.builder;
public enum ClassType
{
@@ -1,4 +1,4 @@
package speiger.src.builder.example;
package speiger.src.builder;
import java.nio.file.Path;
import java.util.ArrayList;
@@ -1,4 +1,4 @@
package speiger.src.builder.example;
package speiger.src.builder;
import java.io.IOException;
import java.nio.file.Path;
@@ -15,7 +15,7 @@ import java.util.function.Consumer;
import speiger.src.builder.processor.TemplateProcess;
import speiger.src.builder.processor.TemplateProcessor;
public class TestBuilder extends TemplateProcessor
public class PrimitiveCollectionsBuilder extends TemplateProcessor
{
Map<String, EnumSet<ClassType>> blocked = new HashMap<>();
Map<String, String> nameRemapper = new HashMap<>();
@@ -26,12 +26,12 @@ public class TestBuilder extends TemplateProcessor
List<GlobalVariables> biVariables = new ArrayList<>();
List<GlobalVariables> enumVariables = new ArrayList<>();
public TestBuilder()
public PrimitiveCollectionsBuilder()
{
super(Paths.get("src/main/resources/speiger/assets/collections/templates/"), Paths.get("src/main/java/speiger/src/collections/"), Paths.get("src/main/resources/speiger/assets/collections/"));
super(Paths.get("src/builder/resources/speiger/assets/collections/templates/"), Paths.get("src/main/java/speiger/src/collections/"), Paths.get("src/builder/resources/speiger/assets/collections/"));
}
public TestBuilder(Path sourceFolder, Path outputFolder, Path dataFolder)
public PrimitiveCollectionsBuilder(Path sourceFolder, Path outputFolder, Path dataFolder)
{
super(sourceFolder, outputFolder, dataFolder);
}
@@ -145,9 +145,9 @@ public class TestBuilder extends TemplateProcessor
try
{
if(args.length == 0) {
new TestBuilder().process(false);
new PrimitiveCollectionsBuilder().process(false);
} else if(args.length == 3) {
new TestBuilder(Paths.get(args[0]), Paths.get(args[1]), Paths.get(args[2])).process(false);
new PrimitiveCollectionsBuilder(Paths.get(args[0]), Paths.get(args[1]), Paths.get(args[2])).process(false);
} else {
System.out.println("Invalid argument count passed in");
System.exit(1);
@@ -180,8 +180,8 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap<CL
}
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
VALUE_TYPE value = get(key);
public CLASS_VALUE_TYPE getOrDefault(Object key, CLASS_VALUE_TYPE defaultValue) {
CLASS_VALUE_TYPE value = get(key);
return VALUE_EQUALS_NOT(value, getDefaultReturnValue()) || containsKey(key) ? value : defaultValue;
}
@@ -191,6 +191,11 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap<CL
return VALUE_TO_OBJ(key instanceof CLASS_TYPE ? GET_VALUE(CLASS_TO_KEY(key)) : getDefaultReturnValue());
}
@Override
public CLASS_VALUE_TYPE getOrDefault(Object key, CLASS_VALUE_TYPE defaultValue) {
return VALUE_TO_OBJ(key instanceof CLASS_TYPE ? getOrDefault(CLASS_TO_KEY(key), OBJ_TO_VALUE(defaultValue)) : getDefaultReturnValue());
}
@Override
public VALUE_TYPE getOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
VALUE_TYPE value = get(key);
@@ -257,7 +257,14 @@ public class CUSTOM_HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VAL
return VALUE_TO_OBJ(slot < 0 ? getDefaultReturnValue() : values[slot]);
}
#if !TYPE_OBJECT
#if TYPE_OBJECT && VALUE_OBJECT
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
int slot = findIndex(key);
return slot < 0 ? defaultValue : values[slot];
}
#else
@Override
public VALUE_TYPE getOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
int slot = findIndex(key);
@@ -265,12 +272,6 @@ public class CUSTOM_HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VAL
}
#endif
@Override
public CLASS_VALUE_TYPE getOrDefault(Object key, CLASS_VALUE_TYPE defaultValue) {
int slot = findIndex(key);
return slot < 0 ? defaultValue : VALUE_TO_OBJ(values[slot]);
}
@Override
public ObjectSet<MAP.Entry KEY_VALUE_GENERIC_TYPE> ENTRY_SET() {
if(entrySet == null) entrySet = new MapEntrySet();
@@ -253,20 +253,21 @@ public class HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GENE
return VALUE_TO_OBJ(slot < 0 ? getDefaultReturnValue() : values[slot]);
}
#if !TYPE_OBJECT
#if TYPE_OBJECT && VALUE_OBJECT
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
int slot = findIndex(key);
return slot < 0 ? defaultValue : values[slot];
}
#else
@Override
public VALUE_TYPE getOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
int slot = findIndex(key);
return slot < 0 ? defaultValue : values[slot];
}
#endif
@Override
public CLASS_VALUE_TYPE getOrDefault(Object key, CLASS_VALUE_TYPE defaultValue) {
int slot = findIndex(key);
return slot < 0 ? defaultValue : VALUE_TO_OBJ(values[slot]);
}
#endif
@Override
public ObjectSet<MAP.Entry KEY_VALUE_GENERIC_TYPE> ENTRY_SET() {
if(entrySet == null) entrySet = new MapEntrySet();
@@ -153,7 +153,14 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
return index < 0 ? getDefaultReturnValue() : values[index];
}
#if !TYPE_OBJECT
#if TYPE_OBJECT
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
int index = findIndex(key);
return index < 0 ? defaultValue : values[index];
}
#else
@Override
public VALUE_TYPE getOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
int index = findIndex(key);
@@ -161,12 +168,6 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
}
#endif
@Override
public CLASS_VALUE_TYPE getOrDefault(Object key, CLASS_VALUE_TYPE defaultValue) {
int index = findIndex(key);
return index < 0 ? defaultValue : VALUE_TO_OBJ(values[index]);
}
@Override
public VALUE_TYPE getAndMoveToFirst(KEY_TYPE key) {
int index = findIndex(key);
@@ -564,7 +565,14 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
return index < 0 ? getDefaultReturnValue() : values[index];
}
#if !TYPE_OBJECT
#if TYPE_OBJECT && VALUE_OBJECT
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
int index = findIndex(key);
return index < 0 ? defaultValue : values[index];
}
#else
@Override
public VALUE_TYPE getOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
int index = findIndex(key);
@@ -572,18 +580,6 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN
}
#endif
@Override
public CLASS_VALUE_TYPE get(Object key) {
int index = findIndex(key);
return VALUE_TO_OBJ(index < 0 ? getDefaultReturnValue() : values[index]);
}
@Override
public CLASS_VALUE_TYPE getOrDefault(Object key, CLASS_VALUE_TYPE defaultValue) {
int index = findIndex(key);
return index < 0 ? defaultValue : VALUE_TO_OBJ(values[index]);
}
@Override
public VALUE_TYPE getAndMoveToFirst(KEY_TYPE key) {
int index = findIndex(key);
@@ -16,7 +16,7 @@ import speiger.src.collections.objects.maps.abstracts.ABSTRACT_MAP;
import speiger.src.collections.objects.maps.interfaces.MAP;
import speiger.src.collections.objects.sets.AbstractObjectSet;
import speiger.src.collections.objects.sets.ObjectSet;
import sun.misc.SharedSecrets;
//import sun.misc.SharedSecrets;
public class ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE
{
@@ -182,7 +182,10 @@ public class ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE
onNodeRemoved(index);
}
protected boolean isSet(int index) { return (present[index >> 6] & (1L << index)) != 0; }
private static <K extends Enum<K>> K[] getKeyUniverse(Class<K> keyType) { return SharedSecrets.getJavaLangAccess().getEnumConstantsShared(keyType); }
private static <K extends Enum<K>> K[] getKeyUniverse(Class<K> keyType) {
return keyType.getEnumConstants();
// return SharedSecrets.getJavaLangAccess().getEnumConstantsShared(keyType);
}
class EntrySet extends AbstractObjectSet<MAP.Entry KEY_VALUE_GENERIC_TYPE> {
@@ -213,7 +213,7 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_
return node == null ? getDefaultReturnValue() : node.value;
}
#if TYPE_OBJECT
#if TYPE_OBJECT && VALUE_OBJECT
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
Entry KEY_VALUE_GENERIC_TYPE node = findNode((CLASS_TYPE)key);
@@ -918,6 +918,19 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_
return inRange(key) ? m.GET_VALUE(key) : getDefaultReturnValue();
}
#if TYPE_OBJECT && VALUE_OBJECT
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
return inRange((KEY_TYPE)key) ? m.getOrDefault(key, defaultValue) : getDefaultReturnValue();
}
#else
@Override
public VALUE_TYPE getOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
return inRange(key) ? m.getOrDefault(key, defaultValue) : getDefaultReturnValue();
}
#endif
@Override
public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
return inRange(key) ? m.remove(key) : getDefaultReturnValue();
@@ -212,7 +212,7 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G
return node == null ? getDefaultReturnValue() : node.value;
}
#if TYPE_OBJECT
#if TYPE_OBJECT && VALUE_OBJECT
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
Entry KEY_VALUE_GENERIC_TYPE node = findNode((CLASS_TYPE)key);
@@ -975,6 +975,19 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G
return inRange(key) ? m.GET_VALUE(key) : getDefaultReturnValue();
}
#if TYPE_OBJECT && VALUE_OBJECT
@Override
public VALUE_TYPE getOrDefault(Object key, VALUE_TYPE defaultValue) {
return inRange((KEY_TYPE)key) ? m.getOrDefault(key, defaultValue) : getDefaultReturnValue();
}
#else
@Override
public VALUE_TYPE getOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) {
return inRange(key) ? m.getOrDefault(key, defaultValue) : getDefaultReturnValue();
}
#endif
@Override
public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) {
return inRange(key) ? m.remove(key) : getDefaultReturnValue();
@@ -679,6 +679,9 @@ public class AVL_TREE_SET KEY_GENERIC_TYPE extends ABSTRACT_SET KEY_GENERIC_TYPE
@Override
public COMPARATOR KEY_GENERIC_TYPE comparator() { return set.comparator(); }
@Override
public abstract BI_ITERATOR KEY_GENERIC_TYPE iterator();
@Override
public KEY_TYPE FIRST_KEY() {
Entry KEY_GENERIC_TYPE entry = findLowest();
@@ -9,6 +9,9 @@ import speiger.src.collections.PACKAGE.collections.ITERATOR;
public abstract class ABSTRACT_SET KEY_GENERIC_TYPE extends ABSTRACT_COLLECTION KEY_GENERIC_TYPE implements SET KEY_GENERIC_TYPE
{
@Override
public abstract ITERATOR KEY_GENERIC_TYPE iterator();
@Override
public int hashCode() {
int hashCode = 1;
@@ -221,7 +221,7 @@ public class ARRAY_SET KEY_GENERIC_TYPE extends ABSTRACT_SET KEY_GENERIC_TYPE im
Objects.requireNonNull(filter);
boolean modified = false;
int j = 0;
for(int i = 0;i<data.length;i++) {
for(int i = 0;i<size;i++) {
if(!filter.test(data[i])) data[j++] = data[i];
else modified = true;
}
@@ -739,6 +739,9 @@ public class RB_TREE_SET KEY_GENERIC_TYPE extends ABSTRACT_SET KEY_GENERIC_TYPE
@Override
public COMPARATOR KEY_GENERIC_TYPE comparator() { return set.comparator(); }
@Override
public abstract BI_ITERATOR KEY_GENERIC_TYPE iterator();
@Override
public KEY_TYPE FIRST_KEY() {
Entry KEY_GENERIC_TYPE entry = findLowest();