Example #1
0
 public static void InsertarAtributoClase(NodoAtributo nuevoAtributo, NodoClase claseActual)
 {
     if (!claseActual.TSA.ContainsKey(nuevoAtributo.Lexema))
     {
         claseActual.TSA.Add(nuevoAtributo.Lexema, nuevoAtributo);
     }
     else
     {
         ERRORES.Mensaje("Codigo: 602 Linea:" + nuevoAtributo.RenglonDec + " El atributo ya existe en el contexto actual");
     }
 }
Example #2
0
        public static void AtributoNoReferenciado()
        {
            NodoClase clase = new NodoClase();

            NodoAtributo atributo = new NodoAtributo();

            for (int contador = 0; contador < TSC.Count; contador++)
            {
                clase = TSC.Values.ElementAt(contador);
                for (int contAtributo = 0; contAtributo < clase.TSA.Count; contAtributo++)
                {
                    atributo = clase.TSA.Values.ElementAt(contAtributo);
                    if (atributo.Referencias.Count == 0)
                    {
                        ERRORES.Mensaje("Codigo: 602 Linea:" + atributo.RenglonDec + " El atributo nunca es utilizado.");
                    }
                }
            }
        }
Example #3
0
        public static NodoAtributo obtenerNodoAtributo(string lexema, NodoClase claseActual, int linea)
        {
            if (claseActual.TSA.ContainsKey(lexema))
            {
                NodoAtributo nodoBusqueda = new NodoAtributo();
                nodoBusqueda = claseActual.TSA.FirstOrDefault(x => x.Key == lexema).Value;
                if (nodoBusqueda.Valor.Count == 0)
                {
                    ERRORES.Mensaje("Codigo: 602 Linea:" + linea + " El atributo no ha sido inicializado.");
                    return(null);
                }
                else
                {
                    return(nodoBusqueda);
                }
            }
            else
            {
                ERRORES.Mensaje("Codigo: 602 Linea:" + linea + " El atributo no existe en el contexto actual.");

                return(null);
            }
        }