svenbarth
|
5c97248f85
+ also write the set's size to the RTTI as that simplifies handling in Invoke()
|
8 years ago |
svenbarth
|
8b5461367b
* move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic
|
8 years ago |
michael
|
c788256fc9
* Added AddEnumElementAliases/TypInfo.RemoveEnumElementAliases (bug ID 30961)
|
8 years ago |
Károly Balogh
|
ea635bfda5
typinfo: push/pop doesn't save packrecords. also, always use AlignTypeData on m68k, which might have less than pointer sized (word, 2 byte) alignments in the typeinfo, because on most systems C compilers also use 2 byte alignments, so we need that for compatibility
|
8 years ago |
michael
|
ac207e867b
* Fix bug ID #30952
|
8 years ago |
maciej-izak
|
3900ccf260
* Rename RecordOp to ManagementOp (more relevant name)
|
8 years ago |
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.
|
8 years ago |
svenbarth
|
870bffc70d
* provide access to the method table for raw interfaces (it is written even though $M is not respected by such interfaces currently)
|
8 years ago |
svenbarth
|
fd1047c715
* use the correct alignment for the field following the unit name of an interface (raw or not doesn't matter)
|
8 years ago |
svenbarth
|
060cb62f2a
* correctly handle alignment for TParameterLocations
|
8 years ago |
svenbarth
|
f1a5fbc0df
* rename TIntfMethodEntry.ReturnLoc to ResultLocs for consistency with both ResultType and TVmtMethodParam.ParaLocs
|
8 years ago |
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.
|
8 years ago |
svenbarth
|
03715bd9a8
+ add data records TInterfaceData for COM and TInterfaceRawData for raw interfaces that allow for easier access to data that's only accessible by using pointers (and keeping track of alignment) without further polluting TTypeData
|
8 years ago |
svenbarth
|
c6233697be
+ add utility properties to TPropData to access a specific TPropInfo or the end of the known data of all properties
|
8 years ago |
svenbarth
|
bf2891938f
+ add utility properties to TPropInfo to easily access the next TPropInfo in a list of prop infos (TPropInfo.Next) or the direct, unpadded end of the known information (TPropInfo.Tail)
|
8 years ago |
svenbarth
|
3b1ae57844
* allow for AlignTypeData() to be inlined
|
8 years ago |
svenbarth
|
8e510da317
* adjust AlignTypeData to take a Pointer as argument as it also needs to be used for e.g. subrecords inside TTypeData (e.g. the property table of interfaces)
|
8 years ago |
svenbarth
|
e827c28722
+ not only add pfResult to the compiler, but also indeed to TParamFlag
|
8 years ago |
svenbarth
|
ecb878a7a7
* move PParameterLocation before TParameterLocation for consistency with all other pointer declarations in the unit
|
8 years ago |
svenbarth
|
fe28403330
+ two more pointer types (PPropData for TPropData and PParameterLocations for TParameterLocations)
|
8 years ago |
svenbarth
|
990b0e1657
* fix TParameterLocations.GetLocation()
|
8 years ago |
svenbarth
|
0dbc123557
* ensure that TRegisterType and TSubRegister have a size of 1 by moving them at the correct location
|
8 years ago |
svenbarth
|
5275c36393
+ extend TParamFlags by values for hidden parameters in general and especially the hidden high, self and vmt parameters (this is necessary so a manager approach for Invoke() can be used with as few knowledge about the involved calling conventions as possible)
|
8 years ago |
svenbarth
|
bd8a7be17e
* better implementation of TProcedureParam.GetFlags that correctly handles a TParamFlags with a size > 1 even on big endian
|
8 years ago |
svenbarth
|
417f1cd49d
+ initial implementation of the RTTI for parameter locations (not *yet* used by anything)
|
8 years ago |
florian
|
0b82f71e8d
* take care of the fact that there are 32 bit abis (e.g. ARMHF) which align qword on 8 byte boundaries, resolves issue #31132
|
8 years ago |
svenbarth
|
4717d78ac3
* as restructuring TTypeData to correctly layout tkBool for 64-bit Booleans is basically impossible at least add a comment for tkBool to the tkInt64 and tkQWord branches
|
8 years ago |
svenbarth
|
73ed1a9bf1
* fix for Mantis #31140: applied patch by Maciej Izak; this way it's clear what purpose ManagedFldCount has in FPC compared to Delphi
|
8 years ago |
svenbarth
|
2acf542737
* extend TParamFlag by pfConstRef which is set for constref parameters
|
8 years ago |
svenbarth
|
1553aa5639
* declare the first field of TProcedureParam as TParamFlags to avoid potential problems if more than 8 entries should be used (especially if some day the hidden Self and High parameters should be written)
|
8 years ago |