home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / SmallEiffel 0.3.3 / SmallEiffel 68k / lib_test / bug_nicolasWAQUIER.e < prev    next >
Encoding:
Internet Message Format  |  1996-06-13  |  2.1 KB  |  [TEXT/EDIT]

  1. From: nicolas@esclare.fdn.org (Nicolas Waquier)
  2. To: Dominique.Colnet@loria.fr
  3. Subject: Error compiling with SmallEiffel
  4. Date: Fri, 24 May 96 08:18:46 +0100
  5.  
  6. Hello Domi,
  7.  
  8. I have classes like that:
  9.  
  10. class A 
  11.  
  12. feature
  13.    handle: cursor;
  14.    
  15.  
  16.    feat1 ...
  17.    
  18.  
  19.    feat2 is
  20.       require
  21.          handle /= Void
  22.       do ...
  23.       end  
  24.  
  25. end
  26.  
  27. class B inherit A
  28.    export {B} handle
  29.    end
  30. end
  31.  
  32. class C inherit B
  33.    export {C} handle
  34.    redefine feat2
  35.    end
  36.    
  37.  
  38. feature
  39.    feat3 is
  40.       do
  41.          handle.read_attibute;
  42.       end
  43.  
  44. compiling class A and B is OK
  45. compiling class C I get
  46.  
  47. (A is LIST_CELL)
  48. (B is LIST_ELEMENT)
  49. (C is LIST_CURSOR)
  50.  
  51. Line 26 column 2 in LIST_CURSOR (list_cursor.e) :
  52.         LIST_ELEMENT [Element_T]
  53.         ^
  54.         -- lecture de la clause d'heritage (B<-C)
  55. Line 45 column 6 in LIST_CURSOR (list_cursor.e) :
  56.                         !!handle.make;
  57.                           ^
  58.               cet attibut n'est plus exporte a cette class
  59.               equivalent a feat3
  60. Line 334 column 2 in LIST_CELL (list_cell.e) :
  61.         handle: CURSOR_S [Element_T];
  62.         ^
  63. ------
  64. ****** Error : Bad target.
  65. Line 490 column 12 in LIST_CURSOR (list_cursor.e) :
  66.                                 Result.handle.setup (handle);
  67.                                        ^
  68.                        -- feat3
  69. ------
  70. ****** Fatal Error : Bad instruction (when interpreted in  
  71. LIST_CURSOR[INTEGER]).
  72. Line 490 column 12 in LIST_CURSOR (list_cursor.e) :
  73.                                 Result.handle.setup (handle);
  74.                                        ^
  75.                        
  76.  
  77. 'handle' est exporte a la class englobante uniquement (C) mais tous les  
  78. appels locaux sont autorise d'apres ETL.
  79. Si j'avais 'other: like Current' puis 'other.handle' alors la l'acces n'est  
  80. pas autorise.
  81. Tu vois le tableau ?
  82. Les messages d'erreur peuvent-ils donner une indication sur ce qui ne va  
  83. pas, je n'ai que la ligne au lieu de 'feature XX not exported to class ZZ'
  84.  
  85. Ca compile bien avec ISE ou Tower.
  86. Je n'aurais pas besoin de cet 'export' si je pouvais faire:
  87. feature (like Current) -- features visible by Current
  88.    feat4
  89.    feat5
  90. end
  91.  
  92. (se version 0.97 et 0.96)
  93. ---
  94. Nicolas__
  95. nicolas@esclare.fdn.org
  96.