1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
<!-- Title = not yet implemented -->
<TABLE BORDER=0 CELLSPACING=5 CELLPADDING=5 COLS=1 WIDTH="100%" BGCOLOR="#3366FF" NOSAVE >
<TR NOSAVE>
<TD NOSAVE>
<CENTER><FONT COLOR="#FFFFFF" SIZE=+3><B>List of known bugs and
unimplemented features</B></FONT></CENTER>
</TD>
</TR>
</TABLE>
<BR>
<BR>
<UL>
<LI>
When you <B>repeatedly inherit</B> from a class that contains a routine that assigns
to an attribute, and specify for the routine and attribute to be replicated
twice, the routine fails to follow the replicated feature. That is, you
have two routines assigning to the one attribute, instead of having two
routines assigning to different attributes. This contravenes the discussion
in ETL p. 174-177. The following code illustrates the issue (it fails at
run-time).</LI>
<PRE>class BOARD
feature
set_max_board_members (b: INTEGER) is
do
max := b;
end
max: INTEGER
end</PRE>
<PRE>class BOARD2
inherit
BOARD
rename
set_max_board_members as set_min_board_members,
max as min
end
BOARD
select set_max_board_members
end
end</PRE>
<PRE>class BOARD_ORGANISER
creation make
feature
make is
do
!!board2;
board2.set_max_board_members (3)
board2.set_min_board_members (1)
check
board2.max = 3
end
end;
board2: BOARD2;
end</PRE>
This bug is not easy to fix at all and also seems to be present in all
commercial Eiffel compilers (if your commercial compiler can correctly
execute this code, please drop us a note to advise us otherwise).
<BR>
<BR><BR>
</LI>
<LI>
Some features of <B>class BIT</B> are not yet implemented when using long BIT
sequences (i.e. more than 32 bits). All unimplemented features are reported
at compile-time (please do not report these, except where you cannot work
around them).
<BR><BR>
</LI>
<LI>
<B>Command line arguments</B> cannot be given as argument of the root procedure
(not yet implemented).
For the time being, you can use features <TT>argument_count</TT> and
<TT>argument</TT> of class GENERAL.
<BR><BR>
</LI>
<LI>
Features <TT><B>deep_clone</B></TT> and <TT><B>deep_equal</B></TT>
of class GENERAL are not yet implemented for <TT>compile_to_jvm</TT>.
<BR><BR>
</LI>
<LI>
<TT><B>compile_to_jvm</B></TT> is broken.
<BR><BR>
</LI>
<LI>
<TT>compile_to_jvm</TT> doesn't allow you to make <B>applets</B>.
<BR><BR>
</LI>
<LI>
<B>inline agents</B> is not implemented yet.
<BR><BR>
</LI>
<LI>
<TT><B>dispose</B></TT> is not implemented yet for <I>expanded</I> objects.
</LI>
</UL>
<CENTER><IMG SRC="../man/se-line.gif" ALT="[Line]" ></CENTER>
<CENTER><I><FONT SIZE=-1>Copyright © Dominique COLNET and Suzanne
COLLIN - <A HREF="mailto:SmartEiffel@loria.fr"><SmartEiffel@loria.fr></A><BR>
<!-- hhmts start -->
Last modified: Tue Feb 11 12:23:05 CET 2003
<!-- hhmts end -->
<BR>
</FONT></I></CENTER>
|