feat(annotations): add @CommandMethod annotation processing (#366)

We now verify the following at compile time:
- That `@CommandMethod` annotated methods are non-static (error)
- That `@CommandMethod` annotated methods are public (warning)
- That the `@CommandMethod` syntax and specified `@Argument`s match
- That no optional argument precedes a required argument
This commit is contained in:
Alexander Söderberg 2022-05-31 21:06:15 +02:00 committed by Jason
parent f1582fb64e
commit 74fd40f403
17 changed files with 500 additions and 14 deletions

View file

@ -0,0 +1,11 @@
import cloud.commandframework.annotations.Argument;
import cloud.commandframework.annotations.CommandMethod;
public class TestCommandMethodMissingArgument {
@CommandMethod("command <required> [optional]")
public void commandMethod(
@Argument("optional") final String optional
) {
}
}