Added experimental package

This commit is contained in:
Anuken
2020-04-16 16:31:43 -04:00
parent 2f3a842f2e
commit 280f3dd428
22 changed files with 3111 additions and 2636 deletions

View File

@@ -26,6 +26,12 @@ public class Annotations{
public @interface Replace{
}
/** Indicates that a method should be final in all implementing classes. */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.SOURCE)
public @interface Final{
}
/** Indicates that a component field is imported from other components. */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.SOURCE)

View File

@@ -308,7 +308,7 @@ public class EntityProcess extends BaseProcessor{
//build method using same params/returns
MethodSpec.Builder mbuilder = MethodSpec.methodBuilder(first.name()).addModifiers(first.is(Modifier.PRIVATE) ? Modifier.PRIVATE : Modifier.PUBLIC);
if(isFinal) mbuilder.addModifiers(Modifier.FINAL);
if(isFinal || entry.value.contains(s -> s.has(Final.class))) mbuilder.addModifiers(Modifier.FINAL);
if(first.is(Modifier.STATIC)) mbuilder.addModifiers(Modifier.STATIC);
mbuilder.addTypeVariables(first.typeVariables().map(TypeVariableName::get));
mbuilder.returns(first.retn());