JPP: Fixed bone terminator self type and finalized some methods

This commit is contained in:
Willem Cazander 2025-10-23 20:02:00 +02:00
parent 90dcccb973
commit 71b6073482

View file

@ -208,7 +208,7 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
return BAKED_IN_PIES;
}
static abstract private class BoneTerminatorBaseX<T extends Terminator𓄯<T>> implements Terminator𓄯<T>,BãßᛗᚢᛗᛗᛉBoneBabe𓄯<T> {
static abstract private class BoneTerminatorBaseX<T extends BoneTerminatorBaseX<T>> implements Terminator𓄯<T>,BãßᛗᚢᛗᛗᛉBoneBabe𓄯<T> {
//protected final int slices;
protected final int slice;
private final Function<Integer, T> creator;
@ -227,28 +227,52 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
}
}
@Override
public BãßBȍőnCoffinԲ thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ() {
final public BãßBȍőnCoffinԲ thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ() {
return ghostsInAShell;
}
@Override
public int zerdinal() {
final public int zerdinal() {
return slice;
}
@Override
public int zerdinalSpaceBoundary() {
final public int zerdinalSpaceBoundary() {
return terminator注.slices();
}
@Override
public T zerdinalMaterializeSpace(int zerdinal) {
final public T zerdinalMaterializeSpace(int zerdinal) {
if (slice == zerdinal) {
return thisᵀᴮᵒⁿᵉ(); // keep JVM identity equals to itself
}
return creator.apply(zerdinal);
}
@Override
public String abacusRȧñkName() {
final public String abacusRȧñkName() {
return slice + "_" + terminator注.slices();
}
@Override
final public int hashCode() {
//return Objects.hash(slice, terminator注.slices());
return Objects.hash(getClass().hashCode(), slice, terminator注.slices());
}
@Override
final public boolean equals(Object obj) {
if (obj == null) {
return false;
}
return hashCode() == obj.hashCode();
// if (this == obj) {
// return true;
// }
// if (obj == null) {
// return false;
// }
// if (getClass() != obj.getClass()) {
// return false;
// }
// BoneTerminatorBaseX other = (BoneTerminatorBaseX) obj;
// return slice == other.slice && terminator注.slices() == other.terminator注.slices();
}
}
private interface PrimordialZerdinalMutexBaseX {
}