コード例 #1
0
        public Expr VisitExprSub(ExprSubExpr expr)
        {
            var newSub = expr.SubExpression.Accept(this).Accept(this._modifier);

            if (!ReferenceEquals(newSub, expr.SubExpression))
            {
                return(new ExprSubExpr(newSub));
            }
            return(expr);
        }
コード例 #2
0
ファイル: ExprOpener.cs プロジェクト: 0x1000000/Expressions
 public Expr VisitExprSub(ExprSubExpr expr)
 {
     if (expr.SubExpression is ExprNum exprNum)
     {
         return(exprNum);
     }
     if (expr.SubExpression is ExprSubExpr exprSub)
     {
         return(exprSub);
     }
     return(expr);
 }
コード例 #3
0
ファイル: ExprPrinter.cs プロジェクト: 0x1000000/Expressions
 public string VisitExprSub(ExprSubExpr expr)
 => $"({expr.SubExpression.Accept(this)})";
コード例 #4
0
 public int VisitExprSub(ExprSubExpr expr)
 => expr.SubExpression.Accept(this);