svenbarth
|
d849734acd
Specialize the correct generic if it has the same name as another generic that is located at another place of the type hierarchy.
|
10 жил өмнө |
svenbarth
|
04534d5dcf
Fix for Mantis #27424.
|
10 жил өмнө |
svenbarth
|
0d1d3d8e72
Fix for Mantis #25917. With this change the visibility of type parameters is changed from public to strict private as otherwise unexpected (and "unworkaroundable") errors might occur (like the one in the mentioned bug report).
|
10 жил өмнө |
svenbarth
|
fa1bc0757d
Fix for Mantis #26922.
|
10 жил өмнө |
svenbarth
|
16774350d7
Fix for Mantis #26749 .
|
11 жил өмнө |
svenbarth
|
684c8842e7
Fix for Mantis #26599.
|
11 жил өмнө |
svenbarth
|
856ae9d3cf
Fix for Mantis #26482.
|
11 жил өмнө |
svenbarth
|
1bbcc08a8b
Fix for Mantis #26176. Don't handle "type helper" as unique.
|
11 жил өмнө |
svenbarth
|
639a59df92
Added support for partial specialization. This should fix a few problems with generics, the tests for which will be added in the next days after I've verified them.
|
11 жил өмнө |
Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
11 жил өмнө |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 жил өмнө |
svenbarth
|
798bb91e90
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
|
11 жил өмнө |
svenbarth
|
76f6de5cf1
Refactor tobjectdef.find_implemented_interface out into unit defcmp so that the recently introduced cycle between symdef and defcmp can be broken again.
|
11 жил өмнө |
svenbarth
|
32beb30129
Small improvements for generate_specializations.
|
12 жил өмнө |
svenbarth
|
e8edbd29c0
Fix for Mantis #24687.
|
12 жил өмнө |
svenbarth
|
fb8b0e7a27
Fix for Mantis #24453. Check for nested types after a specialization. Additionally check correctly whether a type is really a generic before accepting it when parsing a generic.
|
12 жил өмнө |
svenbarth
|
9d48bc0baf
Implement cross unit type overloading of generics. This fixes the regression introduced with revision 25498.
|
12 жил өмнө |
svenbarth
|
d03507671d
Fix for Mantis #24953.
|
12 жил өмнө |
svenbarth
|
53ea24a0b1
Correctly specialize generics if locally declared types are used (e.g. two procedures could both define a different "TRec" type which is used to specialize a generic inside the procedures).
|
12 жил өмнө |
svenbarth
|
956b26bc97
Completely reworked implementation of generic constraints, by moving the generic constraint data from the symbols to the definitions (I originally thought that this would simplyfy things, but the more correct approach is to add it to the defs).
|
12 жил өмнө |
svenbarth
|
cc5a108cca
Allocate the list for generic parameters in tstoreddef only on demand as most defs won't contain generic parameters anyway (avoids a little bit of runtime and memory overhead per def).
|
12 жил өмнө |
svenbarth
|
344571cb4e
Added support for type helpers. In non Delphi modes they use "type helper" and in mode Delphi they use "record helper". They can also be used on constants.
|
12 жил өмнө |
svenbarth
|
fdb1950227
Fix for revision 23344.
|
12 жил өмнө |
svenbarth
|
27f5e4f582
Fix for Mantis #23547. Basically we now fail with nicer error messages.
|
12 жил өмнө |
svenbarth
|
4adb36e8da
Add support for generic type constraints. They are currently only useful to stop specialization of a generic. The parsing of a generic is still too lax and needs to be changed in the future...
|
12 жил өмнө |
svenbarth
|
9ef4a35a7b
Fix the fix for Mantis #21538. The check never really worked up to now...
|
12 жил өмнө |
svenbarth
|
54c1e638ad
Fix for Mantis #22428.
|
13 жил өмнө |
svenbarth
|
88af293155
Fix for Mantis #22160
|
13 жил өмнө |
svenbarth
|
29c71d39ac
Preparations for upcoming work on generics:
|
13 жил өмнө |
Jonas Maebe
|
07ebc51b6c
* always store generics token streams in little endian, so we don't have to
|
13 жил өмнө |