Exemplo n.º 1
0
 void container9()
 {
     //OperationInfo.ToString
     //<snippet9>
     OperationInfo info       = new OperationInfo();
     String        infoString = info.ToString();
     //</snippet9>
 }
Exemplo n.º 2
0
        /// <summary>
        /// Anade soporte para u operador binario
        /// </summary>
        /// <param name="other">Tipo del otro operando</param>
        /// <param name="resultType">Tipo del resultado de la operacion</param>
        /// <param name="op">Operador en cuestion</param>
        /// <param name="generator">Generador de codigo para la operacion</param>
        /// <param name="predefinedOp">Indica si es una operacion predefinida en el lenguaje</param>
        public void AddBinaryOperation(TigerType other, TigerType resultType, Operators op, GenOperation generator,
                                       bool predefinedOp)
        {
//            if ((int)op >= 10)
//                throw new InvalidOperationException("Operator " + op + " can not be defined for the given types");

            var nfo = new OperationInfo
            {
                ResultType            = resultType,
                Op1                   = this,
                Op2                   = other,
                CurrentOperator       = op,
                GenOperation          = generator,
                IsPredefinedOperation = predefinedOp
            };
            string id = nfo.ToString();

            if (operatorTable.ContainsKey(id))
            {
                throw new InvalidOperationException("Operations can not be redefined");
            }
            operatorTable.Add(id, nfo);
        }
Exemplo n.º 3
0
 public override string ToString()
 {
     return(OperationInfo.ToString());
 }