diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Exceptions/FieldSelectionMapSyntaxException.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Exceptions/FieldSelectionMapSyntaxException.cs
new file mode 100644
index 00000000000..0dbd9bbc22d
--- /dev/null
+++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Exceptions/FieldSelectionMapSyntaxException.cs
@@ -0,0 +1,29 @@
+namespace HotChocolate.Fusion;
+
+[Serializable]
+public sealed class FieldSelectionMapSyntaxException : Exception
+{
+ internal FieldSelectionMapSyntaxException(
+ FieldSelectionMapReader reader,
+ string message)
+ : base(message)
+ {
+ Position = reader.Position;
+ Line = reader.Line;
+ Column = reader.Column;
+ }
+
+ internal FieldSelectionMapSyntaxException(
+ FieldSelectionMapReader reader,
+ string message,
+ params object[] args)
+ : this(reader, string.Format(message, args))
+ {
+ }
+
+ public int Position { get; }
+
+ public int Line { get; }
+
+ public int Column { get; }
+}
diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Exceptions/SyntaxException.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Exceptions/SyntaxException.cs
deleted file mode 100644
index 2340303c2d4..00000000000
--- a/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Exceptions/SyntaxException.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-namespace HotChocolate.Fusion;
-
-[Serializable]
-public sealed class SyntaxException : Exception
-{
- internal SyntaxException(FieldSelectionMapReader reader, string message) : base(message)
- {
- Position = reader.Position;
- Line = reader.Line;
- Column = reader.Column;
- }
-
- internal SyntaxException(FieldSelectionMapReader reader, string message, params object[] args)
- : this(reader, string.Format(message, args))
- {
- }
-
- public int Position { get; }
-
- public int Line { get; }
-
- public int Column { get; }
-}
diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Parsers/FieldSelectionMapParser.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Parsers/FieldSelectionMapParser.cs
index 58690ff85c7..949453b9417 100644
--- a/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Parsers/FieldSelectionMapParser.cs
+++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Parsers/FieldSelectionMapParser.cs
@@ -109,7 +109,10 @@ private SelectedValueEntryNode ParseSelectedValueEntry()
break;
default:
- throw new SyntaxException(_reader, UnexpectedToken, _reader.TokenKind);
+ throw new FieldSelectionMapSyntaxException(
+ _reader,
+ UnexpectedToken,
+ _reader.TokenKind);
}
var location = CreateLocation(in start);
@@ -335,7 +338,7 @@ private TokenInfo Start()
{
if (++_parsedNodes > _options.MaxAllowedNodes)
{
- throw new SyntaxException(
+ throw new FieldSelectionMapSyntaxException(
_reader,
string.Format(MaxAllowedNodesExceeded, _options.MaxAllowedNodes));
}
@@ -353,7 +356,11 @@ private void Expect(TokenKind tokenKind)
{
if (!_reader.Skip(tokenKind))
{
- throw new SyntaxException(_reader, InvalidToken, tokenKind, _reader.TokenKind);
+ throw new FieldSelectionMapSyntaxException(
+ _reader,
+ InvalidToken,
+ tokenKind,
+ _reader.TokenKind);
}
}
@@ -368,7 +375,11 @@ private string ExpectName()
return name;
}
- throw new SyntaxException(_reader, InvalidToken, TokenKind.Name, _reader.TokenKind);
+ throw new FieldSelectionMapSyntaxException(
+ _reader,
+ InvalidToken,
+ TokenKind.Name,
+ _reader.TokenKind);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Readers/FieldSelectionMapReader.cs b/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Readers/FieldSelectionMapReader.cs
index d4ba53d9917..07994844c4c 100644
--- a/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Readers/FieldSelectionMapReader.cs
+++ b/src/HotChocolate/Fusion-vnext/src/Fusion.Language/Readers/FieldSelectionMapReader.cs
@@ -78,7 +78,7 @@ public FieldSelectionMapReader(
///
/// Returns a boolean indicating if the read was successful.
///
- ///
+ ///
/// The source text contains an invalid syntax token.
///
public bool Read()
@@ -100,7 +100,7 @@ public bool Read()
if (_tokenCount > _maxAllowedTokens)
{
- throw new SyntaxException(
+ throw new FieldSelectionMapSyntaxException(
this,
string.Format(MaxAllowedTokensExceeded, _maxAllowedTokens));
}
@@ -121,7 +121,7 @@ public bool Read()
return true;
}
- throw new SyntaxException(this, UnexpectedCharacter, code);
+ throw new FieldSelectionMapSyntaxException(this, UnexpectedCharacter, code);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/src/HotChocolate/Fusion-vnext/test/Fusion.Language.Tests/FieldSelectionMapParserTests.cs b/src/HotChocolate/Fusion-vnext/test/Fusion.Language.Tests/FieldSelectionMapParserTests.cs
index aab35646edc..8e24e6804ca 100644
--- a/src/HotChocolate/Fusion-vnext/test/Fusion.Language.Tests/FieldSelectionMapParserTests.cs
+++ b/src/HotChocolate/Fusion-vnext/test/Fusion.Language.Tests/FieldSelectionMapParserTests.cs
@@ -63,7 +63,7 @@ public void Parse_PathSegmentWithTypeNameNoNestedField_ThrowsSyntaxException()
// assert
Assert.Equal(
"Expected a `Period`-token, but found a `EndOfFile`-token.",
- Assert.Throws(Act).Message);
+ Assert.Throws(Act).Message);
}
[Fact]
@@ -101,7 +101,7 @@ public void Parse_PathWithTypeNameNoPathSegment_ThrowsSyntaxException()
// assert
Assert.Equal(
"Expected a `Period`-token, but found a `EndOfFile`-token.",
- Assert.Throws(Act).Message);
+ Assert.Throws(Act).Message);
}
[Fact]
@@ -143,7 +143,7 @@ public void Parse_SelectedListValueInvalidExamples_ThrowsSyntaxException(string
// assert
Assert.Equal(
"Expected a `RightSquareBracket`-token, but found a `Name`-token.",
- Assert.Throws(Act).Message);
+ Assert.Throws(Act).Message);
}
[Fact]
@@ -268,6 +268,6 @@ static void Act()
// assert
Assert.Equal(
"Source text contains more than 2 nodes. Parsing aborted.",
- Assert.Throws(Act).Message);
+ Assert.Throws(Act).Message);
}
}
diff --git a/src/HotChocolate/Fusion-vnext/test/Fusion.Language.Tests/FieldSelectionMapReaderTests.cs b/src/HotChocolate/Fusion-vnext/test/Fusion.Language.Tests/FieldSelectionMapReaderTests.cs
index 08a2840d1b5..5620d0fbf05 100644
--- a/src/HotChocolate/Fusion-vnext/test/Fusion.Language.Tests/FieldSelectionMapReaderTests.cs
+++ b/src/HotChocolate/Fusion-vnext/test/Fusion.Language.Tests/FieldSelectionMapReaderTests.cs
@@ -188,7 +188,7 @@ static void Act()
// assert
Assert.Equal(
"Source text contains more than 2 tokens. Parsing aborted.",
- Assert.Throws(Act).Message);
+ Assert.Throws(Act).Message);
}
[Fact]
@@ -205,6 +205,6 @@ static void Act()
// assert
Assert.Equal(
"Unexpected character `*`.",
- Assert.Throws(Act).Message);
+ Assert.Throws(Act).Message);
}
}