Пример #1
0
 public override string VisitCastExpr(AstCastExpr cast, int data = 0)
 {
     if (cast.TypeExpr != null)
     {
         return($"cast({cast.TypeExpr.Accept(this, 0)}) ({cast.SubExpression.Accept(this, 0)})");
     }
     return($"cast {cast.SubExpression.Accept(this, 0)}");
 }
Пример #2
0
        public override NodeFinderResult VisitCastExpr(AstCastExpr cast, int i = 0)
        {
            if (GetRelativeLocation(cast.SubExpression.Location, i) == RelativeLocation.Same)
            {
                return(cast.SubExpression.Accept(this, i));
            }

            if (GetRelativeLocation(cast.TypeExpr.Location, i) == RelativeLocation.Same)
            {
                return(new NodeFinderResult(cast.Scope, type: cast.Type));
            }

            return(new NodeFinderResult(cast.Scope, expr: cast));
        }
Пример #3
0
 public virtual ReturnType VisitCastExpr(AstCastExpr expr, DataType data               = default) => default;