svenbarth
|
d3660fec31
Implement support for parsing "generic [class] procedure" and "generic [class] function" in non-Delphi modes. Since "generic" is a prefix it is quite ugly to implement, but from a Pascal language point of view it fits better than "procedure generic xyz".
|
9 gadi atpakaļ |
svenbarth
|
0ff87336aa
Convert the Boolean parameters accept_equal, typeonly and hadspecialize of comp_expr(), sub_expr() and factor() to a set parameter and adjust all calls.
|
9 gadi atpakaļ |
svenbarth
|
d15cdefc37
pdecsub.pas:
|
10 gadi atpakaļ |
svenbarth
|
17a0ac7fc0
pdecsub.pas:
|
10 gadi atpakaļ |
yury
|
432248cbf1
* Removed lot of unused vars.
|
10 gadi atpakaļ |
svenbarth
|
84b9d9839c
+ extend tobjectdef with the possiblity to create it as unregistered
|
10 gadi atpakaļ |
florian
|
f1decfb6b6
* do not generate a vmt record for generics, they are only needed for specializations
|
10 gadi atpakaļ |
Jonas Maebe
|
2dcd42d4f1
* fixed detection of an objcprotocols descending from a forward-defined
|
10 gadi atpakaļ |
svenbarth
|
7b216d7fa6
Fix for Mantis #27120.
|
10 gadi atpakaļ |
svenbarth
|
49a9f4c1ea
Fix for Mantis #26123.
|
11 gadi atpakaļ |
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 gadi atpakaļ |
Jonas Maebe
|
02d36c56f7
* fixed compilation (changes after testing :/ )
|
11 gadi atpakaļ |
Jonas Maebe
|
5e1a895e95
* removed JVM-specific creation of methodpointertype and
|
11 gadi atpakaļ |
Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
11 gadi atpakaļ |
svenbarth
|
ddb78fefdc
Add a modeswitch for type helpers as discussed in core on 24th October 2013. It is disabled by default in all modes (afterall type helper support in Delphi started only beginning with XE3)
|
11 gadi atpakaļ |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 gadi atpakaļ |
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 gadi atpakaļ |
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 gadi atpakaļ |
svenbarth
|
d91d4afb0f
Fix for Mantis #25210 .
|
11 gadi atpakaļ |
florian
|
2fdd3e2d0a
+ introduce tvariantrecbranch to be able to store
|
12 gadi atpakaļ |
Jonas Maebe
|
3a03586ca9
* give an error when declaring a class as conforming to a forward-declared
|
12 gadi atpakaļ |
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 gadi atpakaļ |
paul
|
7c663af588
compiler: also don't allow record constructors with only default arguments
|
12 gadi atpakaļ |
paul
|
1b8369dd99
compiler: don't allow parameterless constructors
|
12 gadi atpakaļ |
paul
|
e9615716c1
compiler: allow constructors in helpers for records
|
12 gadi atpakaļ |
paul
|
1508fd427d
compiler: handle calling convention of record (class)constructors/destructors later as it is done with other record methods
|
12 gadi atpakaļ |
Jonas Maebe
|
3798b79fd7
+ optimization that (re)orders instance fields of Delphi-style classes in
|
13 gadi atpakaļ |
svenbarth
|
d2fabd2a22
Fix for Mantis #21350
|
13 gadi atpakaļ |
svenbarth
|
7dfaec7a05
Fix for Mantis #21457
|
13 gadi atpakaļ |
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.
|
13 gadi atpakaļ |