This commit is contained in:
Anuken
2020-02-05 20:11:49 -05:00
parent f6b1420103
commit dfecfa3964
14 changed files with 103 additions and 79 deletions

View File

@@ -335,6 +335,24 @@ public class EntityProcess extends BaseProcessor{
idBuilder.addStaticBlock(idStore.build());
//create mock types of all components
for(Stype component : allComponents){
Array<Stype> dependencies = getDependencies(component);
Array<Stype> out = new Array<>();
out.add(component);
out.addAll(component.superclasses());
dependencies.each(dep -> {
out.add(dep);
out.addAll(dep.superclasses());
});
out.distinct();
Log.info("Dependencies of {0}:\n{1}\n\n", component, out.toString("\n", s -> "&lb> " + s));
}
write(idBuilder);
}else{
//round 2: generate actual classes and implement interfaces

View File

@@ -54,11 +54,11 @@ public class Selement<T extends Element>{
@Override
public int hashCode(){
return e.hashCode();
return toString().hashCode();
}
@Override
public boolean equals(Object o){
return o != null && o.getClass() == getClass() && ((Selement)o).e.equals(e);
return o != null && toString().equals(o.toString());
}
}

View File

@@ -25,13 +25,7 @@ public class Stype extends Selement<TypeElement>{
}
public Array<Stype> superclasses(){
Array<Stype> out = new Array<>();
Stype sup = superclass();
while(!sup.name().equals("Object")){
out.add(sup);
sup = sup.superclass();
}
return out;
return Array.with(BaseProcessor.typeu.directSupertypes(mirror())).map(Stype::of);
}
public Stype superclass(){