The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
svenbarth dbc410de63 Allow the usage of a generic's name without type arguments inside of nested classes inside the generic. This fixes Mantis #19499, but also Mantis #18688.
* symtable.pas:
    + add function "get_generic_in_hierarchy_by_name" which returns a def with the name of the symbol in the given object/record hierarchy (useful only in non-Delphi modes)
    + add function "return_specialization_of_generic" which returns the specialization def of a given class inside the given object/record hierarchy
* pexpr.pas, factor, factor_read_id: instead of checking whether the names of the found symbol and the current_structdef are equal, check whether the generic appears in hierarchy of current_structdef
* ptype.pas:
    * id_type: check whether the found symbol is a generic dummy and we are currently parsing a generic then return the correct def of the generic instead of the dummy one
    * single_type: when using the generic type without type parameters the def must resolve to the specialized def when specializing the class instead of the generic def which the dummy symbol points to
    * read_named_type, expr_type: like in "single_type" we need to resolve the use of the parameterless type name to the correct specialization def instead of the generic def
* pdecobj.pas, object_dec: also set the typesym of the current_structdef as otherwise some assumptions about generics with the above mentioned changes aren't valid anymore (like the def the typesym is unset again afterwards)
+ add tests for both bug reports (the one for 19499 is slightly modified so that it does not contain any errors)

git-svn-id: trunk@21361 -
2012-05-22 12:19:11 +00:00
compiler Allow the usage of a generic's name without type arguments inside of nested classes inside the generic. This fixes Mantis #19499, but also Mantis #18688. 2012-05-22 12:19:11 +00:00
ide * removed single remaining use of a 1.0.x deprecated function. 2012-05-18 12:11:50 +00:00
installer + Regenerate all Makefiles's after adding x86_64 netbsd target 2012-04-24 23:15:18 +00:00
packages * CTFrameSetter.pas -> CTFramesetter.pas (fixes installation on 2012-05-21 13:50:36 +00:00
rtl * more removal of deprecated functions (deprecated before 2.4.0) 2012-05-22 08:04:24 +00:00
tests Allow the usage of a generic's name without type arguments inside of nested classes inside the generic. This fixes Mantis #19499, but also Mantis #18688. 2012-05-22 12:19:11 +00:00
utils * abort if the specified destination file is a directory (mantis #22089) 2012-05-21 11:37:41 +00:00
.gitattributes Allow the usage of a generic's name without type arguments inside of nested classes inside the generic. This fixes Mantis #19499, but also Mantis #18688. 2012-05-22 12:19:11 +00:00
.gitignore fpvectorial is now moved to lazarus/components/fpvectorial 2011-10-30 16:42:46 +00:00
Makefile * fixed "make install" for non-JVM targets after r21069 2012-04-27 09:17:50 +00:00
Makefile.fpc * fixed "make install" for non-JVM targets after r21069 2012-04-27 09:17:50 +00:00