예제 #1
0
        private INotificationManager VisitUnaryExpectedType(Unary node, Types.Type expectedType)
        {
            INotificationManager notificationManager = node.GetChildExpression().Accept(this);

            Types.Type childType = node.GetChildExpression().Accept(new ExpressionTypeCollector(idToType));

            if (childType.IsEqual(expectedType))
            {
                notificationManager.AddNotification(new IncompatibleUnaryOperator(node, childType));
            }

            return(notificationManager);
        }
        private Types.Type VisitUnaryExpectedType(Unary node, Types.Type expectedType)
        {
            Types.Type childType = node.GetChildExpression().Accept(this);

            if (childType.IsEqual(expectedType))
            {
                return(new Types.UndefinedType());
            }

            return(expectedType);
        }
 private Types.Type VisitUnary(Unary node)
 {
     return(node.GetChildExpression().Accept(this));
 }
 private IEnumerable <Id> VisitUnary(Unary node)
 {
     return(node.GetChildExpression().Accept(this));
 }
예제 #5
0
 private INotificationManager VisitUnary(Unary node)
 {
     return(node.GetChildExpression().Accept(this));
 }