Sven/Sarah Barth
|
430bcac389
* ensure that all hidden parameter symbols are removed when adding an anonymous function to a capturer (they'll be added again later on)
|
2 gadi atpakaļ |
Sven/Sarah Barth
|
5d7e3ca240
* fix #40060: ensure that Self is not added for anonymous functions that are part of a static class method
|
2 gadi atpakaļ |
Sven/Sarah Barth
|
4c6338207f
* fix #40061: the Self of types that aren't implicit pointers (recods, TP-style objects, primitive types (for helpers)) needs to be stored as a Pointer in the Capturer so that modifications are correctly visible
|
2 gadi atpakaļ |
Sven/Sarah Barth
|
b051e7667c
* fix #39978: ensure that Self is captured when a method of the current class is captured into a function reference
|
2 gadi atpakaļ |
Sven/Sarah Barth
|
19cee9b841
+ mark the def for a capturer class with a corresponding object option
|
2 gadi atpakaļ |
Sven/Sarah Barth
|
a714e2ff35
* fix #39981: retrieve the symbol that returns the desired procdef/procvardef not maybe the Self or something else as we need that symbol to differentiate the procdefs
|
2 gadi atpakaļ |
Sven/Sarah Barth
|
b11366c95b
* when generating the call to the extracted function reference inside the nested routine we need to use the parameters of the nested function and not those of the newly created procdef (fixes some of the test case failures with -O2)
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
965bba5ab4
* cleanup captured symbols when moving them from the nested function to the new method
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
4f9acc10f0
* fix #39898: when a loadnode is captured ensure that its nf_load_procvar flag is applied to the subscript node as well
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
5e7330448d
* fix #39858: correctly keep track of symbols that need to be captured into the capturer
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
260368ea55
* the clause for converting the captured symbols of a nested function must not be entered by an anonymous function
|
3 gadi atpakaļ |
florian
|
59811090e1
* captured variables cannot be in registers typically
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
8d90cd3e64
* fix #39826: correctly handle function references that are part of generics/specializations, but are not generics/specializations themselves
|
3 gadi atpakaļ |
florian
|
98ec81896e
* do not throw messages on potentially uninitialized internal symbols, resolves #39744
|
3 gadi atpakaļ |
Pierre Muller
|
430f1910ed
Fix compliation error with -Oodfa option as reported by Gareth
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
a27bc236a0
* fix #39742: when assigning a function to a function reference it's not the function itself that needs to be checked to be captureable, but instead what it captures (this applies for both the non-generic and the generic case)
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
3b7842c30e
* ensure that a nested function variable can not be assigned to a function reference
|
3 gadi atpakaļ |
Jonas Maebe
|
59f293711a
function references: make names of interface methods valid Pascal identifiers
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
29cfa3b225
* ensure that the VMT for the function reference interface is generated correctly, but for this the invokedef needs to be copied without hidden parameters (and handle_calling_convention will be done by the VMT builder as well)
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
dadc10658c
* set the correct symtable level for the invoke procdef
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
0c9b622a74
* fix compilation with DEBUG_NODE_XML defined
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
f73fc7d566
* fix #39736: ensure that the capturer object and any converted function reference interface are considered used
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
7974f39522
* implement assignment of procedure and method variables and routines (global, instance and nested) to function references
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
9aac622dc9
+ add necessary core functions and functionality to implement capturing of variables
|
3 gadi atpakaļ |
Sven/Sarah Barth
|
2ed2c21313
+ add support for parsing function references
|
3 gadi atpakaļ |
Pierre Muller
|
5acd7a7b83
Rename tsymtable.insert and delete methods to insertsym ands deletesym
|
3 gadi atpakaļ |
svenbarth
|
4da6465d05
* correctly set the generic related defoptions for an outlined procdef
|
5 gadi atpakaļ |
svenbarth
|
b1ee29c836
* fix for Mantis #30205: (adjusted) patch by Do-wan Kim to only use the default calling convention for exception handlers
|
6 gadi atpakaļ |
Jonas Maebe
|
91d5457b38
* moved around/replaced the following procedures to stop nflw from depending
|
6 gadi atpakaļ |