close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 14 years ago

Closed 14 years ago

#1182 closed defect (fixed)

Using pre-declared classes

Reported by: Pedro Gea Owned by: Víctor de Buen Remiro
Priority: highest Milestone: Mantainance
Component: OOP Version: head
Severity: blocker Keywords:
Cc:

Description

Parece ser que desde la versión b.0.52 (puede verse MMS#597) en adelante no es posible citar una clase antes de definirla (estando sólo predeclarada).

Class @Ejemplo;

@Ejemplo Funcion(Real valor) {
  @Ejemplo ejemplo = [[ Real _.valor = valor ]]
};

Class @Ejemplo {
  Real _.valor
};

// ERROR: [] Declaración errónea de función
// @Ejemplo Funcion(Real valor)
// <Funcion> no es un tipo de datos válido.

Change History (4)

comment:1 Changed 14 years ago by Víctor de Buen Remiro

Status: newaccepted

comment:2 Changed 14 years ago by Víctor de Buen Remiro

A mí me extrañaba mucho que no hubiera salido este error antes pero ya veo porqué: dentro de un NameBlock no pasa eso

NameBlock aux = [[
Class @Ejemplo;

@Ejemplo Funcion(Real valor) {
  @Ejemplo ejemplo = [[ Real _.valor = valor ]]
};

Class @Ejemplo {
  Real _.valor
}
]];

Eso me ha dado la pista de qué podría estar pasando y creo que ya lo tengo.

comment:3 Changed 14 years ago by Víctor de Buen Remiro

(In [3463]) Refs #1182

comment:4 Changed 14 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: acceptedclosed

(In [3464]) Fixed #1182

Note: See TracTickets for help on using tickets.