Renamed CommandException -> CommandSyntaxException
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
package com.mojang.brigadier;
|
||||
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface Command<S> {
|
||||
int SINGLE_SUCCESS = 1;
|
||||
|
||||
int run(CommandContext<S> context) throws CommandException;
|
||||
int run(CommandContext<S> context) throws CommandSyntaxException;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.google.common.collect.Sets;
|
||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
|
||||
import com.mojang.brigadier.tree.CommandNode;
|
||||
import com.mojang.brigadier.tree.LiteralCommandNode;
|
||||
@@ -27,6 +27,7 @@ public class CommandDispatcher<S> {
|
||||
public static final SimpleCommandExceptionType ERROR_UNKNOWN_COMMAND = new SimpleCommandExceptionType("command.unknown.command", "Unknown command");
|
||||
public static final SimpleCommandExceptionType ERROR_UNKNOWN_ARGUMENT = new SimpleCommandExceptionType("command.unknown.argument", "Incorrect argument for command");
|
||||
public static final SimpleCommandExceptionType ERROR_EXPECTED_ARGUMENT_SEPARATOR = new SimpleCommandExceptionType("command.expected.separator", "Expected whitespace to end one argument, but found trailing data");
|
||||
public static final SimpleCommandExceptionType ERROR_COMMAND_FAILED = new SimpleCommandExceptionType("command.failed", "Expected whitespace to end one argument, but found trailing data");
|
||||
|
||||
public static final String ARGUMENT_SEPARATOR = " ";
|
||||
public static final char ARGUMENT_SEPARATOR_CHAR = ' ';
|
||||
@@ -58,12 +59,12 @@ public class CommandDispatcher<S> {
|
||||
return build;
|
||||
}
|
||||
|
||||
public int execute(final String input, final S source) throws CommandException {
|
||||
public int execute(final String input, final S source) throws CommandSyntaxException {
|
||||
final ParseResults<S> parse = parse(input, source);
|
||||
return execute(parse);
|
||||
}
|
||||
|
||||
public int execute(final ParseResults<S> parse) throws CommandException {
|
||||
public int execute(final ParseResults<S> parse) throws CommandSyntaxException {
|
||||
if (parse.getReader().canRead()) {
|
||||
if (parse.getExceptions().size() == 1) {
|
||||
throw parse.getExceptions().values().iterator().next();
|
||||
@@ -102,15 +103,15 @@ public class CommandDispatcher<S> {
|
||||
return result;
|
||||
}
|
||||
|
||||
public ParseResults<S> parse(final String command, final S source) throws CommandException {
|
||||
public ParseResults<S> parse(final String command, final S source) throws CommandSyntaxException {
|
||||
final StringReader reader = new StringReader(command);
|
||||
final CommandContextBuilder<S> context = new CommandContextBuilder<>(this, source);
|
||||
return parseNodes(root, reader, context, context, null);
|
||||
}
|
||||
|
||||
private ParseResults<S> parseNodes(final CommandNode<S> node, final StringReader reader, final CommandContextBuilder<S> contextBuilder, CommandContextBuilder<S> rootContext, final CommandContextBuilder<S> parentContext) throws CommandException {
|
||||
private ParseResults<S> parseNodes(final CommandNode<S> node, final StringReader reader, final CommandContextBuilder<S> contextBuilder, CommandContextBuilder<S> rootContext, final CommandContextBuilder<S> parentContext) throws CommandSyntaxException {
|
||||
final S source = contextBuilder.getSource();
|
||||
final Map<CommandNode<S>, CommandException> errors = Maps.newHashMap();
|
||||
final Map<CommandNode<S>, CommandSyntaxException> errors = Maps.newHashMap();
|
||||
|
||||
for (final CommandNode<S> child : node.getChildren()) {
|
||||
if (!child.canUse(source)) {
|
||||
@@ -125,7 +126,7 @@ public class CommandDispatcher<S> {
|
||||
throw ERROR_EXPECTED_ARGUMENT_SEPARATOR.createWithContext(reader);
|
||||
}
|
||||
}
|
||||
} catch (final CommandException ex) {
|
||||
} catch (final CommandSyntaxException ex) {
|
||||
errors.put(child, ex);
|
||||
reader.setCursor(cursor);
|
||||
continue;
|
||||
@@ -275,7 +276,7 @@ public class CommandDispatcher<S> {
|
||||
reader.setCursor(cursor);
|
||||
child.listSuggestions(reader.getRemaining(), result, context);
|
||||
}
|
||||
} catch (final CommandException e) {
|
||||
} catch (final CommandSyntaxException e) {
|
||||
reader.setCursor(cursor);
|
||||
child.listSuggestions(reader.getRemaining(), result, context);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mojang.brigadier;
|
||||
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import com.mojang.brigadier.tree.CommandNode;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -9,10 +9,10 @@ import java.util.Map;
|
||||
|
||||
public class ParseResults<S> {
|
||||
private final CommandContextBuilder<S> context;
|
||||
private final Map<CommandNode<S>, CommandException> exceptions;
|
||||
private final Map<CommandNode<S>, CommandSyntaxException> exceptions;
|
||||
private final ImmutableStringReader reader;
|
||||
|
||||
public ParseResults(final CommandContextBuilder<S> context, final ImmutableStringReader reader, final Map<CommandNode<S>, CommandException> exceptions) {
|
||||
public ParseResults(final CommandContextBuilder<S> context, final ImmutableStringReader reader, final Map<CommandNode<S>, CommandSyntaxException> exceptions) {
|
||||
this.context = context;
|
||||
this.reader = reader;
|
||||
this.exceptions = exceptions;
|
||||
@@ -30,7 +30,7 @@ public class ParseResults<S> {
|
||||
return reader;
|
||||
}
|
||||
|
||||
public Map<CommandNode<S>, CommandException> getExceptions() {
|
||||
public Map<CommandNode<S>, CommandSyntaxException> getExceptions() {
|
||||
return exceptions;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.mojang.brigadier;
|
||||
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import com.mojang.brigadier.exceptions.ParameterizedCommandExceptionType;
|
||||
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
|
||||
|
||||
@@ -98,7 +98,7 @@ public class StringReader implements ImmutableStringReader {
|
||||
}
|
||||
}
|
||||
|
||||
public int readInt() throws CommandException {
|
||||
public int readInt() throws CommandSyntaxException {
|
||||
final int start = cursor;
|
||||
while (canRead() && isAllowedNumber(peek())) {
|
||||
skip();
|
||||
@@ -115,7 +115,7 @@ public class StringReader implements ImmutableStringReader {
|
||||
}
|
||||
}
|
||||
|
||||
public double readDouble() throws CommandException {
|
||||
public double readDouble() throws CommandSyntaxException {
|
||||
final int start = cursor;
|
||||
while (canRead() && isAllowedNumber(peek())) {
|
||||
skip();
|
||||
@@ -148,7 +148,7 @@ public class StringReader implements ImmutableStringReader {
|
||||
return string.substring(start, cursor);
|
||||
}
|
||||
|
||||
public String readQuotedString() throws CommandException {
|
||||
public String readQuotedString() throws CommandSyntaxException {
|
||||
if (!canRead()) {
|
||||
return "";
|
||||
} else if (peek() != SYNTAX_QUOTE) {
|
||||
@@ -179,7 +179,7 @@ public class StringReader implements ImmutableStringReader {
|
||||
throw ERROR_EXPECTED_END_OF_QUOTE.createWithContext(this);
|
||||
}
|
||||
|
||||
public String readString() throws CommandException {
|
||||
public String readString() throws CommandSyntaxException {
|
||||
if (canRead() && peek() == SYNTAX_QUOTE) {
|
||||
return readQuotedString();
|
||||
} else {
|
||||
@@ -187,7 +187,7 @@ public class StringReader implements ImmutableStringReader {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean readBoolean() throws CommandException {
|
||||
public boolean readBoolean() throws CommandSyntaxException {
|
||||
final int start = cursor;
|
||||
final String value = readString();
|
||||
if (value.isEmpty()) {
|
||||
@@ -204,7 +204,7 @@ public class StringReader implements ImmutableStringReader {
|
||||
}
|
||||
}
|
||||
|
||||
public void expect(final char c) throws CommandException {
|
||||
public void expect(final char c) throws CommandSyntaxException {
|
||||
if (!canRead() || peek() != c) {
|
||||
throw ERROR_EXPECTED_SYMBOL.createWithContext(this, String.valueOf(c));
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ package com.mojang.brigadier.arguments;
|
||||
|
||||
import com.mojang.brigadier.StringReader;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public interface ArgumentType<T> {
|
||||
<S> T parse(StringReader reader, CommandContextBuilder<S> contextBuilder) throws CommandException;
|
||||
<S> T parse(StringReader reader, CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException;
|
||||
|
||||
default <S> void listSuggestions(final String command, final Set<String> output, final CommandContextBuilder<S> contextBuilder) {
|
||||
}
|
||||
|
||||
@@ -3,8 +3,7 @@ package com.mojang.brigadier.arguments;
|
||||
import com.mojang.brigadier.StringReader;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
|
||||
public class BoolArgumentType implements ArgumentType<Boolean> {
|
||||
private BoolArgumentType() {
|
||||
@@ -19,7 +18,7 @@ public class BoolArgumentType implements ArgumentType<Boolean> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <S> Boolean parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandException {
|
||||
public <S> Boolean parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException {
|
||||
return reader.readBoolean();
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.mojang.brigadier.arguments;
|
||||
import com.mojang.brigadier.StringReader;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import com.mojang.brigadier.exceptions.ParameterizedCommandExceptionType;
|
||||
|
||||
import java.util.Objects;
|
||||
@@ -44,7 +44,7 @@ public class FloatArgumentType implements ArgumentType<Float> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <S> Float parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandException {
|
||||
public <S> Float parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException {
|
||||
final int start = reader.getCursor();
|
||||
final float result = (float) reader.readDouble();
|
||||
for (int i = 0; i < suffix.length(); i++) {
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.mojang.brigadier.arguments;
|
||||
import com.mojang.brigadier.StringReader;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import com.mojang.brigadier.exceptions.ParameterizedCommandExceptionType;
|
||||
|
||||
import java.util.Objects;
|
||||
@@ -44,7 +44,7 @@ public class IntegerArgumentType implements ArgumentType<Integer> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <S> Integer parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandException {
|
||||
public <S> Integer parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException {
|
||||
final int start = reader.getCursor();
|
||||
final int result = reader.readInt();
|
||||
for (int i = 0; i < suffix.length(); i++) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.mojang.brigadier.CommandDispatcher;
|
||||
import com.mojang.brigadier.StringReader;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
|
||||
public class StringArgumentType implements ArgumentType<String> {
|
||||
private final StringType type;
|
||||
@@ -30,7 +30,7 @@ public class StringArgumentType implements ArgumentType<String> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <S> String parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandException {
|
||||
public <S> String parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException {
|
||||
if (type == StringType.GREEDY_PHRASE) {
|
||||
final String text = reader.getRemaining();
|
||||
reader.setCursor(reader.getTotalLength());
|
||||
|
||||
+3
-3
@@ -2,7 +2,7 @@ package com.mojang.brigadier.exceptions;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class CommandException extends Exception {
|
||||
public class CommandSyntaxException extends Exception {
|
||||
public static final int CONTEXT_AMOUNT = 10;
|
||||
public static boolean ENABLE_COMMAND_STACK_TRACES = true;
|
||||
|
||||
@@ -11,7 +11,7 @@ public class CommandException extends Exception {
|
||||
private final String input;
|
||||
private final int cursor;
|
||||
|
||||
public CommandException(final CommandExceptionType type, final Map<String, String> data) {
|
||||
public CommandSyntaxException(final CommandExceptionType type, final Map<String, String> data) {
|
||||
super(type.getTypeName(), null, ENABLE_COMMAND_STACK_TRACES, ENABLE_COMMAND_STACK_TRACES);
|
||||
this.type = type;
|
||||
this.data = data;
|
||||
@@ -19,7 +19,7 @@ public class CommandException extends Exception {
|
||||
this.cursor = -1;
|
||||
}
|
||||
|
||||
public CommandException(final CommandExceptionType type, final Map<String, String> data, final String input, final int cursor) {
|
||||
public CommandSyntaxException(final CommandExceptionType type, final Map<String, String> data, final String input, final int cursor) {
|
||||
super(type.getTypeName(), null, ENABLE_COMMAND_STACK_TRACES, ENABLE_COMMAND_STACK_TRACES);
|
||||
this.type = type;
|
||||
this.data = data;
|
||||
+4
-5
@@ -3,7 +3,6 @@ package com.mojang.brigadier.exceptions;
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.mojang.brigadier.ImmutableStringReader;
|
||||
import com.mojang.brigadier.StringReader;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
@@ -39,12 +38,12 @@ public class ParameterizedCommandExceptionType implements CommandExceptionType {
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
public CommandException create(final Object... values) {
|
||||
return new CommandException(this, createMap(values));
|
||||
public CommandSyntaxException create(final Object... values) {
|
||||
return new CommandSyntaxException(this, createMap(values));
|
||||
}
|
||||
|
||||
public CommandException createWithContext(final ImmutableStringReader reader, final Object... values) {
|
||||
return new CommandException(this, createMap(values), reader.getString(), reader.getCursor());
|
||||
public CommandSyntaxException createWithContext(final ImmutableStringReader reader, final Object... values) {
|
||||
return new CommandSyntaxException(this, createMap(values), reader.getString(), reader.getCursor());
|
||||
}
|
||||
|
||||
public Map<String, String> createMap(final Object... values) {
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.mojang.brigadier.exceptions;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.mojang.brigadier.ImmutableStringReader;
|
||||
import com.mojang.brigadier.StringReader;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -25,12 +24,12 @@ public class SimpleCommandExceptionType implements CommandExceptionType {
|
||||
return message;
|
||||
}
|
||||
|
||||
public CommandException create() {
|
||||
return new CommandException(this, ImmutableMap.of());
|
||||
public CommandSyntaxException create() {
|
||||
return new CommandSyntaxException(this, ImmutableMap.of());
|
||||
}
|
||||
|
||||
public CommandException createWithContext(final ImmutableStringReader reader) {
|
||||
return new CommandException(this, ImmutableMap.of(), reader.getString(), reader.getCursor());
|
||||
public CommandSyntaxException createWithContext(final ImmutableStringReader reader) {
|
||||
return new CommandSyntaxException(this, ImmutableMap.of(), reader.getString(), reader.getCursor());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.mojang.brigadier.builder.RequiredArgumentBuilder;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.context.ParsedArgument;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
@@ -54,7 +54,7 @@ public class ArgumentCommandNode<S, T> extends CommandNode<S> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandException {
|
||||
public void parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException {
|
||||
final int start = reader.getCursor();
|
||||
final T result = type.parse(reader, contextBuilder);
|
||||
final ParsedArgument<S, T> parsed = new ParsedArgument<>(start, reader.getCursor(), result);
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.mojang.brigadier.StringReader;
|
||||
import com.mojang.brigadier.builder.ArgumentBuilder;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashMap;
|
||||
@@ -94,7 +94,7 @@ public abstract class CommandNode<S> implements Comparable<CommandNode<S>> {
|
||||
|
||||
public abstract String getUsageText();
|
||||
|
||||
public abstract void parse(StringReader reader, CommandContextBuilder<S> contextBuilder) throws CommandException;
|
||||
public abstract void parse(StringReader reader, CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException;
|
||||
|
||||
public abstract void listSuggestions(String command, Set<String> output, CommandContextBuilder<S> contextBuilder);
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.mojang.brigadier.StringReader;
|
||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import com.mojang.brigadier.exceptions.ParameterizedCommandExceptionType;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -33,7 +33,7 @@ public class LiteralCommandNode<S> extends CommandNode<S> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandException {
|
||||
public void parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException {
|
||||
final int start = reader.getCursor();
|
||||
for (int i = 0; i < literal.length(); i++) {
|
||||
if (reader.canRead() && reader.peek() == literal.charAt(i)) {
|
||||
|
||||
@@ -3,9 +3,8 @@ package com.mojang.brigadier.tree;
|
||||
import com.mojang.brigadier.StringReader;
|
||||
import com.mojang.brigadier.builder.ArgumentBuilder;
|
||||
import com.mojang.brigadier.context.CommandContextBuilder;
|
||||
import com.mojang.brigadier.exceptions.CommandException;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -25,7 +24,7 @@ public class RootCommandNode<S> extends CommandNode<S> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandException {
|
||||
public void parse(final StringReader reader, final CommandContextBuilder<S> contextBuilder) throws CommandSyntaxException {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user