michael
|
3f09294aab
* Functions to see whether a published property is readable or writeable
|
7 years ago |
michael
|
a3bcefd78c
* Use pointer get/set methods
|
7 years ago |
michael
|
3d3bbcfa9c
* Raise error if property cannot be written (Enhanced patch from Ondrej Pokorny, bug ID #32586)
|
7 years ago |
svenbarth
|
7e3ad42f33
+ add types for the VMT's message table (the names are Delphi compatible, even if TVmtMethodEntry has no Len field)
|
7 years ago |
svenbarth
|
e6b39ebf15
+ add methods for easier enumeration of the fields in a class' field table
|
7 years ago |
svenbarth
|
0ba1073615
+ add new type TVmtFieldClassTab for the class table of the field table (Delphi compatible)
|
7 years ago |
svenbarth
|
1ae344394a
+ add data record for easier access to a class' data
|
7 years ago |
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 |