Hi Colin,
I can see that in classes XM_XSLT_GROUP_NODE_ITERATOR and
XM_XSLT_SORTED_GROUP_NODE_ITERATOR you are using 'select'.
Apart from UC_STRING, these are the only two occurrences of
'select' in Gobo. Right from the start I tried to avoid using
'select' because it was not working correctly when compiled
with SmartEiffel. OK, we don't care about SmartEiffel anymore,
but now there is a push from ECMA to get rid of 'select'.
So I was wondering why you used 'select' in these classes.
Was it just because the features involved were attributes
and one cannot undefine an attribute (to have it merged with
the version from the other inheritance branch)? If this is
the reason, then there is a way to merge two attributes coming
from two different parents. You just have to redefine this
attribute in both inheritance branches:
class C
inherit
A
redefine
attr
end
B
redefine
attr
end
feature
attr: TYPE
-- ...
end
--
Eric Bezault
mailto:er...@go...
http://www.gobosoft.com
|