Commit History

Author SHA1 Message Date
  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