Description: rtl-objpas
This file as text.
(active) Revisions in this set:
5ead23513d29a185a71dfa0fc3f5314e4fc7aad5,b8f186dab2e09afc589407a2f1a0dd2db2cb2d89,75fe6c23a5242eddfd19537e00200bf425cfdcbc
2840e5e1fda6a4d222057f583c6a65cb08a0074d,9a01bcf3dc185dac2d310d178b62d5e48e608529,706e72e1fd681d688ba504b2e7ce1f78694ad686
2932787dee07a24703a24e165ee44973f6839ac1,c38b8ac28fd17072e2db87f4d008c36e68e8e0a7,eed9bc1f356acc9da3471b862ae0b35e8fca0908
e65b822a0c2a0d0dbe11ae3766dc9876accdbf28,e95572921a85a84f64ce4864544d549ad0ef5b50,15b7a8763f6b16dece5336603049024158cb3b49
27ed2808dcb4c95b101cada579f32ea3325e08d3,551f26767048e2cb9e1f895122cd8dac95b2dca6,ac95c20c5a0fa5387aa87a963ef224fb86bcffe7
8c5bc91855dcdb1812d0d8ad851e1eef92047187,306559667c7c569f3da35d2d3d2d692b53a5c3fd,cc66eb27ab549216e2b1e99026f0beb31e5d0102
9e14dee1c35bd3131a99de5fcd613afeee9757f7,3963a30f9e434871c515109f24632751a710ae51,acaa4660fb7162c7e76d09c93e759cf384492bdb
7cde8df8c78c3e7f7af2758c53e57e2867680baa,f8f824aa8d30279cc6d8130a3ba2380582f8a4ff,06b0927f1e4e763d62fb1a34da215cf1f03a399c
c92056fcac53d1e0fcac9d6de4cab18c53b33b41,725da25477e1284c44a0fecb9ee709da592ee895,d1f999100b449adf175104b355b9e52ae2441fb4
48b97514193933e20c354a459c1cb37ca8edeb6c,6ffa3d4a89adc384b4bcc4459c63b30d1c0d830b,2767a9c979eb181ffdfcb27569b92875c43ea643
54338a12b32d8d2ed1cb1ccacb2be1b00971d175,efb204d5e7f3676be2345272876dc1f83a95b137,6f4ade6abef6ee2d35c4209a4501a88cd5b30e7b
d948420ebacf9ba73d37fac2dc0eab0b2af16962,cf41a549b93d72cd414f19526abeab7e23b4dd8a,60c80a45a0fad2e6316b6e04340951f00fe07d1a
cfbdf90ab02f618d6c23980b74ed3bea1ee70284,a260f1987c8a302522e006d822ae96b644831191,96eb5da93988646fca88865a682c5f6e644327c8
9889a810628091c1b7a542e832e1238efdcb9f2d,74fdf0692caf78d795585b06078f93310d7ae0cf,7edf9b388456751fa36bd696e3c20b62b06bd643
6084bb6d09aab6c4f337f0df1ae121f0c7149c7e,42b10196f16592cfabc4284ada2e8c3e78b44015,0bad315dafc027649333ae3ed76fbee3c1426734
b83d4fae29cac83c79eb311a8f821dc298db67e8,4b5ffd1b2363b8853525a11d20d4ada6c8c5bc12,b878a0d39057fcdcf4d8dc64eb04ca133eb99b54
d40a2dbb1271ca1964fdfd8b34efb55c580724b9,1cdbefe8516ad1275bb3b243e486564b8d321d22,5a712a0cdec794bd70b0e2862b595b728dd385c9
a7578e144d4dbb18405e80f55822e140fc049be8,5a0ace6d45c27f1629943b89e971d76dc08d9e38,a224f8ded7c0bc2b0e17c2536d56bb0fda1c5149
4d66ac911835cbeb60af330b6a36c5280cf343a7,70282826ade9305b7aa0046efb0dea3b84089ace,90f902c7d4a6d95e40eedeb813cab74fe3e4e73d
ceddc2aec32441f2b62ad23625d78efd0472952a,ef5a32ab9531f0c6626fff54981a05d0cef3a0d0,56a906a4219bc5533335bf84c3df56250de1de37
9b783281753a1b7b76feb9b9fad04975bc7ac109,6a07a508b877e09e9e99a8c7b2ff0e9b1e5e7428,a748d7279c85b9bccc82d5ef55dd8812f22bb9d7
15e7dd3d9f5d94136f00c29235f9ffbcb8a5650c,5307ef07c43b0c3005f7d2a2da89b58cd2690993,f671db3fa691b70f720b266dc25c6bef77e1288c
4794e5ffcfc58d982825d18e54ac1e6d95cb2ae4,557a324473694e56ffd934e2f9342ce64cd9b50d,74c995c06b7759bf741954b2e51ece96b9847f75
938207045477ae42af68ac7cf0b30d67de7dffb4,1ce1fcf5aeff6fe3ade196c3e4d1b1d58f80f5fd,44cf5d776f92fc30a581e6bbf8571b07eccf02aa
b0fd2615194fa74e8b4de328974c9834e6ca06a4,dba81381756d73ff6bc9493bf5e6b15197d0118b,33950a5e220ec7bf024e4b3f14beaee4b4ef0bbd
df67c18f7dcecde5df374f958915198bc2307183,50344403834db619bdbf15f42ef88bce903d0692,2cec31d86f232e5c47fbe20dfd115d8caf2e5ba5
be0e06bd505738535a51f22c96f7f235ba977af4,2ff4fb0e151d84186b0abfe7692cb44fa195dfc0,05348107034f51b869079ec1b82913fe9b561ff8
972b961f2b3a2a61a87cbbffda80b70a9b82d86d,121f6fce223c975f5ec2d48cad8e40ae9c47cc1f,7eea850726ab34bbc2a164dedc7d185f18f05f10
c74441323ac9712f0a1f08349debcffe580734d1,21ffa221e697c791912949b130191838def3e81d,b6ccf369b97093839cdefcda2be4e46a65b27bc4
cde58d66fc1df01c4f61bee5dab1ca082778a698,3a5db26abf2ab5fbae9577928a42d78d122e0ae7,2b0d98bf2ceb00ebe2b479f91a33bed106513791
3a1f180a56338505e6387a8cfd3dd56b2655134a,cc81e183226bb1d36dd19b7755c51e2633be8f09,f6ce76b638a08a19d58f35a0aeaeab0a6462e24a
b7e8dd62682379c4c24b9d4731fca095aee40cd3,ca8d867d570f0a292fb8cb92e397926e34c9fac7,71a46465c8105ac3fa5f492d17ae73ac486b7060
ad93958e5bcf3dc799f9b324e859e93fa958d69f,852cd355e4c735a7f9f24a9513cb6448b1c325e3,476780df7710331877ee1c77af234dc75d13e8ba
9a344568df3991f403b67f41ad3a8483afa0fa82,b61a0fab97a47f5281778c6a8322f0eeb2747418,9c5bfbeb780c296556b6317bdc517079c42e390a
09b0ca01ccf02d311c1a2223ac8c1c80ea16e78d,bd2b0c8dca2897736d1c265bc53d2f5ed5e5ba3a,8527cb17f829b85a1ea2ec4a0c09bfdf35140f23
06601d5e6015fcde5118be97457897d7941aabc0,3f7cd9b8076ef8bb0f9fb3a1892d2beb944ccbdb,ba6696d9eda7872b99b9a3b3060545aa7e31051c
7589bb39b86dcb8ff1bd7a3bb4d836659062bf60,074cb3bcf4dd05140984e8f0ff1b42a2caed1ca3,54bb95da81571e745d02770318ceba5fecf4e0d2
d1432b73029b43b6f1a4746782e76c04ea75ac4a,c2176d27eaaeb68e6dc8c2a6a06cb76df6d91876,492717a25c7f4dd0a1f4f7dc98fb2697a38e6b2f
85494cdb1d831c5b0a3053bc4f9268d10ade1295,2463faf5c0b3a23d04d188e3f925960d1534d46b,9fe350bd91c0293c794a5c46e3211d29fb0e2727
ef6612170cbdd9794c3dee1bc5b10c22af57b7ff,92479574779ec3820fce0a6067a7a2bb17493d45,bc2d1cf51c4222b7cb18c93e990436df877a56b1
083e85854444fda9a392a67536d25701081f481e,78c8ca57adc378a75621a9ea921917ab57eae898,8665e038863650a6fd90ac1160d7ca1fa5011bbe
e75d97815d19b2540a5311eb0ac8f734765abfee,e67cccee374935361230e26d45ce42a01a5bfb8d,52d3a0d5e3befa86118c9dd762381cb2d20fcdea
6e03b24701771b77c804e1ca774d61d05ac8136c,91756b9e3e658799db1f34de15bfc0bd6267af3a,e7184f3126fe185c4b96edc5d8506fc08e2a97c1
666de1e77c5b8ae629c7e0ee5f9afac036b3e18e,d6cf3c98d0e317aeecb5885ad59ea4b06e431a6e,f7214e6ae8314d5dc35caff50dd7e27f99a27cc2
9f5a4205049c74cd503a2e921309acb80c6e5dc7,05a6a498c0ee55b5b1462d5d9d9ca036dc67505d,fafb2934260208b23ba6f7d0e3d21a68dab2c138
f67165ae31509fa20275b3d3763874ad03b1234d,7f94fb2a65a1b9b68fa1be9ce53b2e28098ac270,816e3fc5385ceee26a8fc1df9789f5d2d39be68b
d851553f417233bb8cca6a0ec54f4be864d14056,40c3dc5809eb9842bf7a283ec5655b60d0f0c557,8eb0d1eaed1b9322706cbb199c093005b1839d43
713c9eea6a8e91d8dbb8a408575f740bbc79f2c3,ab115180bf06334c3b895be4df0e00ff74a186fc,617d56f23af75d9060a7ad70d95b812b334f99c2
0b4d9a673293fd940fb90dd672014839542c72d5,14d65ced2eaa7747628d7f281f36ad2af56057b2,fac7c21b9b95ef254c27c365ddb218817da8c777
342d3338e50110e9f77574571e5fdac29330046b,93937f99ae6cc39b0e11d625aa9a1da05a5c6d67,3e098316fde811eaec9c9812f42a2dfd7f0015b0
92f937c40eb8ebad413e8819de0474306755a1a5,d8278b1699b7e4726a8c71a762417fed48aae7b6,1850eab89ad33a4291f4e431776c38ccd3aa64c7
d4a2f67a6d619fcdb8130a618e86885aadc66725,81ffe0ed36003e5f7d0de9e7a0619bd1481efc98,a8675300565e967d717be4fde6b0207ffdf1f5b3
b5a0c3b1b6be6538d7111f2863e4575cd32da662,d3b14eb1ba8dc3b5f2ca1dd47db1faf79cffd2c3,149db318a0c4a4acff4fe5a23d43dd66e7704017
23dd7a51731239e06e2e1bdbc966d240dc4d21fc,6ff63107a68f173d9c03e99c41ab9c40738b2ff0,742158b678ba56230806c0c590c02602e528893c
d79c12ad5b7efafa4c8e8d7d3007d30b5794ca5a,b74411cf03d616201c8bd7a7370df77918d80735,f7bcabd9568c9c27b86b7e77fe6d01c1fc6f7d0e
2469fe8d700ebbfffa9d26b76f7c3607e9f2b15a,f70a430b6f170703190d7d53da1706b607eaf1b0,d9ec917586b3d945bd4d79a857b165c3bb0aab81
d96448cfafabdc0116dbd1f7e7c983b2c48b5a3c,2d0f8467fa235f102b3b7c2b39e5e00a243ab8cd,0b0193106fdde9c4cb466beb8af8136ed4fcbf41
1230e5a623c5c8e31a2c4f0e09f9f1e3fa89e28f,03f98e749cebb73d0bb431a430c6280ea25a9888,26b6d0223e08565cf3080313a5828462604660f2
8ffbbe6a93786927117165a122720e792cea961c,1b8209fee4c887946c9c8c49db9a52c4a3302519,a8ccf71bd0ac5b1c231bfa3d65d900c2cc1f7053
1c816990c33b47ee7b6ea90a2909407295d40b11,59457228111983bfb67ccd8cfbd5953034107499,69140d22eb808fed7f93970102904da246991518
98a7fe6204d5d2a966ae5497b9ebf76325b82b06,5a6b4ed8e4200680ca5ce39d4fd67e0570cd2f8b,6c1c3e35ee99b3646a349e58243530625cd21d74
072cb55315f8c79baf9561cb6218f6fbb77e5057,fd10c8826473e4cf3f333d09dd39e0b218919778,cc6aabaf8b68bb0454c4c960d81ccf85d0e5bc95
4a596a2de30c4b63c7cb535ddb367d9d84bc2964,0acff7a7c15779641a79847fa0a204146e243824,8a92f5f01e6a0b31962e5e584b247c42ea9b309a
2deb5e655740b037102c4ce76c1c0799efb57190,a1892091ed23cc85175403ddf8ef2e5e7ae8bc3a,76e2ee99701b89837445a5b636d4507eb435f567
cb072b6b8c4a228000f98307e63bb7744bf7287e,dfd8f5c62b03b013a348f00dde06dd9f7a0ee0be,b447ab211f4af8a5868970fb4ce4143d7cbe9931
4afc656ac59f5c5f7a37fdefb51ccb93ad7c0173,2070a452178eeeba70327863539c0c1e98394b18,e552165b7a737e8a2860df87da2f53c1dae69395
1f19edef004bad0ea37aa0f7dfdef2139de19ab4,8834c109fa68e83bb3929bea9361f766ab3e1414,774e96f8a9ff472cc47bd1a6f2c25beda6665413
a6e7e3e74345e9d508d57eaf592885763bd57d2c,72459026608d111de2682076c3d2464d5df104f1,4aed151833107e24c5256561422011dc5c786ed0
faf085662d8c8250a63530ac784a8d59886e4461,28fc3da2bda2cb959f61ce3405dddb246fa00e0d,2e8b9e7e01ffbf180e5c0ac2a2a29d0e06b822a7
12db8a59b526a292182da0b43adb15e9e30b6c7c,6972d16c3ab08068898d123f5b677c6e56d96d1a,814370b894f989fa5c83ac4684e6e0f5465e6227
10e6a54b59b5d62dfe232c84a1b0159c6c73239c,b3d555c2584b513c07ec64abed99423fc5e4d41e,e062a5471663d71d47b16008021fd206877c9f7e
11076f084c5f4c2c536b07761c93b37c362cac83,a0a453f8903b9e9a261b5e6b74ae0b560301b4e4,1a32b53f2c98b680f35a05633e64064a12a74849
7210366766d36d906073b8bf16d8ace84e7d4cf0,cbbba251989de12376a7f1af5b79427575042c54,e2d58b8b944227a6b1911c62bb59cbc686da0ac2
9a7a8f0d5c184e9909b95cccf53f9883137e7a97,b590ad70d810e29146a2e70b406b2ac7addd8808,57a53d6532686a3e80ac1bcb62a10cf76c8fb8c4
b648c6e23716ebdae25e9f59e0cb2a844f44d507,bfa16c0b32b99bcf17abf8d67bc07919615838ec,f2d88692863dfe9896e5fd901a2cc5e58c12cb85
1208f4d5b9a5157cf205c71d9244fb9bf41ad15d,f23dbc2ecb1674a701d034aeecc8bb74ac0698b0,134e9645144fb7dab91d988763cf0eef02c42b12
c7275d0bde42998815200f5fbf78e1281f203c7d,083a05904325b4d1aad1905a5fb60fee6ffed742,2b823c4d1721ef5371748a9852606b9802dadc6b
258c96c69982c687dbd9a8d912c0a87cc7acd1ca,a8fbddd7fa3a7eec7f01356ab004b0b8558b6a63,cb74a8d2da8f5d800952efb99a3aabefb230f6c3
afc676511f96cae20340cfc84197e138a7b567f4,f7aa2f60dce649ccd37a638858d19c278ebf8391,8d6b823d4e1d335308bcdac2e4618e3de5501c23
64e57de183208a2319e27ad4930115cc67d07bd2,8a738d32537be81e293822aed1d06a10e282364a,f8e45083d049871099d51bfd6355bcf2b39ec90b
5f5fb3febbf34905c67ac176b8f4f7d74b672e13,c19d76f9768754542ddcc3bb3732e34570359989,c856b5c5bfeceb0818ea8eef24f466503636b005
bf533ab2acbdd05e891682424d56057451c642cc,1f3a013f8f17b287f7662f7797717155ee8ad140,20022beca84f6e75339fb2013c01154692bae963
bd9caa2ab275c88abae8d2bf69794f849073009a,5d67d92a917e9f35e4e38ed12cea746124e728c4,b50284466fede3f9f0ec06dc9b3adec9c5c097ff
c18c56024d13ad2436699eac907618acefa35da8,239d4fe7b7eea8793b2e645d7f83fd09d2e60eef,22720790fab4269a087c95fe2c7c7e0eeb74e912
dbccf5e8444ac8d9631551d6ea91e19570b3f5ec,0fe6f3116cde738ca7d20aa96b9f5649a470e031,a9e735f2575d13fe42c43ccd0c94596baef0d547
a8953e08326b9521f5521c71cab2c2daff53a28f,74028317a78d5bbec0936e64f5dcaae1197e323c,5eaa53faa18b6d7fbdfe4900966824abc61eca88
c177cf7da27bc8ce44246876029d24aade4738ea
Clicking a revision will expand files
* more overloads for Math.Min/Max, resolves
0036161
* FreeRTOS: adapated packages to build
* fix for Mantis
0036895: the new epoll_pwait was missing the size parameter for the sigmask parameter
* Changed Integer to Longint in definitions of RTTI structures. It fixes typinfo for 16-bit CPUs.
* better error message for runtime errors 202 and 210, resolves
0038254
* use SizeInt for counters in math unit, all non-32 bit targets should benefit from this
sinclairql: enable most of rtl-objpas and rtl-extra on the QL
+ enabled several rtl-objpas units for the WASI target
+ add type helpers for the remaining Boolean types (QWordBool and Boolean{8,16,32,64})
* i386 callback implementation: only skip the result argument if it was detected as one from the parameters
* avoid range check error and overflow in objpas.hash, should resolve
gitlab 0039561
Unicode 14, Unicode Collation Algorithm 14, CLDR 40 support.
Unicode source code's size reduction: short field names, delete unicodenumtable.pas.
* Add examples for syshelpers from Zeljko Avramovic. Fix issue
gitlab 0039541
* patch by Rika for ArcTan2 to reduce code size
* patch by Rika: More numerical stability for Math, resolves
gitlab 0039863
Improve NaturalCompareText behaviour as a comparer.
This version probably can’t return garbage or intransitive results.
Add loongarch64 packages support
* avoid unneeded widening of expressions due to constants defaulting to extended
* patch by Rika to improve FrExp and LdExp
* patches by Rika: Fix a bug in LdExp(extended), and test Math.Frexp/Ldexp implementations instead of own, resolves
gitlab 0040030
Add SetToArray and ArrayToSet functions for more general RTTI Set handling
+ (modified) patch by Bart B to add Cycles conversion functions, part of
gitlab 0040055
* patch by Bart B to complete missing functions in the math unit, resolves
gitlab 0040055
* patch by Bart B: Implement sinh(), cosh() and tanh() for single, double and extended parameters, resolves
gitlab 0040083
* Some forgotten string -> shortstring instances
* Some fixes in INtToBin, XorDecode/XorEncode
* CompareStrAnsiStringProc is not necessarily assigned
* Dotted filenames for package rtl-objpas
* fix typo in resource string
+ add generic utility function ConstParamIsRef<> to determine whether a specific type is passed by-value or by-reference as a const parameter
Make sure RTL str consts have consistent ending. Fixes issue
gitlab 0040272
Fix compilation for msdos targets
* replace Length(
) - 1 with High() which leads to slightly shorter/better code (reported by lagprogramming on the forum)
* Extended RTTI Type info routines and data structures
* Add PProcedureSignature
* Parent class for hidden TVirtualInterface thunking class
* Invoke helper definition, allow calling it
* TArray is now in system unit
Fix order of parameters of FillChar
* Simplify GetEnumNameCount (by Lagprogramming). Fixes issue
gitlab 0040411
* patch and test by Rika: Redirect StrUtils.RPos to StrUtils.RPosEx, fix a bit, improve a bit, resolves
gitlab 0040394
bypass `real` → `integer` conversion → `real` promotion in `dateUtils.dateOf`
The `dateUtils.dateOf` function takes one `tDateTime` value, a `real` value,
converts it to an `integer` using `trunc`, and then the value is automatically
promoted to a `real` value again (because of result data type `tDateTime`).
This is unnecessary (unless an error is the desired behavior).
You can use just `system.int` to obtain the integral (= date) part of `tDateTime`.
+ simple test for Dateutils.DateOf
* improve math.power as suggested by Paolo Valle, resolves
gitlab 0040461
* Add system.actions unit for Delphi compatibility
* Add system.math.vectors for Delphi compatibility.
Refactor and fix a bug in Boyer-Moore.
* Patch from Rika to fix broken test (tw39885)
* Add some constants for Delphi compatibility
Refactor promotional features of StrUtils.
* Some delphi compatibility constants
* Fix compilation of unicode RTL after patch by Rika
* Delphi compatibility methods, unicode character type helper
Fix a leak in StrUtils.StringsReplace, change StrUtils.IsWordPresent to work like Pos, and make a few more minor adjustments.
* Additional Delphi-compatible constant
* Add delphi compatible constant
* Fix typo, missing brackets
* TVmtFieldEntry.FieldOffset needs to be SizeUInt instead of PtrUInt, so that it works correctly on the various memory models of i8086 as well
+ added test
+ add descriptive comment regarding the TVmtField* types
* fix
gitlab 0040595: correctly access the list of parameters of the extended method table
+ added test
* patch by Евгений Савин to make Variant to string convertion use CurrToStr for varCurrency, resolves
gitlab 0040624
* Make GetEnumName safer, check actual type. Allow passing an integer
* Add TRttiEnumerationType for Delphi compatibility
* Add TTouchTracking for Delphi compatibility
* Add delphi-compatible TPointF.EqualsTo overload
* Virtual key definitions added
* Fix in overloads of GetFieldList
* Add optional parameter to get methods of only current class
* Get extended methods, fields and property info.
Fix msdos compilation failure by using CodePointer type for GetCodeAddress TRttiRecordMethod function
* Add delphi-compatible constant (including the typo in the name ;))
* Use correct error number for missing widestring manager
* RectWidth was not public
* CurveKappa, CurveKappaInv
* Return delphi-compatible output for TValue.ToString when empty
+ Add Simple MonitorSupport implementation
* Fix use of wrong memory size when getting extended property info
* Fix overflow in initialization of return value
* Fix TExtendedVmtFieldEntry.GetTail
* Get Field Attributes + tests
Create TMonitorData initialized.
Set ‘TMonitorData’s without locking.
Manage ‘TPulseData’s as linked list of structures allocated in ‘Wait’ stack frames.
‘LockCount’ does not require atomics.
TMonitor.Wait temporarily unlocks through recursive calls.
Use exponential backoff in timeouted ‘TMonitor.Enter’ and explain why it’s still a bad solution.
* Do not prefix with unit name unless necessary
* Fix wrong type for threadID
* Implement TRttiField.(G|S)etValue
Alternative implementation of TMonitor for Windows Vista+.
* Implement GetCodeAddress for TRttiInstanceMethod
* Remove additional memleak
* Fix duplicate registration of existing RTTI
* Fix ref count of interface during cast
* Add parameter to skip inherited fields
* Synchronize Method/Field treatment. Correct parent for fields
* Complete erroneously partial commit
* Allow to call constructor using Invoke()
* Properly pass on FUsePublishedOnly to properties. Fixes issue
gitlab 0040702
* Add constants cPI and friends, for delphi compatibility
* Allow ToString for object value
* Add missing PAlphaColorF
* Fixed DeclaredFields for record, should be the same as fields
* empty Rect does not extend the rect in UnionRect, based on patch provided by Werner Pamler, resolves
gitlab 0040680
* Add TCubicBezierCurve for Delphi compatibility
* Some routines for list index error, delphi-compatible
Move varutils.pp from src/common to src/inc directory
Fix directory for varutils unit
Use single main file src/inc/varutils.pp for Windows and other OSes
Adapt namespaces.lst to removal of src/win/varutils.pp separate source file
Fix syntax error in last commit
Move EqualsValue/LessThanValue/GreaterThanValue to unit Types, refer to them in the Math unit
* Small correction in property resolve
* Correctly pass UsePublishedOnly on to sub-contexts. Fixes issue
gitlab 0040828
* Handle tkFloat in TValue.ToString
* Implement DropContext/KeepContext for Delphi compatibility. Patch by Artem Izmaylov. Fixes issue
gitlab 0040884
* make typing more consitent; cosmetics
* ensure that the final assignment in the hyperbolic functions raises an exception if they overflow
+ check argument range for cosh/sinh
* improved cosh/sinh argument checking
* another fix of cosh/sinh overflow checking
Adding some convinience functions to TNullable
+ Add license header to tuples, add to fpmake
Adding TNullPtr to types
Additional changes:
* Now using TNullPtr instead of custom type in TNullable
* Adding assignment of variants with TNulPtr to avoid name conflicts
* Adding comparison to TNullPtr (Pointers, TObjects, TNullable)
Adding pointer access to nullable
* Add GetMethod(name), patch by Lipinast Lekrisov, fixes issue
gitlab 0040953
* Patch from Lipinast Lekrisov to implement setting method-type properties. Fixes issue
gitlab 0040970
Added TRttiIndexedProperty, the whole property handling infrastructure has been significantly redesigned
Fixed TRttiRecordType.ResolveProperties (records do not have a published section)
* fix compilation on systems where SizeOf(CodePointer) <> SizeOf(Pointer): disable ToString for tkMethod on these systems for now
* in the Win64 ABI all const record parameters are passed by reference
* Patch from Евгений Савин to fix missing ansistring conversion in TryCast. Fixes issue
gitlab 0041002
* Patch from Евгений Савин to implement TValue.Cast for floats. Fixes issue
gitlab 0041011
* Delphi-compatible output for tvalue.asstring for float value. Fixes issue
gitlab 0041027
* Fix TValue casts, patch by Евгений Савин, fixes issue
gitlab 0041030
* Add IsType with aEmptyAsAnyType param
* Patch from Евгений Савин to fix TValue.From
. Fixes issue gitlab 0041013
* correct TValue.Cast
, patch by Евгений Савин. Fixes issue gitlab 0041042
* Add overload, needed when specializing in Delphi mode
* Allow assign of pointer to TValue. Patch by Lipinast Lekrisov
* Introduce AsRecord. Patch by Lipinast Lekrisov
* Allow to cast pointer TValue to class pointer. Patch from Lipinast Lekrisov
* TValue.From with buffer and typeinfo. Patch from Lipinast Lekrisov
* Delphi-compatible ToString for TRttiType. Patch from Lipinast Lekrisov
* Introduce AsOrdinal. Patch by Lipinast Lekrisov
* Get method by address. Patch by Lipinast Lekrisov
* Correct TRttiOrdinalType.GetIsOrdinal. Patch from Lipinast Lekrisov
* Introduce IsClassProperty, Index and Default in TRttiProperty. Patch from Lipinast Lekrisov
* Fix compiler warnings and hints
* Introduce TRttiMethodType.GetMethodKind. Patch by Lipinast Lekrisov
* Read/Write static properties. Patch from Lipinast Lekrisov
* Invoke for record methods, refactoring method rtti by Lipinast Lekrisov
* Improvements to TValue.ToString by Lipinast Lekrisov
* Small improvement in setting method prop, by Lipinast Lekrisov
* Forgot to commit, main part of indexed properties implementation by Lipinast Lekrisov
* TValue.Asstring for double
* Small change in indexed property .ToString
* SMall optimization in TRttiInstanceMethod.GetParameters
* GetDataSize is 0 for empty TValue
* GetHasExtendedInfo returns false in TRttiMethod
* optimization of TRttiInstanceType.ResolveExtendedDeclaredProperties
* Extend error message SErrInvokeArgInvalidType
* Fixes after re-running test
* Order of parent/child methods is now same as in delphi documentation
* Correctly set FDeclaredProperties length
* 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)
- current Lazarus IDEs can handle generic methods, so no need for NoGenericMethods anymore
* Patch from Eric Grange to fix TRectF.FitInto
+ initial implementation of System.Rtti.Invoke() for WebAssembly. Currently
only works with the internal linker. Not all types have been tested, yet.
* proper handling for boolean results (especially Boolean64 and QWordBool) in System.Rtti.Invoke
* also handle enumeration results and integer result sizes, other than 32-bit in System.Rtti.Invoke for WebAssembly
Fix NaturalCompareText for string = unicodestring.
* Call correct newinstance when overridden. Fixes issue
gitlab 0041090
* Patch from Lipinast Lekrisov to get/set record-typed values. Fixes issue
gitlab 0041129
* Minimal TTimeZone class for Delphi compatibility
Try to solve compilation failure for msdos OS
* Various IsXYZ functions for TValue
* Add GetTypeName, GetPropName
* Patch from Eric Grange to correct TRectF.FitInto
* add TScoped for auto-destroying classes, based on an idea of Loïc Touraine
* Capitalize TScoped.Assign
* Make tscoped.assign the less expensive operation
Take into account the size of HexText TBytes open array before calling HexToBin overload with PAnsiChar first parameter
Add support for win16 target by introducing USE_WINDOWS_UNIT define, which is set for other Windows OSes
Use USE_WINDOWS_OLE_FUNCTIONS macro to avoid build failure for win16 OS target
Also use USE_WINDOWS_UNIT macro in rtti unit
* ported mechanism from unit activex to deal with ansi/unicode -> widestring conversion.
Targeted at bug
gitlab 0041235
Revert "* ported mechanism from unit activex to deal with ansi/unicode -> widestring conversion."
This reverts commit 1208f4d5b9a5157cf205c71d9244fb9bf41ad15d
* ported mechanism from unit activex to deal with ansi/unicode -> widestring conversion.
* 2nd attempt, now under $IFDEF MSWINDOWS
Set USE_MSWINDOWS_OLE macro on Windows OSes supporting OLE strings, and use it
* Patch from Lacak to add support for densely packed decimal64 format
* Fix EVariantTypeCastError for array with QWord values. Fixes issue
gitlab 0040287
* Better Min/MaxExtended values. Patch by Rika. Fixes issue
gitlab 0040026
Use the MemPos approach in IsWordPresent.
* add redundant trect.normalize as per delphi docs, copied from normalizerect
GetInt64Prop: return unsigned value for ULong
* Add format method for Delphi compatibility
* Some Delphi compatibility fixes
* TLocalTimeZone.FixDoGetOffsetsAndType
Fix TRttiContext thread safety.
Make use of the automatic TRttiContext management.
Fix compilation for target without threading feature
+ add implicit assignment operators from TDateTime, TDate and TTime to TValue so that the later will have the correct type information
+ add = and <> operators to TValue based on the existing SameValue()
* Allow to hook into QueryInterface for thunk objects
Fix a memory leak in the SetPropValue method for tkDynArray type properties.
Fix 1f3a013f8f1 for unix target, by using system.TTime (to avoid using TTime also defined in baseunix unit)
* refactor nested ifdefs by using if/elseif chain. No functional changes.
+ added explicit check for a nil function parameter in ConvUtils.RegisterConversionType, in order to fix the units/convutils/tconv1 test on the WASI platform
* Fix wrongly placed define
* adjust TMethodImplementation, TRttiMethod and TRttiInvokableType to use a function reference instead of a method or function variable
(the old types are still there, but deprecated as the compiler should be able to pass them to the new CreateImplementation() methods nevertheless)
+ add Delphi-compatible overload for TRttiInvokableType.CreateImplementation (at the same time also provides a more correct implementation of the TCallback one)
* first approach on better exception handling on hyperbolic harmonic functions, might need more fine-grained checking for good performance
* attempt to fix overflow handling in hyperbolic harmonic functions better, still not there I think
* also avoid overflow in tanh()
* avoid overflow for tanh() as well, was an oversight