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)
|
7 gadi atpakaļ |
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)
|
7 gadi atpakaļ |
svenbarth
|
029ec93df6
* use pooled constant references for the names of VMT methods in the RTTI
|
7 gadi atpakaļ |
svenbarth
|
228d3252cc
* use pooled constant references for the parameter names of VMT methods in the RTTI
|
7 gadi atpakaļ |
svenbarth
|
8536abce8a
* as the management operator feature is not platform specific using a specific define for it aside from a
|
7 gadi atpakaļ |
svenbarth
|
ac0322c323
+ add a flags field to the record init RTTI which declares whether
|
7 gadi atpakaļ |
michael
|
16ba47be46
* Patch from Ondrej Pokorny to convert unit names to CamelCase (bug ID 33481)
|
7 gadi atpakaļ |
michael
|
3f09294aab
* Functions to see whether a published property is readable or writeable
|
7 gadi atpakaļ |
michael
|
a3bcefd78c
* Use pointer get/set methods
|
7 gadi atpakaļ |
michael
|
3d3bbcfa9c
* Raise error if property cannot be written (Enhanced patch from Ondrej Pokorny, bug ID #32586)
|
7 gadi atpakaļ |
svenbarth
|
7e3ad42f33
+ add types for the VMT's message table (the names are Delphi compatible, even if TVmtMethodEntry has no Len field)
|
7 gadi atpakaļ |
svenbarth
|
e6b39ebf15
+ add methods for easier enumeration of the fields in a class' field table
|
7 gadi atpakaļ |
svenbarth
|
0ba1073615
+ add new type TVmtFieldClassTab for the class table of the field table (Delphi compatible)
|
7 gadi atpakaļ |
svenbarth
|
1ae344394a
+ add data record for easier access to a class' data
|
7 gadi atpakaļ |
svenbarth
|
5c97248f85
+ also write the set's size to the RTTI as that simplifies handling in Invoke()
|
8 gadi atpakaļ |
svenbarth
|
8b5461367b
* move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic
|
8 gadi atpakaļ |
michael
|
c788256fc9
* Added AddEnumElementAliases/TypInfo.RemoveEnumElementAliases (bug ID 30961)
|
8 gadi atpakaļ |
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 gadi atpakaļ |
michael
|
ac207e867b
* Fix bug ID #30952
|
8 gadi atpakaļ |
maciej-izak
|
3900ccf260
* Rename RecordOp to ManagementOp (more relevant name)
|
8 gadi atpakaļ |
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 gadi atpakaļ |
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 gadi atpakaļ |
svenbarth
|
fd1047c715
* use the correct alignment for the field following the unit name of an interface (raw or not doesn't matter)
|
8 gadi atpakaļ |
svenbarth
|
060cb62f2a
* correctly handle alignment for TParameterLocations
|
8 gadi atpakaļ |
svenbarth
|
f1a5fbc0df
* rename TIntfMethodEntry.ReturnLoc to ResultLocs for consistency with both ResultType and TVmtMethodParam.ParaLocs
|
8 gadi atpakaļ |
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 gadi atpakaļ |
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 gadi atpakaļ |
svenbarth
|
c6233697be
+ add utility properties to TPropData to access a specific TPropInfo or the end of the known data of all properties
|
8 gadi atpakaļ |
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 gadi atpakaļ |
svenbarth
|
3b1ae57844
* allow for AlignTypeData() to be inlined
|
8 gadi atpakaļ |