public bool Castear(Tipo t, Entorno e, LinkedList <Salida> log, LinkedList <Error> errores) { foreach (CollectionValue value in Valores) { if (Tipo.IsMap()) { if (!Tipo.Clave.Equals(t.Clave)) { Casteo castClave = new Casteo(t.Clave, new Literal(Tipo.Clave, value.Clave, 0, 0), 0, 0) { Mostrar = false }; object valorCastClave = castClave.GetValor(e, log, errores); if (valorCastClave != null) { if (valorCastClave is Throw) { return(false); } value.Clave = valorCastClave; } else { return(false); } } } if (!Tipo.Valor.Equals(t.Valor)) { Casteo cast = new Casteo(t.Valor, new Literal(Tipo.Valor, value.Valor, 0, 0), 0, 0) { Mostrar = false }; object valorCast = cast.GetValor(e, log, errores); if (valorCast != null) { if (valorCast is Throw) { return(false); } value.Valor = valorCast; continue; } return(false); } } Tipo = t; return(true); }
public override string ToString() { string cad; if (Tipo.IsMap()) { cad = "["; foreach (CollectionValue value in Valores) { cad += value.Clave.ToString() + " : " + value.Valor.ToString(); if (!Valores.Last.Value.Equals(value)) { cad += ", "; } } cad += "]"; return(cad); } else if (Tipo.IsList()) { cad = "["; foreach (CollectionValue value in Valores) { cad += value.Valor.ToString(); if (!Valores.Last.Value.Equals(value)) { cad += ", "; } } cad += "]"; return(cad); } else if (Tipo.IsSet()) { cad = "{"; foreach (CollectionValue value in Valores) { cad += value.Valor.ToString(); if (!Valores.Last.Value.Equals(value)) { cad += ", "; } } cad += "}"; return(cad); } return(base.ToString()); }
public bool EqualsCollection(Tipo t) { if (IsMap() && t.IsMap()) { return(true); } else if (IsList() && t.IsList()) { return(true); } else if (IsSet() && t.IsSet()) { return(true); } return(false); }
public string ToString2() { string cad; if (Tipo.IsMap()) { cad = "<"; foreach (CollectionValue value in Valores) { cad += "\"" + value.Clave.ToString() + "\"= "; if (value.Valor is Objeto obj2) { cad += obj2.ToString2(); } else if (value.Valor is Collection coll) { cad += coll.ToString2(); } else if (value.Valor is Cadena cade) { cad += cade.ToString2(); } else if (value.Valor is Date dat) { cad += dat.ToString2(); } else if (value.Valor is Time tim) { cad += tim.ToString2(); } else { cad += value.Valor.ToString(); } if (!Valores.Last.Value.Equals(value)) { cad += ", "; } } cad += ">"; } else { //if (Tipo.IsList()) cad = "["; //else //cad = "{"; foreach (CollectionValue value in Valores) { if (value.Valor is Objeto obj2) { cad += obj2.ToString2(); } else if (value.Valor is Collection coll) { cad += coll.ToString2(); } else if (value.Valor is Cadena cade) { cad += cade.ToString2(); } else if (value.Valor is Date dat) { cad += dat.ToString2(); } else if (value.Valor is Time tim) { cad += tim.ToString2(); } else { cad += value.Valor.ToString(); } if (!Valores.Last.Value.Equals(value)) { cad += ", "; } } //if (Tipo.IsList()) cad += "]"; //else //cad += "}"; } return(cad); }