Commit Graph

51969 Commits

Author SHA1 Message Date
Mattias Gaertner
0088673d13 pastojs: @@ operator
git-svn-id: trunk@37111 -
2017-09-02 14:42:04 +00:00
Mattias Gaertner
fe6a82fd14 fcl-passrc: comment
git-svn-id: trunk@37110 -
2017-09-02 14:41:52 +00:00
svenbarth
2ae6292c44 * fix compilation after r37108
git-svn-id: trunk@37109 -
2017-09-02 14:39:32 +00:00
Mattias Gaertner
a9baac5a48 fcl-passrc: implemented @@ memory address operator in scanner, parser and resolver
git-svn-id: trunk@37108 -
2017-09-02 13:07:12 +00:00
michael
ada62f0b41 * Use correct paths for files when demo database is created on demand (Patch from Graeme Geldenhuys, Bug ID #32360)
git-svn-id: trunk@37107 -
2017-09-02 09:03:58 +00:00
michael
f40c23fcc8 * Demo database is created on demand (Patch from Graeme Geldenhuys, Bug ID #32360)
git-svn-id: trunk@37106 -
2017-09-02 09:03:18 +00:00
michael
10caba2bcc * Patch from Graeme Geldenhuys with some minor code formatting changes (Bug ID 32360)
git-svn-id: trunk@37105 -
2017-09-02 09:01:10 +00:00
michael
628b2e5717 * Demo database is created on demand
git-svn-id: trunk@37104 -
2017-09-02 09:00:32 +00:00
michael
0415de90e7 * Fix TPasWriter so it produces compileable output, add more constructs. Sample program to rewrite a source file
git-svn-id: trunk@37103 -
2017-09-01 21:21:53 +00:00
svenbarth
d8e0404e8f * use AddUnit() instead of Add()
git-svn-id: trunk@37102 -
2017-09-01 13:11:36 +00:00
svenbarth
135b5de410 + add function call manager based on libffi; currently only tested on x86_64-linux; all other targets need to be explicitely tested before being enabled
git-svn-id: trunk@37096 -
2017-08-31 21:18:49 +00:00
svenbarth
179b59753d + add optional, not by default enabled test for Invoke
git-svn-id: trunk@37095 -
2017-08-31 21:10:10 +00:00
svenbarth
236c2344a9 + add Invoke() function and functions to generate callback functions with a procedure or method variable
git-svn-id: trunk@37094 -
2017-08-31 21:07:32 +00:00
svenbarth
2471cd57b5 + add manager framework which provides implementations for invoking functions at runtime and generating function implementations
git-svn-id: trunk@37093 -
2017-08-31 21:05:03 +00:00
svenbarth
c6cd64a790 + add new methods AsUnicodeString and AsAnsiString which are internally used by AsString depending on the type of String
git-svn-id: trunk@37092 -
2017-08-31 20:26:52 +00:00
svenbarth
4fcd0391ae * use new SetSize field to simplify set handling in TValue
git-svn-id: trunk@37091 -
2017-08-31 20:23:52 +00:00
svenbarth
5c97248f85 + also write the set's size to the RTTI as that simplifies handling in Invoke()
git-svn-id: trunk@37090 -
2017-08-31 19:23:12 +00:00
svenbarth
1950e57899 * fix order in tinternaltypeprefix so that it fits internaltypeprefixName
git-svn-id: trunk@37089 -
2017-08-31 18:53:20 +00:00
Mattias Gaertner
e54f02048f pastojs: fixed tests
git-svn-id: trunk@37088 -
2017-08-31 13:18:04 +00:00
Mattias Gaertner
b5332501d7 fcl-passrc: scanner: fixed error message format to be fpc compatible
git-svn-id: trunk@37087 -
2017-08-31 13:17:48 +00:00
svenbarth
77dad75f3b * add libffi to packages fpmake
git-svn-id: trunk@37086 -
2017-08-30 19:30:32 +00:00
svenbarth
0553d94765 * generate Makefile after r37084
git-svn-id: trunk@37085 -
2017-08-30 19:29:44 +00:00
svenbarth
0140028d4e + add headers for the ffi library, the foreign function call library
git-svn-id: trunk@37084 -
2017-08-30 19:28:56 +00:00
svenbarth
7b675b6769 * correctly write the type of open array parameters as the element def and not the array def
+ added test that shows the linking error if not done so (otherwise that should already be covered by trtti15.pp)

git-svn-id: trunk@37083 -
2017-08-29 20:17:24 +00:00
svenbarth
ce958cacc4 + add and document a way to hide the generic methods from Lazarus' CodeTools as they don't support them yet
git-svn-id: trunk@37082 -
2017-08-29 18:38:24 +00:00
svenbarth
92caf587f5 + add generic function TValue.From<> which is a shorthand of TValue.Make()
git-svn-id: trunk@37081 -
2017-08-29 18:37:13 +00:00
svenbarth
83e4585b0f * correctly handle unit identifiers inside specializations of generic routines
git-svn-id: trunk@37080 -
2017-08-29 18:29:10 +00:00
blikblum
9ead4329c6 sqlite3ds: change ApplyUpdates to raise an exception if an error occurs
git-svn-id: trunk@37079 -
2017-08-27 19:44:06 +00:00
svenbarth
46de720c63 - since DataSize for method pointers works correctly remove the "?"-comment
git-svn-id: trunk@37078 -
2017-08-27 15:31:54 +00:00
svenbarth
4ff6c7bddf + add Delphi compatible exception types
git-svn-id: trunk@37077 -
2017-08-27 15:30:38 +00:00
svenbarth
fde056899d + add a TArray specialization for TValue as Lazarus does not yet handle inline specializations in parameter declarations gracefully
git-svn-id: trunk@37076 -
2017-08-27 15:29:57 +00:00
svenbarth
0b1b82bb2d * test reference of empty values of different types
git-svn-id: trunk@37075 -
2017-08-27 14:02:14 +00:00
svenbarth
a06ed3c929 * adjust handling of empty buffer as a valid reference is needed nevertheless
git-svn-id: trunk@37074 -
2017-08-27 14:01:36 +00:00
svenbarth
25d9c85a87 - remove debug output -.-
git-svn-id: trunk@37073 -
2017-08-27 13:30:06 +00:00
svenbarth
36451e271c * test for unassigned TypeInfo
git-svn-id: trunk@37072 -
2017-08-27 13:29:14 +00:00
svenbarth
93a65d3a78 * correctly handle the case of an unassigned TypeInfo
git-svn-id: trunk@37071 -
2017-08-27 13:28:49 +00:00
svenbarth
4de7b43a5c * enable tests of TTestMethod, TTestEnum and TTestSet now that they're public and Delphi doesn't complain anymore about them not having any runtime information...
git-svn-id: trunk@37070 -
2017-08-27 12:42:45 +00:00
svenbarth
60217d87a4 * implement handling of tkSet (which is a hybrid type regarding its storage)
git-svn-id: trunk@37069 -
2017-08-27 12:41:57 +00:00
svenbarth
820ba03ef0 * allow making a value of a enumeration
git-svn-id: trunk@37068 -
2017-08-27 12:41:14 +00:00
svenbarth
b1439c066a * share types to reduce unnecessary duplication
git-svn-id: trunk@37067 -
2017-08-27 11:59:34 +00:00
svenbarth
4dc6d1f8f6 * test for correct DataSize if value is empty
git-svn-id: trunk@37066 -
2017-08-27 11:47:39 +00:00
svenbarth
4ae1d65bad * GetDataSize also needs to return a valid size if the value is empty
git-svn-id: trunk@37065 -
2017-08-27 11:47:07 +00:00
svenbarth
621316c6dc * raw interfaces are not handled through IValueData so correctly return their size in GetDataSize
git-svn-id: trunk@37064 -
2017-08-27 11:46:15 +00:00
svenbarth
5f02c30eed * explicitely state which check failed
git-svn-id: trunk@37063 -
2017-08-27 11:42:59 +00:00
svenbarth
1dccc3469b * more correct cleaning of the variant part of TValueData in case a Pointer is larger or equal to QWord in size
git-svn-id: trunk@37062 -
2017-08-27 11:42:06 +00:00
svenbarth
ec7a17d1e3 * extend test for interface helper by tests for "inherited"
git-svn-id: trunk@37061 -
2017-08-25 19:37:44 +00:00
svenbarth
6acba684d4 * class helpers: fix calling virtual methods of the extended type using inherited
git-svn-id: trunk@37060 -
2017-08-25 19:36:56 +00:00
maciej-izak
597cf52a3a fcl-passrc: paswrite: allow to write procedure type
git-svn-id: trunk@37059 -
2017-08-25 12:01:36 +00:00
maciej-izak
2e37c05f23 fcl-passrc: pparser: "class var" is section, not single modifier
git-svn-id: trunk@37058 -
2017-08-25 08:19:55 +00:00
michael
6e308feb60 * Patch from Pascal Riekenberg to fix HasAggregate for functions
git-svn-id: trunk@37057 -
2017-08-25 07:54:07 +00:00