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; 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 slices;
protected final int slice; protected final int slice;
private final Function<Integer, T> creator; private final Function<Integer, T> creator;
@ -227,28 +227,52 @@ public enum TTꞱꞱᖟGateway implements BãßᛗᚢᛗᛗᛉVū́ǘrChaliceEnu
} }
} }
@Override @Override
public BãßBȍőnCoffinԲ thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ() { final public BãßBȍőnCoffinԲ thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ() {
return ghostsInAShell; return ghostsInAShell;
} }
@Override @Override
public int zerdinal() { final public int zerdinal() {
return slice; return slice;
} }
@Override @Override
public int zerdinalSpaceBoundary() { final public int zerdinalSpaceBoundary() {
return terminator注.slices(); return terminator注.slices();
} }
@Override @Override
public T zerdinalMaterializeSpace(int zerdinal) { final public T zerdinalMaterializeSpace(int zerdinal) {
if (slice == zerdinal) { if (slice == zerdinal) {
return thisᵀᴮᵒⁿᵉ(); // keep JVM identity equals to itself return thisᵀᴮᵒⁿᵉ(); // keep JVM identity equals to itself
} }
return creator.apply(zerdinal); return creator.apply(zerdinal);
} }
@Override @Override
public String abacusRȧñkName() { final public String abacusRȧñkName() {
return slice + "_" + terminator注.slices(); 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 { private interface PrimordialZerdinalMutexBaseX {
} }