public static ExpressionSyntax ParseExpression(string text) { SyntaxTree syntaxTree = SyntaxTree.Parse(text); CompilationUnitSyntax root = syntaxTree.Root; MemberSyntax member = Assert.Single(root.Members); GlobalStatementSyntax globalStatement = Assert.IsType <GlobalStatementSyntax>(member); return(Assert.IsType <ExpressionStatementSyntax>(globalStatement.Statement).Expression); }
private ImmutableArray <MemberSyntax> ParseMembers() { var members = ImmutableArray.CreateBuilder <MemberSyntax>(); while (Current.Kind != SyntaxKind.EndOfFileToken) { SyntaxToken startToken = Current; MemberSyntax member = ParseMember(); members.Add(member); if (Current == startToken) { NextToken(); } } return(members.ToImmutable()); }