svenbarth
|
7ad3a0f12c
+ add implementation class for parameters of methods that belong to a VMT-based type
|
7 years ago |
svenbarth
|
68c7308de3
- remove unused variable
|
7 years ago |
svenbarth
|
28640ba350
+ add base types for the RTTI of methods and parameters
|
7 years ago |
svenbarth
|
b1029a218a
* also implement TRttiType's GetBaseType in TRttiInterfaceType
|
7 years ago |
svenbarth
|
1cb4514526
+ add support for interface types (both reference counted and raw ones)
|
7 years ago |
svenbarth
|
a0fb85b690
- remove no longer needed aligntoptr() and aligntoqword() functions (all this should be handled by the typinfo unit in the future)
|
7 years ago |
svenbarth
|
89645633a9
* get rid of calls to aligntoptr by using methods provided by TClassData and TPropInfo
|
7 years ago |
svenbarth
|
da30391a6a
* FillChar for the properties is not needed as SetLength already initializes the array elements
|
7 years ago |
svenbarth
|
57db4b47e1
- remove unneeded type declaration
|
7 years ago |
svenbarth
|
d9bc656852
* use new pool functionality for property instances
|
7 years ago |
svenbarth
|
1cbb4266d7
* rework Rtti pool so that non-types (e.g. properties, etc.) can be stored as well based on their handle
|
7 years ago |
svenbarth
|
f8d919970a
* since the property data is different for records, classes and interfaces they need to be handled by the concrete Rtti type (currently only TRttiInstanceType) and not the general TRttiType type
|
7 years ago |
svenbarth
|
29eb742ded
* move aligntoptr() and aligntoqword() further up so they can be used by other code as well
|
7 years ago |
svenbarth
|
49fc13ea73
* move Handle property to TRttiObject (Delphi compatible and is probably also used for the caching mechanism)
|
7 years ago |
svenbarth
|
4489163620
* declare TRttiObject as abstract
|
7 years ago |
svenbarth
|
bfd37969ad
* move TRttiStructuredType and TRttiInstanceType further down as they need access to TRttiMember and its children
|
7 years ago |
svenbarth
|
0c8f670ee0
+ add TRttiPointerType
|
7 years ago |
svenbarth
|
5c85e94919
+ add TRttiNamedObject.Handle property of which the getter needs to be overridden in each sub class
|
7 years ago |
svenbarth
|
98bb449945
* raise an exception if routine to be invoked isn't static, but there's no parameter to be used as Self
|
8 years ago |
svenbarth
|
794eb7c122
* ensure that FLock is released in case of an exception
|
8 years ago |
svenbarth
|
236c2344a9
+ add Invoke() function and functions to generate callback functions with a procedure or method variable
|
8 years ago |
svenbarth
|
2471cd57b5
+ add manager framework which provides implementations for invoking functions at runtime and generating function implementations
|
8 years ago |
svenbarth
|
c6cd64a790
+ add new methods AsUnicodeString and AsAnsiString which are internally used by AsString depending on the type of String
|
8 years ago |
svenbarth
|
4fcd0391ae
* use new SetSize field to simplify set handling in TValue
|
8 years ago |
svenbarth
|
ce958cacc4
+ add and document a way to hide the generic methods from Lazarus' CodeTools as they don't support them yet
|
8 years ago |
svenbarth
|
92caf587f5
+ add generic function TValue.From<> which is a shorthand of TValue.Make()
|
8 years ago |
svenbarth
|
46de720c63
- since DataSize for method pointers works correctly remove the "?"-comment
|
8 years ago |
svenbarth
|
4ff6c7bddf
+ add Delphi compatible exception types
|
8 years ago |
svenbarth
|
fde056899d
+ add a TArray specialization for TValue as Lazarus does not yet handle inline specializations in parameter declarations gracefully
|
8 years ago |
svenbarth
|
a06ed3c929
* adjust handling of empty buffer as a valid reference is needed nevertheless
|
8 years ago |