#1260 closed defect (fixed)
fallo al almacenar TimeSet
Reported by: | Jorge | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | highest | Milestone: | Mantainance |
Component: | Kernel | Version: | 2.0.1 |
Severity: | blocker | Keywords: | |
Cc: | pgea@… |
Description
Si ejecuto lo siguiente:
Serie b = SubSer(CalInd(C, Cuatrimestral), y2001, y2002); Real Ois.Store([[b]], "/tmp/kk.oza" );
se obtiene el siguiente mensaje:
<W> Warning: [4] OIS: Unbounded TimeSet Cuatrimestral = (set[[k]); depends on symbol not visible globally. Only cached data in [y2001m01d01,y2011m12d31] will be available when loaded back.</W>
No queda claro de donde sale la expresión TimeSet Cuatrimestral = (set[[k]);
ya que Cuatrimestral tiene otra definición.
Change History (5)
comment:1 Changed 14 years ago by
Status: | new → accepted |
---|
comment:2 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:3 Changed 14 years ago by
La StdLib se crea como un Set con Includes y luego se convierte a NameBlock, pasando primero por la función PlainNamedObjects que es la que mete esa expresión set[k]
.
Podría haber cambiado eso facilmente, pero lo cierto es que set[k]
es un referencia a un objeto ya creado, por lo que es absurdo que se le cambie su árbol de expresión. El árbol sintáctico se asigna a los objetos virtuales al final de la evaluación sintáctica, siempre y cuándo no tuvieran ya un árbol asignado, así que no tiene sentido que ocurra esto.
Me ha costado ver dónde estaba el error pero por fin lo he encontrado. Al cargar el OIS crea un TimeSet con la expresión que está correctamente almacenada, y se le asigna el árbol al objeto, pero luego para ponerle nombre se reasignaba internamente y es ese objeto el que salía al exterior sin árbol sintáctico, con lo cual la primera vez que se le referenciaba, o sea, en PlainNamedObjects, se le endosaba esa expresión absurda.
Ya está arreglado en la 2.0.2 y ahora lo mezclaré en la 2.0.1 pero luego hay que pasar los tests, así que llevará un rato tener las versiones publicadas.
Ya lo he reproducido. Si que tiene un aspecto muy raro.