IfStatementSyntax GenerateIfNameEqualsStatement() { return(SF.IfStatement( condition: SF.InvocationExpression( expression: Basics.SimpleMemberAccess(Basics.TryParseBsonNameIdentifier, SF.IdentifierName("SequenceEqual")), argumentList: Basics.Arguments(Basics.GenerateReadOnlySpanNameIdentifier(ClassSymbol, MemberDecl))), statement: SF.Block(GenerateIfBsonTypeNull(), GenerateMainOperationBlock(), SF.ContinueStatement()) )); }
protected virtual IfStatementSyntax GenerateIfBsonTypeNull() { return(SF.IfStatement( condition: SF.BinaryExpression( SyntaxKind.EqualsExpression, Basics.TryParseBsonTypeIdentifier, SF.Token(SyntaxKind.EqualsEqualsToken), Basics.NumberLiteral(10) ), statement: SF.Block( SF.ExpressionStatement( SF.AssignmentExpression( kind: SyntaxKind.SimpleAssignmentExpression, left: Basics.SimpleMemberAccess(Basics.TryParseOutVariableIdentifier, Basics.IdentifierName(MemberDecl.DeclSymbol)), right: SF.LiteralExpression(SyntaxKind.DefaultLiteralExpression)) ), SF.ContinueStatement()) )); }
public override SyntaxList <StatementSyntax> VisitContinueStatement(VBSyntax.ContinueStatementSyntax node) { return(SingleStatement(SyntaxFactory.ContinueStatement())); }