michael
|
3f09294aab
* Functions to see whether a published property is readable or writeable
|
7 lat temu |
michael
|
a3bcefd78c
* Use pointer get/set methods
|
7 lat temu |
michael
|
3d3bbcfa9c
* Raise error if property cannot be written (Enhanced patch from Ondrej Pokorny, bug ID #32586)
|
7 lat temu |
svenbarth
|
7e3ad42f33
+ add types for the VMT's message table (the names are Delphi compatible, even if TVmtMethodEntry has no Len field)
|
7 lat temu |
svenbarth
|
e6b39ebf15
+ add methods for easier enumeration of the fields in a class' field table
|
7 lat temu |
svenbarth
|
0ba1073615
+ add new type TVmtFieldClassTab for the class table of the field table (Delphi compatible)
|
7 lat temu |
svenbarth
|
1ae344394a
+ add data record for easier access to a class' data
|
7 lat temu |
svenbarth
|
5c97248f85
+ also write the set's size to the RTTI as that simplifies handling in Invoke()
|
8 lat temu |
svenbarth
|
8b5461367b
* move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic
|
8 lat temu |
michael
|
c788256fc9
* Added AddEnumElementAliases/TypInfo.RemoveEnumElementAliases (bug ID 30961)
|
8 lat temu |
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 lat temu |
michael
|
ac207e867b
* Fix bug ID #30952
|
8 lat temu |
maciej-izak
|
3900ccf260
* Rename RecordOp to ManagementOp (more relevant name)
|
8 lat temu |
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 lat temu |
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 lat temu |
svenbarth
|
fd1047c715
* use the correct alignment for the field following the unit name of an interface (raw or not doesn't matter)
|
8 lat temu |
svenbarth
|
060cb62f2a
* correctly handle alignment for TParameterLocations
|
8 lat temu |
svenbarth
|
f1a5fbc0df
* rename TIntfMethodEntry.ReturnLoc to ResultLocs for consistency with both ResultType and TVmtMethodParam.ParaLocs
|
8 lat temu |
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 lat temu |
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 lat temu |
svenbarth
|
c6233697be
+ add utility properties to TPropData to access a specific TPropInfo or the end of the known data of all properties
|
8 lat temu |
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 lat temu |
svenbarth
|
3b1ae57844
* allow for AlignTypeData() to be inlined
|
8 lat temu |
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 lat temu |
svenbarth
|
e827c28722
+ not only add pfResult to the compiler, but also indeed to TParamFlag
|
8 lat temu |
svenbarth
|
ecb878a7a7
* move PParameterLocation before TParameterLocation for consistency with all other pointer declarations in the unit
|
8 lat temu |
svenbarth
|
fe28403330
+ two more pointer types (PPropData for TPropData and PParameterLocations for TParameterLocations)
|
8 lat temu |
svenbarth
|
990b0e1657
* fix TParameterLocations.GetLocation()
|
8 lat temu |
svenbarth
|
0dbc123557
* ensure that TRegisterType and TSubRegister have a size of 1 by moving them at the correct location
|
8 lat temu |
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 lat temu |