Inference/src/TypeSystem/Operations/AssignmentOperation.cs
/// <summary>
/// It performs a an assigment operation with a TypeSpressi0n as left operand. These method never be
/// invonked, it is, it raises and error
/// </summary>
/// <param name="leftOperand">TypeExpression</param>
/// <returns> An error
/// </returns>
It performs a an assigment operation with a TypeSpressi0n as left operand. These method never be
invonked, it is, it raises and error
It performs a an assigment operation with a TypeSpressi0n as left operand . These method never be invonked it is it raises and error
public override object Exec(UnionType leftOperand, object arg) {
            if (this.unification == SortOfUnification.Incremental) {
                leftOperand.TypeSet.Add(rightOperand);
                return leftOperand;
            }
            foreach (TypeExpression type in leftOperand.TypeSet)
                if ((int)rightOperand.AcceptOperation(new PromotionLevelOperation(type), arg) == -1)
                    return ReportError(leftOperand);
            return leftOperand;
        }
public override object Exec ( UnionType leftOperand , object arg ) { if ( this . unification == SortOfUnification . Incremental ) { leftOperand . TypeSet . Add ( rightOperand ) ; return leftOperand ; } foreach ( TypeExpression type in leftOperand . TypeSet ) if ( ( int ) rightOperand . AcceptOperation ( new PromotionLevelOperation ( type ) , arg ) == - 1 ) return ReportError ( leftOperand ) ; return leftOperand ; }
It performs a an assigment operation with a TypeSpressi0n as left operand.
It performs a an assigment operation with a TypeSpressi0n as left operand .
// * If the unification is incremental, we must add it to the union typeset
None
leftOperand
UnionType
None
arg
object