svenbarth
|
b9ec7e1e06
* generate RTTI for *all* parameters of a method or procedure variable
|
před 7 roky |
svenbarth
|
a076677336
* instead of a flags field generate a table with all Initialize operators of all fields (nested or not, parent class or not) for class types; objects and records don't use this (yet)
|
před 7 roky |
svenbarth
|
2e1327b6b2
* use pooled constant references for the parameter locations as more often than not they're equal between multiple methdos (e.g. the Self argument is always the same)
|
před 7 roky |
svenbarth
|
029ec93df6
* use pooled constant references for the names of VMT methods in the RTTI
|
před 7 roky |
svenbarth
|
228d3252cc
* use pooled constant references for the parameter names of VMT methods in the RTTI
|
před 7 roky |
svenbarth
|
3f96c0baed
* use reverse_longword() instead of reverse_byte(); fixes the management operators of records inside classes on big endian systems
|
před 7 roky |
svenbarth
|
ac0322c323
+ add a flags field to the record init RTTI which declares whether
|
před 7 roky |
florian
|
31f78ea2b6
+ implementation of the vectorcall calling convention by J. Gareth Moreton
|
před 7 roky |
svenbarth
|
0bf71958f2
* ensure that the correct RTTI data is written for "array of const" parameters as well
|
před 7 roky |
svenbarth
|
50788e8b3b
* correctly encapsulate the RTTI data for sets to avoid alignment problems with the new SetSize field (fixes compilation on Sparc and basically every other target that requires proper alignment with 64-bit values dictating an 8-Byte alignment)
|
před 8 roky |
svenbarth
|
5c97248f85
+ also write the set's size to the RTTI as that simplifies handling in Invoke()
|
před 8 roky |
svenbarth
|
7b675b6769
* correctly write the type of open array parameters as the element def and not the array def
|
před 8 roky |
florian
|
126b834976
* ncgrtti has to use target pointer sizes, so changed SizeOf(PtrInt) into SizeOf(PInt), should fix #31964
|
před 8 roky |
florian
|
b1dff29cbf
* removed unused units
|
před 8 roky |
maciej-izak
|
af8e0efe57
* Rtti info about Management Operators (MO) in init table for records. Note: commit contains minimal changes for RTL (for proper "make") no functional changes. More RTL changes for fully functionally MO in next commits.
|
před 8 roky |
Jonas Maebe
|
265c8e7bbc
+ support for specifying ms_abi_default, ms_abi_cdelc, sysv_abi_default, and
|
před 8 roky |
maciej-izak
|
1d301b6dbe
More consequent writing of Rtti. Part of code related to recorddef moved from recorddef_rtti to write_child_data_rtti(). When typeinfo is used in code init Rtti is a child of the full Rtti. Commit also contains correction for code commited for mantis #31249 (r35376) and mantis #31305 (r35377) for objects. Before was impossible to compile code with usage of typeinfo() function for object without managed fields ("Undefined symbol" error).
|
před 8 roky |
svenbarth
|
7e85e27865
* fix ncgrtti correctly (for once that warning was indeed useful :P )
|
před 8 roky |
florian
|
4b63da81aa
* initialize para to avoid warning
|
před 8 roky |
svenbarth
|
c1390b3442
* fix for Mantis #31249: applied (adjusted) patch provided by Maciej Izak
|
před 8 roky |
svenbarth
|
f517311227
* ensure that the indirect symbols for VMT, RTTI and IID reside in the same sections as the symbols they point to -> reduces the amount of sections for them by half
|
před 8 roky |
svenbarth
|
1d40e7e159
* correctly encapsulate the location records
|
před 8 roky |
svenbarth
|
26135d605f
+ implement interface RTTI inspired by the changes from Steve Hildebrandt, yet not exactly the same. Like his implementation this one isn't Delphi compatible either.
|
před 8 roky |
svenbarth
|
41dccb75b9
* for open array parameters the RTTI of the element def needs to be available/written; this is Delphi compatible
|
před 8 roky |
svenbarth
|
d044969d88
* applied adjusted patch from Mantis #31250 by Maciej Izak
|
před 8 roky |
svenbarth
|
5fa5ff1730
+ new method TRTTIWriter.methods_write_rtti() to ensure that the TypeInfo of parameters and result type of methods is written (can be restricted to certain visibilities and whether hidden parameters shall be checked as well)
|
před 8 roky |
svenbarth
|
22e23fea8c
+ new parameter allow_hidden for params_write_rtti() so that writing of the TypeInfo of hidden parameters can be enforced as well
|
před 8 roky |
svenbarth
|
cf18b7116e
* write_paralocs() takes a pcgpara instead of a tparavarsym as this is needed for the result location as well
|
před 8 roky |
svenbarth
|
f905303c4a
+ new TParamFlag pfResult if the result is passed as a parameter and thus needs to be set up as well
|
před 8 roky |
svenbarth
|
854a82b58b
* move write_param_flag() from local to class scope
|
před 8 roky |