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"); } }
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."); } } } }
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); } }