From 4e8b15eaf40966dd2da2c0d70743ae1caaa81761 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 22 Oct 2023 22:51:22 +0100 Subject: Move parser errors into their own package --- .../parser/IntLiteralCannotHaveLeadingZeroesError.java | 10 ---------- src/main/java/org/shedlang/compiler/parser/Parser.java | 4 ++++ .../compiler/parser/PositionalArgAfterNamedArgError.java | 11 ----------- .../compiler/parser/PositionalParamAfterNamedParamError.java | 11 ----------- .../compiler/parser/UnrecognisedEscapeSequenceError.java | 10 ---------- .../parser/errors/IntLiteralCannotHaveLeadingZeroesError.java | 10 ++++++++++ .../parser/errors/PositionalArgAfterNamedArgError.java | 11 +++++++++++ .../parser/errors/PositionalParamAfterNamedParamError.java | 11 +++++++++++ .../parser/errors/UnrecognisedEscapeSequenceError.java | 10 ++++++++++ .../java/org/shedlang/compiler/parser/ParserCallTests.java | 1 + .../compiler/parser/ParserFunctionDefinitionTests.java | 1 + .../org/shedlang/compiler/parser/ParserFunctionTypeTests.java | 1 + .../org/shedlang/compiler/parser/ParserIntLiteralTests.java | 1 + .../shedlang/compiler/parser/ParserStringLiteralTests.java | 1 + 14 files changed, 51 insertions(+), 42 deletions(-) delete mode 100644 src/main/java/org/shedlang/compiler/parser/IntLiteralCannotHaveLeadingZeroesError.java delete mode 100644 src/main/java/org/shedlang/compiler/parser/PositionalArgAfterNamedArgError.java delete mode 100644 src/main/java/org/shedlang/compiler/parser/PositionalParamAfterNamedParamError.java delete mode 100644 src/main/java/org/shedlang/compiler/parser/UnrecognisedEscapeSequenceError.java create mode 100644 src/main/java/org/shedlang/compiler/parser/errors/IntLiteralCannotHaveLeadingZeroesError.java create mode 100644 src/main/java/org/shedlang/compiler/parser/errors/PositionalArgAfterNamedArgError.java create mode 100644 src/main/java/org/shedlang/compiler/parser/errors/PositionalParamAfterNamedParamError.java create mode 100644 src/main/java/org/shedlang/compiler/parser/errors/UnrecognisedEscapeSequenceError.java (limited to 'src') diff --git a/src/main/java/org/shedlang/compiler/parser/IntLiteralCannotHaveLeadingZeroesError.java b/src/main/java/org/shedlang/compiler/parser/IntLiteralCannotHaveLeadingZeroesError.java deleted file mode 100644 index 28421cad..00000000 --- a/src/main/java/org/shedlang/compiler/parser/IntLiteralCannotHaveLeadingZeroesError.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.shedlang.compiler.parser; - -import org.shedlang.compiler.errors.SourceError; -import org.shedlang.compiler.sources.Source; - -public class IntLiteralCannotHaveLeadingZeroesError extends SourceError { - public IntLiteralCannotHaveLeadingZeroesError(Source source) { - super("int literal cannot have leading zeroes", source); - } -} diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java index 9a108e9b..13b62323 100644 --- a/src/main/java/org/shedlang/compiler/parser/Parser.java +++ b/src/main/java/org/shedlang/compiler/parser/Parser.java @@ -1,6 +1,10 @@ package org.shedlang.compiler.parser; import org.shedlang.compiler.ast.untyped.*; +import org.shedlang.compiler.parser.errors.IntLiteralCannotHaveLeadingZeroesError; +import org.shedlang.compiler.parser.errors.PositionalArgAfterNamedArgError; +import org.shedlang.compiler.parser.errors.PositionalParamAfterNamedParamError; +import org.shedlang.compiler.parser.errors.UnrecognisedEscapeSequenceError; import org.shedlang.compiler.sources.Source; import org.shedlang.compiler.tokeniser.TokenIterator; import org.shedlang.compiler.tokeniser.UnexpectedTokenException; diff --git a/src/main/java/org/shedlang/compiler/parser/PositionalArgAfterNamedArgError.java b/src/main/java/org/shedlang/compiler/parser/PositionalArgAfterNamedArgError.java deleted file mode 100644 index 11a8d177..00000000 --- a/src/main/java/org/shedlang/compiler/parser/PositionalArgAfterNamedArgError.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.shedlang.compiler.parser; - -import org.shedlang.compiler.errors.SourceError; -import org.shedlang.compiler.sources.Source; - -public class PositionalArgAfterNamedArgError extends SourceError { - public PositionalArgAfterNamedArgError(Source source) { - super("Positional arg cannot follow named arg", source); - } -} - diff --git a/src/main/java/org/shedlang/compiler/parser/PositionalParamAfterNamedParamError.java b/src/main/java/org/shedlang/compiler/parser/PositionalParamAfterNamedParamError.java deleted file mode 100644 index e32865f6..00000000 --- a/src/main/java/org/shedlang/compiler/parser/PositionalParamAfterNamedParamError.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.shedlang.compiler.parser; - -import org.shedlang.compiler.errors.SourceError; -import org.shedlang.compiler.sources.Source; - -public class PositionalParamAfterNamedParamError extends SourceError { - public PositionalParamAfterNamedParamError(Source source) { - super("Positional param cannot follow named param", source); - } -} - diff --git a/src/main/java/org/shedlang/compiler/parser/UnrecognisedEscapeSequenceError.java b/src/main/java/org/shedlang/compiler/parser/UnrecognisedEscapeSequenceError.java deleted file mode 100644 index f85c77db..00000000 --- a/src/main/java/org/shedlang/compiler/parser/UnrecognisedEscapeSequenceError.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.shedlang.compiler.parser; - -import org.shedlang.compiler.errors.SourceError; -import org.shedlang.compiler.sources.Source; - -public class UnrecognisedEscapeSequenceError extends SourceError { - public UnrecognisedEscapeSequenceError(String escapeSequence, Source source) { - super("Unrecognised escape sequence: " + escapeSequence, source); - } -} diff --git a/src/main/java/org/shedlang/compiler/parser/errors/IntLiteralCannotHaveLeadingZeroesError.java b/src/main/java/org/shedlang/compiler/parser/errors/IntLiteralCannotHaveLeadingZeroesError.java new file mode 100644 index 00000000..97c9b416 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/parser/errors/IntLiteralCannotHaveLeadingZeroesError.java @@ -0,0 +1,10 @@ +package org.shedlang.compiler.parser.errors; + +import org.shedlang.compiler.errors.SourceError; +import org.shedlang.compiler.sources.Source; + +public class IntLiteralCannotHaveLeadingZeroesError extends SourceError { + public IntLiteralCannotHaveLeadingZeroesError(Source source) { + super("int literal cannot have leading zeroes", source); + } +} diff --git a/src/main/java/org/shedlang/compiler/parser/errors/PositionalArgAfterNamedArgError.java b/src/main/java/org/shedlang/compiler/parser/errors/PositionalArgAfterNamedArgError.java new file mode 100644 index 00000000..2aef5891 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/parser/errors/PositionalArgAfterNamedArgError.java @@ -0,0 +1,11 @@ +package org.shedlang.compiler.parser.errors; + +import org.shedlang.compiler.errors.SourceError; +import org.shedlang.compiler.sources.Source; + +public class PositionalArgAfterNamedArgError extends SourceError { + public PositionalArgAfterNamedArgError(Source source) { + super("Positional arg cannot follow named arg", source); + } +} + diff --git a/src/main/java/org/shedlang/compiler/parser/errors/PositionalParamAfterNamedParamError.java b/src/main/java/org/shedlang/compiler/parser/errors/PositionalParamAfterNamedParamError.java new file mode 100644 index 00000000..ec4b17c3 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/parser/errors/PositionalParamAfterNamedParamError.java @@ -0,0 +1,11 @@ +package org.shedlang.compiler.parser.errors; + +import org.shedlang.compiler.errors.SourceError; +import org.shedlang.compiler.sources.Source; + +public class PositionalParamAfterNamedParamError extends SourceError { + public PositionalParamAfterNamedParamError(Source source) { + super("Positional param cannot follow named param", source); + } +} + diff --git a/src/main/java/org/shedlang/compiler/parser/errors/UnrecognisedEscapeSequenceError.java b/src/main/java/org/shedlang/compiler/parser/errors/UnrecognisedEscapeSequenceError.java new file mode 100644 index 00000000..9d9213a8 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/parser/errors/UnrecognisedEscapeSequenceError.java @@ -0,0 +1,10 @@ +package org.shedlang.compiler.parser.errors; + +import org.shedlang.compiler.errors.SourceError; +import org.shedlang.compiler.sources.Source; + +public class UnrecognisedEscapeSequenceError extends SourceError { + public UnrecognisedEscapeSequenceError(String escapeSequence, Source source) { + super("Unrecognised escape sequence: " + escapeSequence, source); + } +} diff --git a/src/test/java/org/shedlang/compiler/parser/ParserCallTests.java b/src/test/java/org/shedlang/compiler/parser/ParserCallTests.java index 22018d44..2e05af17 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserCallTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserCallTests.java @@ -1,6 +1,7 @@ package org.shedlang.compiler.parser; import org.junit.jupiter.api.Test; +import org.shedlang.compiler.parser.errors.PositionalArgAfterNamedArgError; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.*; diff --git a/src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java b/src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java index 2fa07aa0..431ef6d0 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java @@ -1,6 +1,7 @@ package org.shedlang.compiler.parser; import org.junit.jupiter.api.Test; +import org.shedlang.compiler.parser.errors.PositionalParamAfterNamedParamError; import org.shedlang.compiler.tokeniser.UnexpectedTokenException; import org.shedlang.compiler.types.Visibility; diff --git a/src/test/java/org/shedlang/compiler/parser/ParserFunctionTypeTests.java b/src/test/java/org/shedlang/compiler/parser/ParserFunctionTypeTests.java index 467930a3..038baef4 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserFunctionTypeTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserFunctionTypeTests.java @@ -1,6 +1,7 @@ package org.shedlang.compiler.parser; import org.junit.jupiter.api.Test; +import org.shedlang.compiler.parser.errors.PositionalParamAfterNamedParamError; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.*; diff --git a/src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java b/src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java index e45a51c7..1587696c 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserIntLiteralTests.java @@ -1,6 +1,7 @@ package org.shedlang.compiler.parser; import org.junit.jupiter.api.Test; +import org.shedlang.compiler.parser.errors.IntLiteralCannotHaveLeadingZeroesError; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.isUntypedIntLiteralNode; diff --git a/src/test/java/org/shedlang/compiler/parser/ParserStringLiteralTests.java b/src/test/java/org/shedlang/compiler/parser/ParserStringLiteralTests.java index a9401cf9..9f84c935 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserStringLiteralTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserStringLiteralTests.java @@ -1,6 +1,7 @@ package org.shedlang.compiler.parser; import org.junit.jupiter.api.Test; +import org.shedlang.compiler.parser.errors.UnrecognisedEscapeSequenceError; import org.shedlang.compiler.sources.FileFragmentSource; import static org.junit.jupiter.api.Assertions.assertThrows; -- cgit v1.2.3