svenbarth
|
352ff5f82a
- symbolname field is no longer required
|
6 жил өмнө |
svenbarth
|
3a02393584
- remove functionality to get the code block when parsing again (let's open this pandora's box only when really needed...)
|
6 жил өмнө |
svenbarth
|
a64a8f8deb
- remove code to create an attribute using a synthetic function
|
6 жил өмнө |
svenbarth
|
402728239f
* trtti_attribute_list.bind already checks whether the dangling attribute list is assigned or not
|
6 жил өмнө |
svenbarth
|
ced3885dbb
* generate construction function for the attributes used in a unit using a more straight forward approach
|
6 жил өмнө |
svenbarth
|
0b63e89ba2
* make the reference to the TCustomAttribute type global
|
6 жил өмнө |
svenbarth
|
d9d2515ada
* move binding of a dangling attribute list to a sym's/def's attribute list to a class procedure of trtti_attribute_list
|
6 жил өмнө |
svenbarth
|
5cea374255
* add a remark that's going to be important once extended RTTI is supported (Delphi programs crash if an attribute's constructor is used that does not have any extended RTTI)
|
6 жил өмнө |
svenbarth
|
71fa4d1fe2
* the RTTI of an attribute not only consists of the creation function, but also of the attribute's type, a pointer to the constructor and a data blob containing the constant parameters
|
6 жил өмнө |
svenbarth
|
55d5bdc98d
+ add methods for the const nodes to directly emit their constant data to a constant builder
|
6 жил өмнө |
svenbarth
|
f9cda608fa
* take a copy of the constructor assignment node (and free it together with the attribute)
|
6 жил өмнө |
svenbarth
|
d31dd4ac7b
* better check for a valid call node
|
6 жил өмнө |
svenbarth
|
8cd1f1973b
- remove unneeded local variable
|
6 жил өмнө |
svenbarth
|
affa9f9d9c
* to be on the safe side: don't include AttributeTable fields when cycling
|
6 жил өмнө |
svenbarth
|
99914b4279
* instead of collecting the raw parameters we need to collect the parameters as passed to the call as there might be type conversions involved
|
6 жил өмнө |
svenbarth
|
b5e6c0b98d
* ensure that any potentially created constructor call is freed if the attribute is not bound to a def or sym
|
6 жил өмнө |
svenbarth
|
0e04d9b4de
* store the parameter nodes in the attribute object as well (we need to write them to the RTTI as well as store them in the PPU)
|
6 жил өмнө |
svenbarth
|
3a20178d96
* fix code formatting (no code changes)
|
6 жил өмнө |
svenbarth
|
c214648224
+ add a test for overloaded attribute constructors
|
6 жил өмнө |
svenbarth
|
db37146f12
* rework code for parsing attributes to only allow constant expressions; Delphi only allows those as well and better we don't open *that* pandora's box just yet
|
6 жил өмнө |
svenbarth
|
ab2fa724ec
* fix code formatting (no code changes)
|
6 жил өмнө |
svenbarth
|
62c137a6d8
* check that we indeed have a type node and nothing else
|
6 жил өмнө |
svenbarth
|
f1715ff337
* fix code formatting (no code changes)
|
6 жил өмнө |
svenbarth
|
3ad24c9db8
* as attributes can be part of any type they are best suited in a common part of TTypeData
|
6 жил өмнө |
svenbarth
|
a1b556d211
* considering that at least in theory every symbol and every def can carry RTTI attributes (Delphi only supports property and field symbols), move the rtti_attribute_list to tstoredsym/tstoreddef
|
6 жил өмнө |
svenbarth
|
de15025a47
* streamline retrieval of attributes (both in TypInfo and RTTI units)
|
6 жил өмнө |
svenbarth
|
5532ac3355
* fix test
|
6 жил өмнө |
svenbarth
|
e060a43d70
* rename TAttributeData to the more appropriate TAttributeTable
|
6 жил өмнө |
svenbarth
|
c17dafc2f9
* fix TClassData by including the AttributeTable at the right location
|
6 жил өмнө |
svenbarth
|
e296b26e9e
- remove unit info and related code again as that will be handled similar, but differently with dynamic packages
|
6 жил өмнө |