/* |------------------------------------------------------------------------------------------------------------------- | FORMULARiO |------------------------------------------------------------------------------------------------------------------- | */ public elementoPolimorfo getPolimorfo() { elementoPolimorfo retorno = null; if (hayErrores()) { return(retorno); } nodoModelo tempNodo = getNodo("TIPO"); if (tempNodo != null) { _TIPO temp = (_TIPO)tempNodo; nodoModelo temp2 = getNodo("VAR_ARREGLO"); if (temp2 != null) { _VAR_ARREGLO tempVar = (_VAR_ARREGLO)temp2; token visibilidad = new token("publico"); token tipo = temp.getTipo(); token nombre = tempVar.getIdentificador(); int dimensiones = tempVar.getDimensiones(); retorno = new elementoPolimorfo(visibilidad, tablaSimbolos, tipo, nombre, new _LST_CUERPO("LST_CUERPO", tablaSimbolos), dimensiones); return(retorno); } } return(retorno); }
public int getDimensiones() { int retorno = 0; nodoModelo temp2 = getNodo("VAR_ARREGLO"); if (temp2 != null) { _VAR_ARREGLO tempVar = (_VAR_ARREGLO)temp2; retorno = tempVar.getDimensiones(); } return(retorno); }
public List <int> getDimensiones() { List <int> retorno = new List <int>(); nodoModelo temp2 = getNodo("VAR_ARREGLO"); if (temp2 != null) { _VAR_ARREGLO tempVar = (_VAR_ARREGLO)temp2; int el = tempVar.getDimensiones(); for (int i = 0; i < el; i++) { //lo lleno de menos uno para indicar que no se ha establecido el limite retorno.Add(-1); } } return(retorno); }
public override void cargarPolimorfismo(elementoPolimorfo elem) { if (hayErrores()) { return; } nodoModelo tempNodo = getNodo("TIPO"); if (tempNodo != null) { _TIPO temp = (_TIPO)tempNodo; nodoModelo temp2 = getNodo("VAR_ARREGLO"); if (temp2 != null) { _VAR_ARREGLO tempVar = (_VAR_ARREGLO)temp2; elem.insertarParametro(tempVar.getIdentificador(), temp.getTipo(), tempVar.getDimensiones()); } } }