|
@@ -467,12 +467,19 @@ implementation
|
|
Message(parser_e_no_generics_as_types);
|
|
Message(parser_e_no_generics_as_types);
|
|
def:=generrordef;
|
|
def:=generrordef;
|
|
end
|
|
end
|
|
- else if (def.typ=undefineddef) and (sp_generic_dummy in srsym.symoptions)
|
|
|
|
- and parse_generic and
|
|
|
|
|
|
+ else if (def.typ=undefineddef) and
|
|
|
|
+ (sp_generic_dummy in srsym.symoptions) and
|
|
|
|
+ parse_generic and
|
|
(current_genericdef.typ in [recorddef,objectdef]) and
|
|
(current_genericdef.typ in [recorddef,objectdef]) and
|
|
(Pos(upper(srsym.realname),tabstractrecorddef(current_genericdef).objname^)=1) then
|
|
(Pos(upper(srsym.realname),tabstractrecorddef(current_genericdef).objname^)=1) then
|
|
begin
|
|
begin
|
|
- def:=current_genericdef;
|
|
|
|
|
|
+ if m_delphi in current_settings.modeswitches then
|
|
|
|
+ begin
|
|
|
|
+ Message(parser_e_no_generics_as_types);
|
|
|
|
+ def:=generrordef;
|
|
|
|
+ end
|
|
|
|
+ else
|
|
|
|
+ def:=current_genericdef;
|
|
end
|
|
end
|
|
else if is_classhelper(def) and
|
|
else if is_classhelper(def) and
|
|
not (stoParseClassParent in options) then
|
|
not (stoParseClassParent in options) then
|