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)}"); }
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)); }
public virtual ReturnType VisitCastExpr(AstCastExpr expr, DataType data = default) => default;