Delphi allows class definitions in the form of
type Ident = class [abstract | sealed] [(Classheritage)]
Classbody
end
The abstract part is not supported by the parser at all
and I think the support for the sealed token is
incorrect implemented since it requires the keyword
after the Classheritage whereas Delphi syntax wants it
before.
The problem is located in "Parse/BuildParseTree.pas" in
line 3541 (referring to CVS version 1.24) where I would
suppose something like this:
-------------------snap-------------------
Recognise(ttClass);
if fcTokenList.FirstSolidTokenType = ttAbstract then
begin
PushNode(nClassInstantiability);
Recognise(ttAbstract);
PushNode(nInstantiabilityAbstract);
PopNode;
PopNode;
end;
if fcTokenList.FirstSolidTokenType = ttSealed then
begin
PushNode(nClassInstantiability);
Recognise(ttSealed);
PushNode(nInstantiabilitySealed);
PopNode;
PopNode;
end;
if fcTokenList.FirstSolidTokenType = ttHelper then
-------------------snap-------------------
Maybe nInstantiabilityAbstract and
nInstantiabilityAbstract could be used to mark the
classes in the generated HTML abstract or sealed.
Best regards
Sebastian (sebastian.gmeiner@gmx.net)
Anonymous
Logged In: YES
user_id=248829
Bug reproduced.
Add support for SEALED and ABSTRACT keywords
Fixed in v0.13beta.8
thanks for your submission Sebastian.