home *** CD-ROM | disk | FTP | other *** search
- From: nicolas@esclare.fdn.org (Nicolas Waquier)
- To: Dominique.Colnet@loria.fr
- Subject: Error compiling with SmallEiffel
- Date: Fri, 24 May 96 08:18:46 +0100
-
- Hello Domi,
-
- I have classes like that:
-
- class A
-
- feature
- handle: cursor;
-
-
- feat1 ...
-
-
- feat2 is
- require
- handle /= Void
- do ...
- end
-
- end
-
- class B inherit A
- export {B} handle
- end
- end
-
- class C inherit B
- export {C} handle
- redefine feat2
- end
-
-
- feature
- feat3 is
- do
- handle.read_attibute;
- end
-
- compiling class A and B is OK
- compiling class C I get
-
- (A is LIST_CELL)
- (B is LIST_ELEMENT)
- (C is LIST_CURSOR)
-
- Line 26 column 2 in LIST_CURSOR (list_cursor.e) :
- LIST_ELEMENT [Element_T]
- ^
- -- lecture de la clause d'heritage (B<-C)
- Line 45 column 6 in LIST_CURSOR (list_cursor.e) :
- !!handle.make;
- ^
- cet attibut n'est plus exporte a cette class
- equivalent a feat3
- Line 334 column 2 in LIST_CELL (list_cell.e) :
- handle: CURSOR_S [Element_T];
- ^
- ------
- ****** Error : Bad target.
- Line 490 column 12 in LIST_CURSOR (list_cursor.e) :
- Result.handle.setup (handle);
- ^
- -- feat3
- ------
- ****** Fatal Error : Bad instruction (when interpreted in
- LIST_CURSOR[INTEGER]).
- Line 490 column 12 in LIST_CURSOR (list_cursor.e) :
- Result.handle.setup (handle);
- ^
-
-
- 'handle' est exporte a la class englobante uniquement (C) mais tous les
- appels locaux sont autorise d'apres ETL.
- Si j'avais 'other: like Current' puis 'other.handle' alors la l'acces n'est
- pas autorise.
- Tu vois le tableau ?
- Les messages d'erreur peuvent-ils donner une indication sur ce qui ne va
- pas, je n'ai que la ligne au lieu de 'feature XX not exported to class ZZ'
-
- Ca compile bien avec ISE ou Tower.
- Je n'aurais pas besoin de cet 'export' si je pouvais faire:
- feature (like Current) -- features visible by Current
- feat4
- feat5
- end
-
- (se version 0.97 et 0.96)
- ---
- Nicolas__
- nicolas@esclare.fdn.org
-