mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-15 11:39:32 +02:00
The sources of the Free Pascal compiler, RTL, packages and utilities.
See https://www.freepascal.org/ for more info.
![]() Supporting such a prefix of course means that all section handling code ("var", "type", etc.) needs to respect the case of a "generic" token followed by "function", "procedure" or "class" and thus abort doing its own business. Maybe I'll find the time somewhen in the future to rework the parser (plus scanner?) a bit so that code like this gets more easy to add and more importantly less ugly. pdecsub.pas: * extend parse_proc_dec() and parse_record_method_dec() so that they can be told that they are supposed to handle the to be parsed function/procedure/method header as a generic pdecvar.pas: + new entry for tvar_dec_option named "vd_check_generic" to tell read_var_decls() and read_record_fields() to look out for "generic" * extend read_var_decls() and read_record_fields() to check for "generic" if needed and to clean up correctly if it is encountered pdecl.pas: * the section handling procedures types_dec(), resourcestring_dec(), var_dec(), threadvar_dec() and consts_dec() all return whether they had encountered a "generic" token that was followed by one of $ pdecobj.pas: * extend method_dec() to take a parameter that says whether the method is supposed to be a generic one * parse_object_members: while read_record_fields() can handle "generic" we also need to handle the case of "generic" if no fields are allowed anymore psub.pas: * extend read_proc() by the possibility to tell it that the procedure/function to be parsed is supposed to be generic * adjust read_declarations() and read_interface_declarations() to keep track of parsed "generic" tokens and to pass them on accordingly ptype.pas: * parse_record_members: same remark as for pdecobj.parse_object_members git-svn-id: trunk@32380 - |
||
---|---|---|
compiler | ||
ide | ||
installer | ||
packages | ||
rtl | ||
tests | ||
utils | ||
.gitattributes | ||
.gitignore | ||
fpmake_add1.inc | ||
fpmake_proc1.inc | ||
fpmake.pp | ||
Makefile | ||
Makefile.fpc |