Commit Graph

673 Commits

Author SHA1 Message Date
Michaël Van Canneyt
b3d555c258 * Patch from Lipinast Lekrisov to get/set record-typed values. Fixes issue #41129 2025-02-08 17:24:11 +01:00
Michaël Van Canneyt
10e6a54b59 * Call correct newinstance when overridden. Fixes issue #41090 2025-02-08 12:59:47 +01:00
Rika Ichinose
6631f83ccf Change CompareChar uses inside compiler/RTL to CompareByte. 2025-02-07 20:51:50 +03:00
Rika Ichinose
814370b894 Fix NaturalCompareText for string = unicodestring. 2025-02-07 07:02:43 +03:00
Michaël Van Canneyt
1cfa628320 * Test from merge request !312 2025-02-06 22:00:55 +01:00
Rika Ichinose
acaa4660fb Improve NaturalCompareText behaviour as a comparer.
This version probably can’t return garbage or intransitive results.
2025-02-06 21:38:45 +03:00
Nikolay Nikolov
6972d16c3a * also handle enumeration results and integer result sizes, other than 32-bit in System.Rtti.Invoke for WebAssembly 2025-01-26 09:25:25 +02:00
Nikolay Nikolov
12db8a59b5 * proper handling for boolean results (especially Boolean64 and QWordBool) in System.Rtti.Invoke 2025-01-26 09:13:09 +02:00
Nikolay Nikolov
2e8b9e7e01 + initial implementation of System.Rtti.Invoke() for WebAssembly. Currently
only works with the internal linker. Not all types have been tested, yet.
2025-01-25 11:56:02 +02:00
Sven/Sarah Barth
faf085662d - current Lazarus IDEs can handle generic methods, so no need for NoGenericMethods anymore 2024-12-31 18:32:17 +01:00
Sven/Sarah Barth
4aed151833 * fix compilation on i8086 where depending on the memory type code and data pointers may be different (Note: this does not mean that the code works as the RTTI data generated by the compiler does not seem valid either) 2024-12-29 18:42:15 +01:00
Michaël Van Canneyt
7245902660 * Correctly set FDeclaredProperties length 2024-12-24 16:19:36 +01:00
Michaël Van Canneyt
a6e7e3e743 * Order of parent/child methods is now same as in delphi documentation 2024-12-23 19:47:19 +01:00
Michaël Van Canneyt
774e96f8a9 * Fixes after re-running test 2024-12-23 19:42:26 +01:00
Michaël Van Canneyt
8834c109fa * Extend error message SErrInvokeArgInvalidType 2024-12-23 19:21:32 +01:00
Michaël Van Canneyt
1f19edef00 * optimization of TRttiInstanceType.ResolveExtendedDeclaredProperties 2024-12-23 18:02:25 +01:00
Michaël Van Canneyt
e552165b7a * GetHasExtendedInfo returns false in TRttiMethod 2024-12-23 17:59:53 +01:00
Michaël Van Canneyt
2070a45217 * GetDataSize is 0 for empty TValue 2024-12-23 17:56:52 +01:00
Michaël Van Canneyt
4afc656ac5 * SMall optimization in TRttiInstanceMethod.GetParameters 2024-12-23 17:54:38 +01:00
Michaël Van Canneyt
b447ab211f * Small change in indexed property .ToString 2024-12-23 17:45:17 +01:00
Michaël Van Canneyt
dfd8f5c62b * TValue.Asstring for double 2024-12-23 17:45:17 +01:00
Michaël Van Canneyt
cb072b6b8c * Forgot to commit, main part of indexed properties implementation by Lipinast Lekrisov 2024-12-19 10:40:50 +01:00
Michaël Van Canneyt
b8bf81bc65 * Patch from Lipinast Lekrisov to implement indexed properties 2024-12-18 22:00:11 +01:00
Michaël Van Canneyt
76e2ee9970 * Small improvement in setting method prop, by Lipinast Lekrisov 2024-12-17 21:41:08 +01:00
Michaël Van Canneyt
a1892091ed * Improvements to TValue.ToString by Lipinast Lekrisov 2024-12-17 21:36:43 +01:00
Michaël Van Canneyt
2deb5e6557 * Invoke for record methods, refactoring method rtti by Lipinast Lekrisov 2024-12-17 21:21:23 +01:00
Michaël Van Canneyt
8a92f5f01e * Read/Write static properties. Patch from Lipinast Lekrisov 2024-12-17 18:59:53 +01:00
Michaël Van Canneyt
0acff7a7c1 * Introduce TRttiMethodType.GetMethodKind. Patch by Lipinast Lekrisov 2024-12-17 18:20:32 +01:00
Michaël Van Canneyt
4a596a2de3 * Fix compiler warnings and hints 2024-12-17 18:17:12 +01:00
Michaël Van Canneyt
cc6aabaf8b * Introduce IsClassProperty, Index and Default in TRttiProperty. Patch from Lipinast Lekrisov 2024-12-17 18:10:35 +01:00
Michaël Van Canneyt
fd10c88264 * Correct TRttiOrdinalType.GetIsOrdinal. Patch from Lipinast Lekrisov 2024-12-17 18:06:00 +01:00
Michaël Van Canneyt
072cb55315 * Get method by address. Patch by Lipinast Lekrisov 2024-12-17 17:57:30 +01:00
Michaël Van Canneyt
6c1c3e35ee * Introduce AsOrdinal. Patch by Lipinast Lekrisov 2024-12-17 17:50:31 +01:00
Michaël Van Canneyt
5a6b4ed8e4 * Delphi-compatible ToString for TRttiType. Patch from Lipinast Lekrisov 2024-12-17 17:47:36 +01:00
Michaël Van Canneyt
98a7fe6204 * TValue.From with buffer and typeinfo. Patch from Lipinast Lekrisov 2024-12-17 17:44:57 +01:00
Michaël Van Canneyt
69140d22eb * Allow to cast pointer TValue to class pointer. Patch from Lipinast Lekrisov 2024-12-17 17:39:09 +01:00
Michaël Van Canneyt
5945722811 * Introduce AsRecord. Patch by Lipinast Lekrisov 2024-12-17 17:31:01 +01:00
Michaël Van Canneyt
1c816990c3 * Allow assign of pointer to TValue. Patch by Lipinast Lekrisov 2024-12-17 17:26:33 +01:00
Michaël Van Canneyt
bb2d12457c * Add all test files to project 2024-12-17 17:25:31 +01:00
Michaël Van Canneyt
a8ccf71bd0 * Add overload, needed when specializing in Delphi mode 2024-12-13 12:36:27 +01:00
Jonas Maebe
ccf1bf8add utcfpmonitor: fix compilation on targets where TThreadID is not an ordinal 2024-12-07 15:07:22 +01:00
Michaël Van Canneyt
1b8209fee4 * correct TValue.Cast<AnsiString>, patch by Евгений Савин. Fixes issue #41042 2024-11-26 09:04:08 +01:00
Michaël Van Canneyt
8ffbbe6a93 * Patch from Евгений Савин to fix TValue.From<managedrecord>. Fixes issue #41013 2024-11-25 14:01:26 +01:00
Michaël Van Canneyt
26b6d0223e * Add IsType with aEmptyAsAnyType param 2024-11-23 10:23:36 +01:00
Michaël Van Canneyt
03f98e749c * Fix TValue casts, patch by Евгений Савин, fixes issue #41030 2024-11-21 11:51:11 +01:00
Michaël Van Canneyt
1230e5a623 * Delphi-compatible output for tvalue.asstring for float value. Fixes issue #41027 2024-11-19 23:34:28 +01:00
Michaël Van Canneyt
0b0193106f * Fix comp errors. Patch by Евгений Савин. Fixes issue #41016 2024-11-15 16:57:20 +01:00
Michaël Van Canneyt
2d0f8467fa * Patch from Евгений Савин to implement TValue.Cast for floats. Fixes issue #41011 2024-11-13 23:22:59 +01:00
Michaël Van Canneyt
d486463bc1 * Test for #41002 2024-11-09 09:58:43 +01:00
Michaël Van Canneyt
d96448cfaf * Patch from Евгений Савин to fix missing ansistring conversion in TryCast. Fixes issue #41002 2024-11-09 09:53:06 +01:00