コード例 #1
0
        private IExpressionStatementSyntax ParseUnsafeStatement()
        {
            var unsafeKeyword    = Tokens.Expect <IUnsafeKeywordToken>();
            var isBlock          = Tokens.Current is IOpenBraceToken;
            var expression       = isBlock ? ParseBlock() : ParseParenthesizedExpression();
            var span             = TextSpan.Covering(unsafeKeyword, expression.Span);
            var unsafeExpression = new UnsafeExpressionSyntax(span, expression);

            if (!isBlock)
            {
                var semicolon = Tokens.Expect <ISemicolonToken>();
                span = TextSpan.Covering(span, semicolon);
            }
            return(new ExpressionStatementSyntax(span, unsafeExpression));
        }
コード例 #2
0
 public virtual void VisitUnsafeExpression(UnsafeExpressionSyntax unsafeExpression, A args)
 {
     VisitExpression(unsafeExpression.Expression, args);
 }