Refactor how parameter annotations are parsed to prep for processors

this also will improve performance, as we will only do flag parsing and replacements
once on register instead of every execution for some things.
This commit is contained in:
Aikar
2018-03-15 22:36:52 -04:00
parent 7af1c96b08
commit 2d0995a3ac
13 changed files with 286 additions and 134 deletions
@@ -32,7 +32,7 @@ import java.util.Map;
public class SpongeCommandExecutionContext extends CommandExecutionContext<SpongeCommandExecutionContext, SpongeCommandIssuer> {
SpongeCommandExecutionContext(RegisteredCommand cmd, Parameter param, SpongeCommandIssuer sender, List<String> args,
SpongeCommandExecutionContext(RegisteredCommand cmd, CommandParameter param, SpongeCommandIssuer sender, List<String> args,
int index, Map<String, Object> passedArgs) {
super(cmd, param, sender, args, index, passedArgs);
}
@@ -34,7 +34,6 @@ import org.spongepowered.api.text.format.TextColor;
import org.spongepowered.api.text.format.TextColors;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -146,7 +145,7 @@ public class SpongeCommandManager extends CommandManager<
}
@Override
public SpongeCommandExecutionContext createCommandContext(RegisteredCommand command, Parameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) {
public SpongeCommandExecutionContext createCommandContext(RegisteredCommand command, CommandParameter parameter, CommandIssuer sender, List<String> args, int i, Map<String, Object> passedArgs) {
return new SpongeCommandExecutionContext(command, parameter, (SpongeCommandIssuer) sender, args, i, passedArgs);
}