public override object VisitExpressionStatement(ExpressionStatement expressionStatement, object data)
 {
     object exp = expressionStatement.Expression.AcceptVisitor(this, data);
     if (exp is CodeExpression) {
         AddStmt(new CodeExpressionStatement((CodeExpression)exp));
     }
     return exp;
 }
 public virtual object TrackedVisitExpressionStatement(ExpressionStatement expressionStatement, object data)
 {
     return base.VisitExpressionStatement(expressionStatement, data);
 }
 public override sealed object VisitExpressionStatement(ExpressionStatement expressionStatement, object data)
 {
     this.BeginVisit(expressionStatement);
     object result = this.TrackedVisitExpressionStatement(expressionStatement, data);
     this.EndVisit(expressionStatement);
     return result;
 }
Пример #4
0
 public virtual object VisitExpressionStatement(ExpressionStatement expressionStatement, object data)
 {
     Debug.Assert((expressionStatement != null));
     Debug.Assert((expressionStatement.Expression != null));
     return expressionStatement.Expression.AcceptVisitor(this, data);
 }
 public virtual object VisitExpressionStatement(ExpressionStatement expressionStatement, object data)
 {
     throw new global::System.NotImplementedException("ExpressionStatement");
 }
Пример #6
0
 void InvocationStatement(out Statement statement)
 {
     Expression expr = null;
     Expect(73);
     SimpleExpr(out expr);
     statement = new ExpressionStatement(expr);
 }
Пример #7
0
        void ExpressionStatement(out Statement statement)
        {
            Expression expr = null;
            Expression val = null;
            AssignmentOperatorType op;
            Location startLoc = la.Location;

            bool mustBeAssignment = la.kind == Tokens.Plus  || la.kind == Tokens.Minus ||
                                    la.kind == Tokens.Not   || la.kind == Tokens.Times;

            SimpleExpr(out expr);
            if (StartOf(46)) {
            AssignmentOperator(out op);
            Expr(out val);
            expr = new AssignmentExpression(expr, op, val);
                expr.StartLocation = startLoc;
                expr.EndLocation = t.EndLocation;

            } else if (la.kind == 1 || la.kind == 21 || la.kind == 111) {
            if (mustBeAssignment) Error("error in assignment.");
            } else SynErr(312);
            if(expr is MemberReferenceExpression || expr is IdentifierExpression) {
                Location endLocation = expr.EndLocation;
                expr = new InvocationExpression(expr);
                expr.StartLocation = startLoc;
                expr.EndLocation = endLocation;
            }
            statement = new ExpressionStatement(expr);
        }
 public virtual object VisitExpressionStatement(ExpressionStatement expressionStatement, object data)
 {
     Debug.Assert((expressionStatement != null));
     Debug.Assert((expressionStatement.Expression != null));
     nodeStack.Push(expressionStatement.Expression);
     expressionStatement.Expression.AcceptVisitor(this, data);
     expressionStatement.Expression = ((Expression)(nodeStack.Pop()));
     return null;
 }