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

Last modified 14 years ago

#959 closed defect (fixed)

Error in methods returning instances from other modules

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

Description

Se encuentra un error inesperado al crear clases con métodos que devuelven instancias de clases pertenecientes a otro módulo.
Concretamente el error ocurre cuando existe más de un método que devuelve el mismo tipo de instancias.

El error indica que el método se está redeclarando, por lo que probablemente es un error en la identificación del método.

Ejemplo:

NameBlock ModuloA = [[
  Class @ClaseA {
    Real valueA
  }
]];

NameBlock ModuloB = [[
  Class @ClaseB {
    Real valueB;
    ModuloA::@ClaseA Fun1(Real void) {
      ModuloA::@ClaseA instA = [[ 
        Real valueA = valueB
      ]]
    };
    ModuloA::@ClaseA Fun2(Real void) {
      ModuloA::@ClaseA instA = [[ 
        Real valueA = valueB * 2
      ]]
    }
  }
]];

Error:

ERROR: [] El miembro ModuloA::@ClaseA Fun2(Real void){ModuloA::@ClaseA instA=SetOfAnything[[Real valueA=valueB*2]]} ya está definido por la declaración previa 
ModuloA::@ClaseA Fun1(Real void){ModuloA::@ClaseA instA=SetOfAnything[[Real valueA=valueB]]}
...

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

Milestone: OOP Implementation

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

Resolution: fixed
Status: acceptedclosed

(In [3243]) Fixes #843
Fixes #959

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

(In [3245]) Refs #959

Note: See TracTickets for help on using tickets.