mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-01-27 23:11:12 -08:00
Better annotation processor IC
This commit is contained in:
parent
02f3386c5b
commit
0e2a5cddfd
6 changed files with 16 additions and 7 deletions
|
|
@ -123,9 +123,15 @@ public abstract class BaseProcessor extends AbstractProcessor{
|
|||
}
|
||||
|
||||
public static void write(TypeSpec.Builder builder, Seq<String> imports) throws Exception{
|
||||
builder.superinterfaces.sort(Structs.comparing(t -> t.toString()));
|
||||
builder.methodSpecs.sort(Structs.comparing(m -> m.toString()));
|
||||
builder.fieldSpecs.sort(Structs.comparing(f -> f.name));
|
||||
|
||||
JavaFile file = JavaFile.builder(packageName, builder.build()).skipJavaLangImports(true).build();
|
||||
|
||||
if(imports != null){
|
||||
imports = imports.map(m -> Seq.with(m.split("\n")).sort().toString("\n"));
|
||||
imports.sort();
|
||||
String rawSource = file.toString();
|
||||
Seq<String> result = new Seq<>();
|
||||
for(String s : rawSource.split("\n", -1)){
|
||||
|
|
|
|||
|
|
@ -409,7 +409,7 @@ public class EntityProcess extends BaseProcessor{
|
|||
err("Type " + type + " has multiple components implementing non-void method " + entry.key + ".");
|
||||
}
|
||||
|
||||
entry.value.sort(Structs.comps(Structs.comparingFloat(m -> m.has(MethodPriority.class) ? m.annotation(MethodPriority.class).value() : 0), Structs.comparing(Selement::name)));
|
||||
entry.value.sort(Structs.comps(Structs.comparingFloat(m -> m.has(MethodPriority.class) ? m.annotation(MethodPriority.class).value() : 0), Structs.comparing(s -> s.up().getSimpleName().toString())));
|
||||
|
||||
//representative method
|
||||
Smethod first = entry.value.first();
|
||||
|
|
@ -545,6 +545,7 @@ public class EntityProcess extends BaseProcessor{
|
|||
builder.addSuperinterface(Poolable.class);
|
||||
//implement reset()
|
||||
MethodSpec.Builder resetBuilder = MethodSpec.methodBuilder("reset").addModifiers(Modifier.PUBLIC);
|
||||
allFieldSpecs.sortComparing(s -> s.name);
|
||||
for(FieldSpec spec : allFieldSpecs){
|
||||
@Nullable Svar variable = specVariables.get(spec);
|
||||
if(variable != null && variable.isAny(Modifier.STATIC, Modifier.FINAL)) continue;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue