Description: rttiunit

This file as text.
(active) Revisions in this set:
b2932393df279c6856cb7fbc12a389fac3de060e,d137e06ade00a851a5370367243c11fcc79043ea,e060a43d70c9ce31b6134a5e374c907fc74706d4
de15025a4760b8abda8b57606c426d958c00c37a,7f8dc75604598da1d48340c5c46f471a5102e9f9,33f6adfab6658afd26b1738bfc9b7b69bb9890a7
9dcd897ce630bf5d3e9b94f9e47b5c9c26726db8,7bcdc2b37fb9f3e81657e2e06e5b56502b629fc2,f383cf4deb29c6ba3d89c830bd40fc1e6632e98c
f9567ff50e62cc7487455323ca5331745f270dd9,322d91758cf08e72cb41949a60a383e7dab69620,f1059679a17d87904455790fe16110cd51c1692f
caaed25f182e46f839ce4af7756f82bace100942,bf37616514079e814312ee72de65262d2b869194,f74a6abccfb416d7235a46258d28001320ff306e
12616f657973a62154454c10ddf1b1396b808ca1,2f23239ebd4719b743e8b7549e30639c9479faaf,52ed79c7f3e943129171327dda6d651d83649a35
7cde8df8c78c3e7f7af2758c53e57e2867680baa,8d7a1585d7c0e7c0873f6196288a6e5f8b78972d,3f78ba87a3e5435164cc6d300186e3a6569a4510
6e324989ebd805b8c5963bbf3f97df7c895b1e27,21f57606a6e99c3135dcabf9d7cd45c590d6248f,6bf7e4c0d3b2c300790ab5bf8f9fd7ee2d14fa1e
811fb284335d6abad7ada6559e717eae0cf57942,c7426a37ef17dc736fa542767a2c7406e201919b,d0fe59feda4b322ea698b48e5614f9e7d8814645
a9ff6272f6825c7df2ccc21cd0448211b04d565c,54b8de47f0b2792cf8888774524c98655ccdf6ee,3a5db26abf2ab5fbae9577928a42d78d122e0ae7
ca8d867d570f0a292fb8cb92e397926e34c9fac7,71a46465c8105ac3fa5f492d17ae73ac486b7060,9c5bfbeb780c296556b6317bdc517079c42e390a
3f7cd9b8076ef8bb0f9fb3a1892d2beb944ccbdb,2463faf5c0b3a23d04d188e3f925960d1534d46b,ef6612170cbdd9794c3dee1bc5b10c22af57b7ff
92479574779ec3820fce0a6067a7a2bb17493d45,bc2d1cf51c4222b7cb18c93e990436df877a56b1,083e85854444fda9a392a67536d25701081f481e
78c8ca57adc378a75621a9ea921917ab57eae898,e75d97815d19b2540a5311eb0ac8f734765abfee,e67cccee374935361230e26d45ce42a01a5bfb8d
52d3a0d5e3befa86118c9dd762381cb2d20fcdea,6e03b24701771b77c804e1ca774d61d05ac8136c,91756b9e3e658799db1f34de15bfc0bd6267af3a
e7184f3126fe185c4b96edc5d8506fc08e2a97c1,9f5a4205049c74cd503a2e921309acb80c6e5dc7,fafb2934260208b23ba6f7d0e3d21a68dab2c138
fac7c21b9b95ef254c27c365ddb218817da8c777,342d3338e50110e9f77574571e5fdac29330046b,93937f99ae6cc39b0e11d625aa9a1da05a5c6d67
3e098316fde811eaec9c9812f42a2dfd7f0015b0,92f937c40eb8ebad413e8819de0474306755a1a5,742158b678ba56230806c0c590c02602e528893c
d79c12ad5b7efafa4c8e8d7d3007d30b5794ca5a,b74411cf03d616201c8bd7a7370df77918d80735,f7bcabd9568c9c27b86b7e77fe6d01c1fc6f7d0e
2469fe8d700ebbfffa9d26b76f7c3607e9f2b15a,f70a430b6f170703190d7d53da1706b607eaf1b0,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
2e8b9e7e01ffbf180e5c0ac2a2a29d0e06b822a7,10e6a54b59b5d62dfe232c84a1b0159c6c73239c,b3d555c2584b513c07ec64abed99423fc5e4d41e
11076f084c5f4c2c536b07761c93b37c362cac83,a0a453f8903b9e9a261b5e6b74ae0b560301b4e4,f2d88692863dfe9896e5fd901a2cc5e58c12cb85
c19d76f9768754542ddcc3bb3732e34570359989,c856b5c5bfeceb0818ea8eef24f466503636b005,bf533ab2acbdd05e891682424d56057451c642cc
1f3a013f8f17b287f7662f7797717155ee8ad140,20022beca84f6e75339fb2013c01154692bae963,bd9caa2ab275c88abae8d2bf69794f849073009a
b50284466fede3f9f0ec06dc9b3adec9c5c097ff,22720790fab4269a087c95fe2c7c7e0eeb74e912,dbccf5e8444ac8d9631551d6ea91e19570b3f5ec
0fe6f3116cde738ca7d20aa96b9f5649a470e031,8e79959f0cef0bf5f4b462334fd21319d1814740,3889b7ddd0db6bc329f38977bb7f90e8a164e1d0
341a33f4ba05813a9298fd2b41d9bd7a30de8503,343bb0918773a7d102fa1cc83000ebe285aba2e1,b3e2705226752a1fd9c37e91ee47733f93d2a77e
68acdbedca677bbcaa36ad953e342030f2c3a1d6,5669fa1a193a47da5eb072cb103cfb7e29d414dc,681737fef900755938f5e528dc8312e9f3ccf2b1
52e38b7043288185fd0d2546bccbc5064fca71e9

Clicking a revision will expand files
 


Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]

Implemented attributes for class types and properties (based on work by Joost van der Sluis). Added TCustomAttribute - a base class for attributes. Added TUnitInfo record to RTTI. It contains the unit name and unit options (for now only a flag which specifies if the unit contains attributes). Added several tests for attributes.
Commit consists out of
  • M .gitattributes
  • M compiler/fmodule.pas
  • M compiler/globals.pas
  • M compiler/globtype.pas
  • M compiler/msg/errore.msg
  • M compiler/ncgrtti.pas
  • M compiler/ngenutil.pas
  • M compiler/pdecl.pas
  • M compiler/pdecobj.pas
  • M compiler/pmodules.pas
  • M compiler/psub.pas
  • M compiler/ptype.pas
  • M compiler/symconst.pas
  • M compiler/symcreat.pas
  • M compiler/symdef.pas
  • M compiler/symsym.pas
  • M compiler/symtable.pas
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • M rtl/objpas/typinfo.pp
  • A tests/test/tclassattribute1.pp
  • A tests/test/tclassattribute10.pp
  • A tests/test/tclassattribute2.pp
  • A tests/test/tclassattribute3.pp
  • A tests/test/tclassattribute4.pp
  • A tests/test/tclassattribute5.pp
  • A tests/test/tclassattribute6.pp
  • A tests/test/tclassattribute7.pp
  • A tests/test/tclassattribute8.pp
  • A tests/test/tclassattribute9.pp


* instead of embedding the attributes inside the class' and property's type data only store a reference to a table of attributes
Commit consists out of
  • M compiler/ncgrtti.pas
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M rtl/objpas/typinfo.pp


* rename TAttributeData to the more appropriate TAttributeTable
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M rtl/objpas/typinfo.pp
  • M tests/test/tcustomattr1.pp
  • M tests/test/tcustomattr10.pp
  • M tests/test/tcustomattr11.pp
  • M tests/test/tcustomattr4.pp
  • M tests/test/tcustomattr9.pp


* streamline retrieval of attributes (both in TypInfo and RTTI units)
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M rtl/objpas/typinfo.pp

Merge: fc46b6c57c 70a2b0b260

-- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«:
U compiler/i8086/008086int.inc
U compiler/i8086/008086nor.inc
U compiler/i8086/008086rni.inc
U compiler/i8086/008086std.inc
U compiler/i386/i386prop.inc
U compiler/i386/i386att.inc
U compiler/i386/i386atts.inc
U compiler/i386/i386int.inc
U compiler/i8086/i8086int.inc
U compiler/i8086/i8086op.inc
U compiler/i8086/008086dwrf.inc
U compiler/i8086/008086ari.inc
U compiler/i8086/008086con.inc
U compiler/i8086/008086nasm.inc
U compiler/i8086/008086num.inc
U compiler/i8086/008086stab.inc
U compiler/i386/i386nop.inc
U compiler/i386/i386op.inc
U compiler/i386/i386tab.inc
U compiler/i386/r386ot.inc
U compiler/i386/r386ari.inc
U compiler/i386/r386att.inc
U compiler/i386/r386con.inc
U compiler/i386/r386dwrf.inc
U compiler/i386/r386int.inc
U compiler/i386/r386iri.inc
U compiler/i386/r386nasm.inc
U compiler/i386/r386nor.inc
U compiler/i386/r386nri.inc
U compiler/i386/r386num.inc
U compiler/i386/r386rni.inc
U compiler/i386/r386sri.inc
U compiler/i386/r386stab.inc
U compiler/i386/r386std.inc
U compiler/i8086/i8086prop.inc
U compiler/i8086/i8086att.inc
U compiler/i8086/i8086atts.inc
U compiler/i8086/i8086nop.inc
U compiler/i8086/i8086tab.inc
U compiler/i8086/008086ot.inc
U compiler/i8086/008086att.inc
U compiler/i8086/008086iri.inc
U compiler/i8086/008086nri.inc
U compiler/i8086/008086sri.inc
U compiler/x86/agx86int.pas
U compiler/x86/rax86int.pas
U compiler/x86/aasmcpu.pas
U compiler/x86/rax86.pas
U compiler/x86/x86ins.dat
U compiler/x86/agx86att.pas
U compiler/x86/cpubase.pas
U packages/rtl-objpas/src/inc/rtti.pp
U packages/rtl-objpas/tests/tests.rtti.pas
U rtl
U compiler/x86_64/x8664att.inc
U compiler/x86_64/x8664tab.inc
U compiler/x86_64/008664con.inc
U compiler/x86_64/008664nasm.inc
U compiler/x86_64/008664sri.inc
U compiler/aasmtai.pas
U compiler/scanner.pas
U tests/utils/avx/readme.txt
U compiler/x86_64/x8664ats.inc
U compiler/x86_64/x8664op.inc
U compiler/x86_64/008664att.inc
U compiler/x86_64/008664iri.inc
U compiler/x86_64/008664rni.inc
U compiler/pp.lpi
U compiler/msgtxt.inc
U compiler/ppcx64.lpi
U compiler/x86_64/x8664pro.inc
U compiler/x86_64/x8664nop.inc
U compiler/x86_64/008664ari.inc
U compiler/x86_64/008664int.inc
U compiler/x86_64/008664num.inc
U compiler/x86_64/008664std.inc
U compiler/msgidx.inc
U compiler/utils/mkx86ins.pp
U compiler/x86/x86reg.dat
D compiler/x86/cx86innr.inc
U compiler/x86_64/x8664int.inc
U compiler/x86_64/008664ot.inc
U compiler/x86_64/008664dwrf.inc
U compiler/x86_64/008664nor.inc
U compiler/x86_64/008664stab.inc
U compiler/msg/errore.msg
U compiler/utils/mkx86reg.pp
U tests/utils/avx/asmtestgenerator.pas
U tests/utils/avx/options.pas
U tests/utils/avx/avxtestgenerator.pp
U tests/test/units/character/tissurrogatepair2.pp
U tests/test/units/character/tissurrogatepair.pp
U tests/utils/avx/avxopcodes.pas
U .
-- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«:
U .
U packages/rtl-objpas/src/inc/rtti.pp
U packages/rtl-objpas/tests/tests.rtti.pas
U rtl


* fix for Mantis 0035982: free created attributes once the type is freed
+ added test
Commit consists out of
  • M .gitattributes
  • M packages/rtl-objpas/src/inc/rtti.pp
  • A tests/webtbs/tw35982.pp


* fix for Mantis 0036196: free a property's attributes when the property is destroyed
+ added test
Commit consists out of
  • M .gitattributes
  • M packages/rtl-objpas/src/inc/rtti.pp
  • A tests/webtbs/tw36196.pp


* implement interface thunk for RISC V 32- and 64-bit
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* fix for Mantis 0038381: apply patch by Bi0T1N to add two Delphi compatible overloads for TValue.Make
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas


* TMethodImplementation.HandleCallback: fix building the argument array if the result is passed in a parameter
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


+ add Handle property to access the TypeInfo pointer of the TRttiType
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* move initialization of TValue to a separate method to avoid duplicate implementations
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


+ add Rtti types for static and dynamic arrays
+ added tests
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas


+ add TValue.FromArray to create a TValue type for a static or dynamic array from an array of TValues
+ added test
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas


* fixup
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* JSON-RPC using Invoke
Commit consists out of
  • A packages/fcl-web/examples/jsonrpc/rtti/README.md
  • A packages/fcl-web/examples/jsonrpc/rtti/demorpcrtti.lpr
  • A packages/fcl-web/examples/jsonrpc/rtti/dmrpc.lfm
  • A packages/fcl-web/examples/jsonrpc/rtti/dmrpc.pp
  • A packages/fcl-web/examples/jsonrpc/rtti/jsonrpcclient.pp
  • A packages/fcl-web/examples/jsonrpc/rtti/myapi.pp
  • A packages/fcl-web/examples/jsonrpc/rtti/rpcapi.pp
  • A packages/fcl-web/examples/jsonrpc/rtti/rpcclient.lpr
  • A packages/fcl-web/examples/jsonrpc/rtti/rttirpc.lpg
  • A packages/fcl-web/src/jsonrpc/fprpcclient.pp
  • A packages/fcl-web/src/jsonrpc/fprpcrtti.pp


* Move resourcestrings to single unit
Commit consists out of
  • M packages/fcl-web/fpmake.pp
  • M packages/fcl-web/src/jsonrpc/fpextdirect.pp
  • M packages/fcl-web/src/jsonrpc/fpjsonrpc.pp
  • M packages/fcl-web/src/jsonrpc/fprpcclient.pp
  • M packages/fcl-web/src/jsonrpc/fprpcrtti.pp
  • A packages/fcl-web/src/jsonrpc/fprpcstrings.pp
  • M packages/fcl-web/src/jsonrpc/webjsonrpc.pp


* fix gitlab 0039506: add assignment operator overloads for all string types so that assignments of constant strings can be handled correctly
+ added adjusted/extended test (the test isn't enabled by default however as it requires libffi on most platforms)
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • A tests/webtbs/tw39506.pp


Add loongarch64 packages support
Commit consists out of
  • M packages/fcl-res/src/elfconsts.pp
  • M packages/fcl-res/src/elfreader.pp
  • M packages/fcl-res/src/elfsubwriter.inc
  • M packages/fcl-res/src/elfwriter.pp
  • M packages/fpmkunit/src/fpmkunit.pp
  • M packages/gtk2/src/glib/glib2.pas
  • M packages/ide/fpmake.pp
  • M packages/libffi/src/ffi.pp
  • M packages/rtl-extra/src/linux/unixsock.inc
  • M packages/rtl-extra/src/unix/ipc.pp
  • M packages/rtl-generics/src/generics.hashes.pas
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M utils/fpcres/fpcres.pas
  • M utils/fpcres/target.pas


* Dotted filenames for package fcl-json
Commit consists out of
  • A packages/fcl-json/namespaced/FpJson.Apply.pp
  • A packages/fcl-json/namespaced/FpJson.Conf.pp
  • A packages/fcl-json/namespaced/FpJson.Data.pp
  • A packages/fcl-json/namespaced/FpJson.Fpjson.pp
  • A packages/fcl-json/namespaced/FpJson.Ini.pp
  • A packages/fcl-json/namespaced/FpJson.Json2Yaml.pp
  • A packages/fcl-json/namespaced/FpJson.Parser.pp
  • A packages/fcl-json/namespaced/FpJson.Reader.pp
  • A packages/fcl-json/namespaced/FpJson.Rtti.pp
  • A packages/fcl-json/namespaced/FpJson.Scanner.pp
  • A packages/fcl-json/namespaced/FpJson.ToPas.pp
  • A packages/fcl-json/namespaced/FpJson.Value.pp
  • A packages/fcl-json/namespaces.lst
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/fpjsonapply.pp
  • M packages/fcl-json/src/fpjsonrtti.pp
  • M packages/fcl-json/src/fpjsontopas.pp
  • M packages/fcl-json/src/fpjsonvalue.pp
  • M packages/fcl-json/src/json2yaml.pp
  • M packages/fcl-json/src/jsonconf.pp
  • M packages/fcl-json/src/jsonfpcunit.pp
  • M packages/fcl-json/src/jsonini.pp
  • M packages/fcl-json/src/jsonparser.pp
  • M packages/fcl-json/src/jsonreader.pp
  • M packages/fcl-json/src/jsonscanner.pp


* Dotted filenames for package fcl-web
Commit consists out of
  • M packages/fcl-web/fpmake.pp
  • A packages/fcl-web/namespaced/FpWeb.Base.pp
  • A packages/fcl-web/namespaced/FpWeb.Cgi.Protocol.pp
  • A packages/fcl-web/namespaced/FpWeb.Client.Http.pp
  • A packages/fcl-web/namespaced/FpWeb.Client.pp
  • A packages/fcl-web/namespaced/FpWeb.Data.Base.pp
  • A packages/fcl-web/namespaced/FpWeb.Data.Extjs.Base.pp
  • A packages/fcl-web/namespaced/FpWeb.Data.Extjs.Json.pp
  • A packages/fcl-web/namespaced/FpWeb.Data.Extjs.Xml.pp
  • A packages/fcl-web/namespaced/FpWeb.Data.SqlDb.pp
  • A packages/fcl-web/namespaced/FpWeb.DatasetForm.pp
  • A packages/fcl-web/namespaced/FpWeb.FcgiGate.pp
  • A packages/fcl-web/namespaced/FpWeb.Handler.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Apache.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Apache24.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Cgi.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Custom.Apache.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Custom.Apache24.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Custom.Cgi.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Custom.Fcgi.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Custom.HttpApp.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Custom.HttpSys.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Custom.MicroHttpApp.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.EzCgi.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.Fcgi.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.HttpApp.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.HttpSys.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.MicroHttpApp.pp
  • A packages/fcl-web/namespaced/FpWeb.HostApp.SimpleCgi.pp
  • A packages/fcl-web/namespaced/FpWeb.Html.pp
  • A packages/fcl-web/namespaced/FpWeb.Http.Base.pp
  • A packages/fcl-web/namespaced/FpWeb.Http.Client.ASyncPool.pas
  • A packages/fcl-web/namespaced/FpWeb.Http.Client.Pool.pas
  • A packages/fcl-web/namespaced/FpWeb.Http.Client.pp
  • A packages/fcl-web/namespaced/FpWeb.Http.Defs.pp
  • A packages/fcl-web/namespaced/FpWeb.Http.Json.pp
  • A packages/fcl-web/namespaced/FpWeb.Http.Protocol.pp
  • A packages/fcl-web/namespaced/FpWeb.Http.Server.pp
  • A packages/fcl-web/namespaced/FpWeb.Http.Status.pas
  • A packages/fcl-web/namespaced/FpWeb.JsonRpc.Base.pp
  • A packages/fcl-web/namespaced/FpWeb.JsonRpc.Client.pp
  • A packages/fcl-web/namespaced/FpWeb.JsonRpc.Codegen.pp
  • A packages/fcl-web/namespaced/FpWeb.JsonRpc.DispExtDirect.pp
  • A packages/fcl-web/namespaced/FpWeb.JsonRpc.ExtDirect.pp
  • A packages/fcl-web/namespaced/FpWeb.JsonRpc.Rtti.pp
  • A packages/fcl-web/namespaced/FpWeb.JsonRpc.Strings.pp
  • A packages/fcl-web/namespaced/FpWeb.JsonRpc.Web.pp
  • A packages/fcl-web/namespaced/FpWeb.MimeTypes.pp
  • A packages/fcl-web/namespaced/FpWeb.Modules.Files.pp
  • A packages/fcl-web/namespaced/FpWeb.Modules.Proxy.pp
  • A packages/fcl-web/namespaced/FpWeb.Rest.Base.pp
  • A packages/fcl-web/namespaced/FpWeb.Rest.Codegen.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Ado.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Auth.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Authini.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Bridge.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Cds.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Consts.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Csv.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Data.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.IO.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Ini.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Json.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Module.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Schema.pp
  • A packages/fcl-web/namespaced/FpWeb.RestBridge.Xml.pp
  • A packages/fcl-web/namespaced/FpWeb.Route.pp
  • A packages/fcl-web/namespaced/FpWeb.Session.Ini.pp
  • A packages/fcl-web/namespaced/FpWeb.Session.pp
  • A packages/fcl-web/namespaced/FpWeb.Tests.Module.pp
  • A packages/fcl-web/namespaced/FpWeb.Uhpack.pp
  • A packages/fcl-web/namespaced/FpWeb.UhpackImp.pp
  • A packages/fcl-web/namespaced/FpWeb.UhpackTables.pp
  • A packages/fcl-web/namespaced/FpWeb.Utils.pp
  • A packages/fcl-web/namespaced/FpWeb.WebPage.pp
  • A packages/fcl-web/namespaced/FpWeb.WebSocket.Client.pp
  • A packages/fcl-web/namespaced/FpWeb.WebSocket.Custom.Server.pp
  • A packages/fcl-web/namespaced/FpWeb.WebSocket.Protocol.pp
  • A packages/fcl-web/namespaced/FpWeb.WebSocket.Server.pp
  • A packages/fcl-web/namespaced/FpWeb.WebSocket.Upgrader.pp
  • A packages/fcl-web/namespaced/Jwt.Jwa.Es256.pp
  • A packages/fcl-web/namespaced/Jwt.Jwa.Rsa.pp
  • A packages/fcl-web/namespaced/Jwt.Jwa.Sha256.pp
  • A packages/fcl-web/namespaced/Jwt.Jwa.Sha384.pp
  • A packages/fcl-web/namespaced/Jwt.Jwa.Sha512.pp
  • A packages/fcl-web/namespaced/Jwt.Oauth2.Ini.pp
  • A packages/fcl-web/namespaced/Jwt.Oauth2.pp
  • A packages/fcl-web/namespaced/Jwt.Types.pp
  • A packages/fcl-web/namespaces.lst
  • M packages/fcl-web/src/base/cgiapp.pp
  • M packages/fcl-web/src/base/cgiprotocol.pp
  • M packages/fcl-web/src/base/custapache.pp
  • M packages/fcl-web/src/base/custapache24.pp
  • M packages/fcl-web/src/base/custcgi.pp
  • M packages/fcl-web/src/base/custfcgi.pp
  • M packages/fcl-web/src/base/custhttpapp.pp
  • M packages/fcl-web/src/base/custhttpsys.pp
  • M packages/fcl-web/src/base/custmicrohttpapp.pp
  • M packages/fcl-web/src/base/custweb.pp
  • M packages/fcl-web/src/base/ezcgi.pp
  • M packages/fcl-web/src/base/fcgigate.pp
  • M packages/fcl-web/src/base/fpapache.pp
  • M packages/fcl-web/src/base/fpapache24.pp
  • M packages/fcl-web/src/base/fpcgi.pp
  • M packages/fcl-web/src/base/fpdatasetform.pp
  • M packages/fcl-web/src/base/fpfcgi.pp
  • M packages/fcl-web/src/base/fphtml.pp
  • M packages/fcl-web/src/base/fphttp.pp
  • M packages/fcl-web/src/base/fphttpapp.pp
  • M packages/fcl-web/src/base/fphttpclient.pp
  • M packages/fcl-web/src/base/fphttpclientasyncpool.pas
  • M packages/fcl-web/src/base/fphttpclientpool.pas
  • M packages/fcl-web/src/base/fphttpserver.pp
  • M packages/fcl-web/src/base/fphttpstatus.pas
  • M packages/fcl-web/src/base/fphttpsys.pp
  • M packages/fcl-web/src/base/fphttpwebclient.pp
  • M packages/fcl-web/src/base/fpmimetypes.pp
  • M packages/fcl-web/src/base/fpweb.pp
  • M packages/fcl-web/src/base/fpwebclient.pp
  • M packages/fcl-web/src/base/fpwebfile.pp
  • M packages/fcl-web/src/base/fpwebproxy.pp
  • M packages/fcl-web/src/base/httpdefs.pp
  • M packages/fcl-web/src/base/httpjson.pp
  • M packages/fcl-web/src/base/httpprotocol.pp
  • M packages/fcl-web/src/base/httproute.pp
  • M packages/fcl-web/src/base/iniwebsession.pp
  • M packages/fcl-web/src/base/microhttpapp.pp
  • M packages/fcl-web/src/base/restbase.pp
  • M packages/fcl-web/src/base/restcodegen.pp
  • M packages/fcl-web/src/base/tcwebmodule.pp
  • M packages/fcl-web/src/base/webpage.pp
  • M packages/fcl-web/src/base/websession.pp
  • M packages/fcl-web/src/base/webutil.pp
  • M packages/fcl-web/src/hpack/uhpack.pp
  • M packages/fcl-web/src/hpack/uhpackimp.pp
  • M packages/fcl-web/src/hpack/uhpacktables.pp
  • M packages/fcl-web/src/jsonrpc/fpdispextdirect.pp
  • M packages/fcl-web/src/jsonrpc/fpextdirect.pp
  • M packages/fcl-web/src/jsonrpc/fpjsonrpc.pp
  • M packages/fcl-web/src/jsonrpc/fprpcclient.pp
  • M packages/fcl-web/src/jsonrpc/fprpccodegen.pp
  • M packages/fcl-web/src/jsonrpc/fprpcrtti.pp
  • M packages/fcl-web/src/jsonrpc/fprpcstrings.pp
  • M packages/fcl-web/src/jsonrpc/webjsonrpc.pp
  • M packages/fcl-web/src/jwt/fpjwaes256.pp
  • M packages/fcl-web/src/jwt/fpjwarsa.pp
  • M packages/fcl-web/src/jwt/fpjwasha256.pp
  • M packages/fcl-web/src/jwt/fpjwasha384.pp
  • M packages/fcl-web/src/jwt/fpjwasha512.pp
  • M packages/fcl-web/src/jwt/fpjwt.pp
  • M packages/fcl-web/src/jwt/fpoauth2.pp
  • M packages/fcl-web/src/jwt/fpoauth2ini.pp
  • M packages/fcl-web/src/restbridge/sqldbrestado.pp
  • M packages/fcl-web/src/restbridge/sqldbrestauth.pp
  • M packages/fcl-web/src/restbridge/sqldbrestauthini.pp
  • M packages/fcl-web/src/restbridge/sqldbrestbridge.pp
  • M packages/fcl-web/src/restbridge/sqldbrestcds.pp
  • M packages/fcl-web/src/restbridge/sqldbrestconst.pp
  • M packages/fcl-web/src/restbridge/sqldbrestcsv.pp
  • M packages/fcl-web/src/restbridge/sqldbrestdata.pp
  • M packages/fcl-web/src/restbridge/sqldbrestini.pp
  • M packages/fcl-web/src/restbridge/sqldbrestio.pp
  • M packages/fcl-web/src/restbridge/sqldbrestjson.pp
  • M packages/fcl-web/src/restbridge/sqldbrestmodule.pp
  • M packages/fcl-web/src/restbridge/sqldbrestschema.pp
  • M packages/fcl-web/src/restbridge/sqldbrestxml.pp
  • M packages/fcl-web/src/webdata/extjsjson.pp
  • M packages/fcl-web/src/webdata/extjsxml.pp
  • M packages/fcl-web/src/webdata/fpextjs.pp
  • M packages/fcl-web/src/webdata/fpwebdata.pp
  • M packages/fcl-web/src/webdata/sqldbwebdata.pp
  • M packages/fcl-web/src/websocket/fpcustwsserver.pp
  • M packages/fcl-web/src/websocket/fpwebsocket.pp
  • M packages/fcl-web/src/websocket/fpwebsocketclient.pp
  • M packages/fcl-web/src/websocket/fpwebsocketserver.pp
  • M packages/fcl-web/src/websocket/wsupgrader.pp


* Delphi compatibility: Add conversion between TValue from/to variant and TVarRec
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/testrunner.rtlobjpas.pp
  • A packages/rtl-objpas/tests/tests.value.pas


* GetAttribute call
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas
  • M packages/rtl-objpas/tests/tests.rtti.types.pas


* use the VWideChar field to retrieve the WideChar value instead of VChar to fix usage on big endian systems
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* correctly retrieve the type of the Variant
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* (Try)Cast
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


--amend
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Add IsInstanceOf
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Make IInterface methods virtual, as in Delphi
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Add TRttiEnumerationType for Delphi compatibility
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Get extended methods, fields and property info.
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/testrunner.rtlobjpas.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas
  • M packages/rtl-objpas/tests/tests.rtti.types.pas


Fix msdos compilation failure by using CodePointer type for GetCodeAddress TRttiRecordMethod function
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Return delphi-compatible output for TValue.ToString when empty
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Get Field Attributes + tests
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/testrunner.rtlobjpas.lpi
  • M packages/rtl-objpas/tests/testrunner.rtlobjpas.pp
  • A packages/rtl-objpas/tests/tests.rtti.attrtypes.pas
  • M packages/rtl-objpas/tests/tests.rtti.pas
  • M packages/rtl-objpas/tests/tests.rtti.types.pas


* Implement TRttiField.(G|S)etValue
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Implement GetCodeAddress for TRttiInstanceMethod
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Fix memory leaks
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Remove additional memleak
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Fix duplicate registration of existing RTTI
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Fix ref count of interface during cast
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Synchronize Method/Field treatment. Correct parent for fields
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas
  • M packages/rtl-objpas/tests/tests.rtti.types.pas


* Complete erroneously partial commit
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Allow to call constructor using Invoke()
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.invoke.pas
  • M packages/rtl-objpas/tests/tests.rtti.invoketypes.pas


* Remove debug statement
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Attributes for methods
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Properly pass on FUsePublishedOnly to properties. Fixes issue gitlab 0040702
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Allow ToString for object value
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Fixed DeclaredFields for record, should be the same as fields
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Small correction in property resolve
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Correctly pass UsePublishedOnly on to sub-contexts. Fixes issue gitlab 0040828
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • A tests/webtbs/tw40828.pp


* Fix bug with nameIndex
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Handle tkFloat in TValue.ToString
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Implement DropContext/KeepContext for Delphi compatibility. Patch by Artem Izmaylov. Fixes issue gitlab 0040884
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* recordrtti needs to override getmethods. Fixes issue gitlab 0040951
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Add GetMethod(name), patch by Lipinast Lekrisov, fixes issue gitlab 0040953
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Patch from Lipinast Lekrisov to implement setting method-type properties. Fixes issue gitlab 0040970
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


Added TRttiIndexedProperty, the whole property handling infrastructure has been significantly redesigned
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M rtl/objpas/typinfo.pp


Fixed TRttiRecordType.ResolveProperties (records do not have a published section)
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* fix compilation on systems where SizeOf(CodePointer) <> SizeOf(Pointer): disable ToString for tkMethod on these systems for now
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Patch from Евгений Савин to fix missing ansistring conversion in TryCast. Fixes issue gitlab 0041002
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Patch from Евгений Савин to implement TValue.Cast for floats. Fixes issue gitlab 0041011
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • A tests/webtbs/tw41011.pp


* Fix comp errors. Patch by Евгений Савин. Fixes issue gitlab 0041016
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Delphi-compatible output for tvalue.asstring for float value. Fixes issue gitlab 0041027
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Fix TValue casts, patch by Евгений Савин, fixes issue gitlab 0041030
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.invoke.pas
  • M packages/rtl-objpas/tests/tests.rtti.invoketypes.pas
  • M packages/rtl-objpas/tests/tests.rtti.value.pas
  • A tests/webtbs/tw41030.pp


* Add IsType with aEmptyAsAnyType param
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Patch from Евгений Савин to fix TValue.From. Fixes issue gitlab 0041013
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.value.pas


* correct TValue.Cast, patch by Евгений Савин. Fixes issue gitlab 0041042
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.value.pas


* Add overload, needed when specializing in Delphi mode
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Allow assign of pointer to TValue. Patch by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.value.pas


* Introduce AsRecord. Patch by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Allow to cast pointer TValue to class pointer. Patch from Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* TValue.From with buffer and typeinfo. Patch from Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Delphi-compatible ToString for TRttiType. Patch from Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Introduce AsOrdinal. Patch by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Get method by address. Patch by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas


* Correct TRttiOrdinalType.GetIsOrdinal. Patch from Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Introduce IsClassProperty, Index and Default in TRttiProperty. Patch from Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Fix compiler warnings and hints
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Introduce TRttiMethodType.GetMethodKind. Patch by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Read/Write static properties. Patch from Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/testrunner.rtlobjpas.lpi
  • M packages/rtl-objpas/tests/testrunner.rtlobjpas.pp
  • A packages/rtl-objpas/tests/tests.rtti.attrtypes2.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas


* Invoke for record methods, refactoring method rtti by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.attrtypes2.pp
  • M packages/rtl-objpas/tests/tests.rtti.invoke.pas


* Improvements to TValue.ToString by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Small improvement in setting method prop, by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Forgot to commit, main part of indexed properties implementation by Lipinast Lekrisov
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* TValue.Asstring for double
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Small change in indexed property .ToString
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* SMall optimization in TRttiInstanceMethod.GetParameters
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* GetDataSize is 0 for empty TValue
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* GetHasExtendedInfo returns false in TRttiMethod
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* optimization of TRttiInstanceType.ResolveExtendedDeclaredProperties
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Extend error message SErrInvokeArgInvalidType
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Fixes after re-running test
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.value.pas


* Order of parent/child methods is now same as in delphi documentation
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.pas


* Correctly set FDeclaredProperties length
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* 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)
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


- current Lazarus IDEs can handle generic methods, so no need for NoGenericMethods anymore
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


+ initial implementation of System.Rtti.Invoke() for WebAssembly. Currently
only works with the internal linker. Not all types have been tested, yet.
Commit consists out of
  • M packages/rtl-objpas/fpmake.pp
  • M packages/rtl-objpas/src/inc/rtti.pp
  • A packages/rtl-objpas/src/wasm32/invoke.inc


* Call correct newinstance when overridden. Fixes issue gitlab 0041090
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/testrunner.rtlobjpas.lpi
  • M packages/rtl-objpas/tests/tests.rtti.invoke.pas
  • M packages/rtl-objpas/tests/tests.rtti.invoketypes.pas


* Patch from Lipinast Lekrisov to get/set record-typed values. Fixes issue gitlab 0041129
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/testrunner.rtlobjpas.lpi
  • M packages/rtl-objpas/tests/tests.rtti.pas
  • M packages/rtl-objpas/tests/tests.rtti.types.pas


Try to solve compilation failure for msdos OS
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Various IsXYZ functions for TValue
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


Also use USE_WINDOWS_UNIT macro in rtti unit
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


Fix TRttiContext thread safety.
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


Make use of the automatic TRttiContext management.
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


Fix compilation for target without threading feature
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


+ add implicit assignment operators from TDateTime, TDate and TTime to TValue so that the later will have the correct type information
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/tests/tests.rtti.value.pas


+ add = and <> operators to TValue based on the existing SameValue()
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Allow to hook into QueryInterface for thunk objects
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


Fix 1f3a013f8f1 for unix target, by using system.TTime (to avoid using TTime also defined in baseunix unit)
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Fix wrongly placed define
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* 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)
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


+ add Delphi-compatible overload for TRttiInvokableType.CreateImplementation (at the same time also provides a more correct implementation of the TCallback one)
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* TValue.AsChar needs to return Char, not AnsiChar
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* readd adjusted comment regarding InLazIDE which can still have its use
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* CodeTools does not yet like the "deprecated" for method pointers so protect them with InLazIDE
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* handle tkAString, not tkLString as the former is for AnsiString while the later is for the not fully implemented ShortString-like LongString type
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


Update repository
Commit consists out of
  • M Makefile
  • M packages/fcl-md/demo/README.md
  • M packages/fcl-md/demo/demomd.lpi
  • M packages/fcl-md/demo/demomd.lpr
  • A packages/fcl-md/demo/md2latex.lpi
  • A packages/fcl-md/demo/md2latex.lpr
  • M packages/fcl-md/fpmake.pp
  • M packages/fcl-md/src/markdown.htmlrender.pas
  • A packages/fcl-md/src/markdown.latexrender.pas
  • M packages/fcl-md/src/markdown.parser.pas
  • M packages/fcl-md/tests/testmd.lpi
  • M packages/fcl-md/tests/testmd.lpr
  • A packages/fcl-md/tests/utest.markdown.latexrender.pas
  • M packages/fpmake.pp
  • M packages/rtl-objpas/src/inc/cvarutil.inc
  • M packages/rtl-objpas/src/inc/dateutil.inc
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M packages/rtl-objpas/src/inc/variants.pp
  • M packages/rtl-objpas/src/inc/varutilh.inc
  • M packages/rtl-objpas/src/inc/varutils.inc
  • M packages/rtl-objpas/tests/tests.rtti.value.pas
  • M rtl/Makefile
  • M rtl/bsd/system.pp
  • M rtl/freebsd/Makefile
  • M rtl/freebsd/Makefile.fpc
  • M rtl/freebsd/powerpc64/cprt0.as
  • M rtl/inc/generic.inc
  • M rtl/unix/classes.pp
  • M utils/fpcm/fpcmmain.pp


* CamelCase unit names. Generates nicer documentation
Commit consists out of
  • M packages/fcl-base/src/ascii85.pp
  • M packages/fcl-base/src/base64.pp
  • M packages/fcl-base/src/bufstream.pp
  • M packages/fcl-base/src/chainstream.pp
  • M packages/fcl-base/src/csvdocument.pp
  • M packages/fcl-base/src/csvreadwrite.pp
  • M packages/fcl-base/src/dirwatch.pp
  • M packages/fcl-base/src/eventlog.pp
  • M packages/fcl-base/src/fpexprpars.pp
  • M packages/fcl-base/src/fpobserver.pp
  • M packages/fcl-base/src/fpthreadpool.pp
  • M packages/fcl-base/src/fptimer.pp
  • M packages/fcl-base/src/gettext.pp
  • M packages/fcl-base/src/idea.pp
  • M packages/fcl-base/src/inicol.pp
  • M packages/fcl-base/src/iostream.pp
  • M packages/fcl-base/src/nullstream.pp
  • M packages/fcl-base/src/pascodegen.pp
  • M packages/fcl-base/src/pooledmm.pp
  • M packages/fcl-base/src/singleinstance.pp
  • M packages/fcl-base/src/streamcoll.pp
  • M packages/fcl-base/src/streamex.pp
  • M packages/fcl-base/src/syncobjs.pp
  • M packages/fcl-base/src/wformat.pp
  • M packages/fcl-base/src/whtml.pp
  • M packages/fcl-base/src/wmarkdown.pp
  • M packages/fcl-base/src/wtex.pp
  • M packages/fcl-base/src/wtext.pp
  • M packages/fcl-db/src/memds/memds.pp
  • M packages/fcl-extra/src/daemonapp.pp
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/fpjsonapply.pp
  • M packages/fcl-json/src/fpjsonrtti.pp
  • M packages/fcl-json/src/fpjsontopas.pp
  • M packages/fcl-json/src/fpjsonvalue.pp
  • M packages/fcl-json/src/json2yaml.pp
  • M packages/fcl-json/src/jsoncomparer.pp
  • M packages/fcl-json/src/jsonconf.pp
  • M packages/fcl-json/src/jsonfpcunit.pp
  • M packages/fcl-json/src/jsonini.pp
  • M packages/fcl-json/src/jsonparser.pp
  • M packages/fcl-json/src/jsonreader.pp
  • M packages/fcl-json/src/jsonscanner.pp
  • M packages/fcl-json/src/jsonwriter.pp
  • M packages/fcl-process/src/dbugintf.pp
  • M packages/fcl-process/src/dbugmsg.pp
  • M packages/fcl-process/src/process.pp
  • M packages/fcl-process/src/simpleipc.pp
  • M packages/fcl-web/src/base/custweb.pp
  • M packages/libtar/src/libtar.pp


* Open array also needs arg name. Fixes issue gitlab 0038934
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Some thread-safety fixes, fixes issue gitlab 0037302
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp


* Automatically detect use of Extended RTTI. Fixes issue gitlab 0041089
Commit consists out of
  • M packages/rtl-objpas/src/inc/rtti.pp
  • M rtl/inc/objpash.inc

(inactive) Revisions in this set 940016034c369bf8f20ac2cdd8b4d57bd0ff7a77,38776ca494b22f518de94226143d1505e8df4a55,3539b5710b3ed08d6329f97b786dea617bfd5b95


* PChar -> PAnsiChar
Commit consists out of
  • M packages/fcl-json/examples/simpledemo.pp
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/fpjsonrtti.pp
  • M packages/fcl-json/src/jsonreader.pp
  • M packages/fcl-json/src/jsonscanner.pp
  • M packages/fcl-json/tests/testjson.lpi
  • M packages/fcl-json/tests/testjsondata.pas
  • M packages/fcl-json/tests/testjsonparser.pas
  • M packages/fcl-json/tests/testjsonrtti.pas


* Use const string arguments where possible. Fixes issue 0040441
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/fpjsonapply.pp
  • M packages/fcl-json/src/fpjsonrtti.pp


* Fix issue 0040835
Commit consists out of
  • M packages/fcl-json/src/fpjsonrtti.pp
  • M packages/fcl-json/tests/testcomps.pas
  • M packages/fcl-json/tests/testjson.lpi
  • M packages/fcl-json/tests/testjsonrtti.pas