Esempio n. 1
0
        private List <NodoParametro> getNodosParametros(Ambito ambito)
        {
            List <NodoParametro> parametros = new List <NodoParametro>();

            foreach (Expresion e in this.parametros)
            {
                String tipo = e.getTipo(ambito);
                //PUEDE SER QUE NECESITE METER AQUI LO DE LOS ARREGLOS
                NodoParametro p = new NodoParametro("aux", tipo.ToLower(), false);
                parametros.Add(p);
            }
            return(parametros);
        }
Esempio n. 2
0
 public override bool Equals(object obj)
 {
     if (obj is NodoParametro)
     {
         NodoParametro aux = (NodoParametro)obj;
         if (this.tipo != aux.tipo && !aux.tipo.Equals("nulo"))
         {
             mensajeError = "El Tipo No Coincide en Parametro " + this.idparam + ", Se esperaba: " + this.tipo + " y se Encontro: " + aux.tipo; return(false);
         }
         if (this.soyVector != aux.soyVector)
         {
             if (this.soyVector)
             {
                 mensajeError = "Se esperaba un Parametro de Tipo Arreglor";
             }
             else
             {
                 mensajeError = "No se esperaba un Parametro de Tipo Arreglo";
             }
             ; return(false);
         }
         if (this.soyVector)
         {
             if (this.dimensiones.Count != aux.dimensiones.Count)
             {
                 mensajeError = "El Numero de Dimensiones del Parametro Arreglo no Concuerdan"; return(false);
             }
             for (int x = 0; x < aux.dimensiones.Count; x++)
             {
                 if (aux.dimensiones.ElementAt(x) != this.dimensiones.ElementAt(x))
                 {
                     mensajeError = "El Tamano de Dimensiones no Concuerda"; return(false);
                 }
             }
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }