private BoundExpression BindNameExpression(NameExpressionSyntax syntax) { var name = syntax.IdentifierToken.Text; if (syntax.IdentifierToken.IsMissing) { // This means the token was inserted by the parser. We already // reported error so we can just return an error expression. return(new BoundErrorExpression()); } if (!_scope.TryLookupVariable(name, out var variable)) { _diagnostics.ReportUndefinedName(syntax.IdentifierToken.Span, name); return(new BoundErrorExpression()); } return(new BoundVariableExpression(variable)); }