Пример #1
0
 protected override void VisitTernaryExpression(TernaryExpressionSyntax pNode)
 {
     if (!CanCast(pNode.Condition.Type, SmallTypeCache.Boolean))
     {
         CompilerErrors.TypeCastError(pNode.Condition.Type, SmallTypeCache.Boolean, pNode.Condition.Span);
     }
     if (pNode.Left.Type != pNode.Right.Type)
     {
         CompilerErrors.TypeCastError(pNode.Left.Type, pNode.Right.Type, pNode.Span);
     }
     base.VisitTernaryExpression(pNode);
 }
Пример #2
0
 protected virtual void VisitTernaryExpression(TernaryExpressionSyntax pNode)
 {
     Visit(pNode.Condition);
     Visit(pNode.Left);
     Visit(pNode.Right);
 }
Пример #3
0
 protected override void VisitTernaryExpression(TernaryExpressionSyntax pNode)
 {
     base.VisitTernaryExpression(pNode);
     pNode.SetType(pNode.Left.Type);
 }
Пример #4
0
 protected virtual SyntaxNode VisitTernaryExpressionSyntax(TernaryExpressionSyntax pNode)
 {
     return(SyntaxFactory.TernaryExpression(Visit(pNode.Condition), Visit(pNode.Left), Visit(pNode.Right)));
 }