...
This commit is contained in:
@@ -206,7 +206,7 @@ public sealed class Parser
|
||||
ExpectSymbol(Symbol.Colon);
|
||||
var fieldType = ParseType();
|
||||
|
||||
var fieldValue = Optional<ExpressionSyntax>.Empty();
|
||||
ExpressionSyntax? fieldValue = null;
|
||||
|
||||
if (TryExpectSymbol(Symbol.Assign))
|
||||
{
|
||||
@@ -267,13 +267,13 @@ public sealed class Parser
|
||||
{
|
||||
var name = ExpectIdentifier().Value;
|
||||
|
||||
var explicitType = Optional<TypeSyntax>.Empty();
|
||||
TypeSyntax? explicitType = null;
|
||||
if (TryExpectSymbol(Symbol.Colon))
|
||||
{
|
||||
explicitType = ParseType();
|
||||
}
|
||||
|
||||
var assignment = Optional<ExpressionSyntax>.Empty();
|
||||
ExpressionSyntax? assignment = null;
|
||||
if (TryExpectSymbol(Symbol.Assign))
|
||||
{
|
||||
assignment = ParseExpression();
|
||||
@@ -290,7 +290,7 @@ public sealed class Parser
|
||||
|
||||
private ReturnSyntax ParseReturn(int startIndex)
|
||||
{
|
||||
var value = Optional<ExpressionSyntax>.Empty();
|
||||
ExpressionSyntax? value = null;
|
||||
|
||||
if (!TryExpectSymbol(Symbol.Semi))
|
||||
{
|
||||
@@ -305,7 +305,7 @@ public sealed class Parser
|
||||
var condition = ParseExpression();
|
||||
var body = ParseBlock();
|
||||
|
||||
var elseStatement = Optional<Variant<IfSyntax, BlockSyntax>>.Empty();
|
||||
Variant<IfSyntax, BlockSyntax>? elseStatement = null;
|
||||
|
||||
var elseStartIndex = _tokenIndex;
|
||||
if (TryExpectSymbol(Symbol.Else))
|
||||
@@ -456,7 +456,7 @@ public sealed class Parser
|
||||
Symbol.Minus => new UnaryExpressionSyntax(GetTokens(startIndex), UnaryOperatorSyntax.Negate, ParsePrimaryExpression()),
|
||||
Symbol.Bang => new UnaryExpressionSyntax(GetTokens(startIndex), UnaryOperatorSyntax.Invert, ParsePrimaryExpression()),
|
||||
Symbol.OpenBracket => ParseArrayInitializer(startIndex),
|
||||
Symbol.OpenBrace => new StructInitializerSyntax(GetTokens(startIndex), Optional<TypeSyntax>.Empty(), ParseStructInitializerBody()),
|
||||
Symbol.OpenBrace => new StructInitializerSyntax(GetTokens(startIndex), null, ParseStructInitializerBody()),
|
||||
Symbol.Struct => ParseStructInitializer(startIndex),
|
||||
Symbol.At => ParseCompilerMacro(startIndex),
|
||||
_ => throw new ParseException(Diagnostic
|
||||
@@ -605,7 +605,7 @@ public sealed class Parser
|
||||
|
||||
private StructInitializerSyntax ParseStructInitializer(int startIndex)
|
||||
{
|
||||
var type = Optional.Empty<TypeSyntax>();
|
||||
TypeSyntax? type = null;
|
||||
if (!TryExpectSymbol(Symbol.OpenBrace))
|
||||
{
|
||||
type = ParseType();
|
||||
@@ -921,19 +921,6 @@ public sealed class Parser
|
||||
return literal;
|
||||
}
|
||||
|
||||
private bool TryExpectLiteral(LiteralKind kind, [NotNullWhen(true)] out LiteralToken? literal)
|
||||
{
|
||||
if (CurrentToken is LiteralToken identifierToken)
|
||||
{
|
||||
literal = identifierToken;
|
||||
Next();
|
||||
return true;
|
||||
}
|
||||
|
||||
literal = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
private void Next()
|
||||
{
|
||||
_tokenIndex++;
|
||||
|
||||
Reference in New Issue
Block a user