Sven/Sarah Barth
|
6299e94c8f
* set the type symbol of the procvar while it is parsed so that a function reference can have itself as part of the parameters or the return type
|
3 vuotta sitten |
Sven/Sarah Barth
|
06a00b53c3
* also handle function references when a generic one had been parsed
|
3 vuotta sitten |
Sven/Sarah Barth
|
b297199ab6
+ add a field to denote that a symbol (mainly local and parameter ones) was captured through another symbol
|
3 vuotta sitten |
Sven/Sarah Barth
|
ec96d4242a
* check hierarchy of the current generic or specialization def independant of whether it's a record- or objectdef
|
3 vuotta sitten |
Sven/Sarah Barth
|
f02fc4fe0f
* move checking for a def in the hierarchy to a separate nested function and use it to check the hierarchy of the current def being specialized as well
|
3 vuotta sitten |
Sven/Sarah Barth
|
5cf15be434
+ add a constructor for trecorddef to declare an internal record type as part of a specific other type
|
3 vuotta sitten |
Sven/Sarah Barth
|
92082ab28f
* correctly handle directives for anonymous functions
|
3 vuotta sitten |
Sven/Sarah Barth
|
e8b0fc88e3
* correctly handle directives for function references
|
3 vuotta sitten |
Sven/Sarah Barth
|
fd26453d5a
* name of result variable of anonymous functions can be changed (and must be in modes without modeswitch Result)
|
3 vuotta sitten |
Sven/Sarah Barth
|
7de854ef1e
+ add method register_implemented_interface to tobjectdef which registers an implemented interface and - if desired - also initializes the GUID related fields of the objectdef
|
3 vuotta sitten |
Sven/Sarah Barth
|
76d3a9c4b5
* generate a better name if the procdef is an anonymous one
|
3 vuotta sitten |
Sven/Sarah Barth
|
cdf676c9b5
* a function also captures other nested functions when these are called
|
3 vuotta sitten |
Sven/Sarah Barth
|
eaeb614887
+ provide a tsym based variant of ChangeOwnerAndName
|
3 vuotta sitten |
Sven/Sarah Barth
|
a7a0f47d98
* extract a symbol or def from its previous owner if that owner has OwnsObjects set to true
|
3 vuotta sitten |
Sven/Sarah Barth
|
088c746d45
* reset written source lines once a section is encountered
|
3 vuotta sitten |
Sven/Sarah Barth
|
6ac50f4100
+ add method ResetSourceLines to TExternalAssembler to reset already written lines
|
3 vuotta sitten |
Sven/Sarah Barth
|
1d4c28fb35
* regenerate msg{idx,txt}.inc after message change in last commit
|
3 vuotta sitten |
Sven/Sarah Barth
|
2be8f01efe
* implement assignment of anonymous functions to procedure or method variables if they either capture nothing or (in case of method variables) at most the Self variable
|
4 vuotta sitten |
Sven/Sarah Barth
|
17514ed5c0
* allow to ignore Self parameters; for this the parameter skipping needs to be repeated to correctly catch all cases
|
4 vuotta sitten |
Sven/Sarah Barth
|
8e2478e632
* check whether an anonymous function can be assigned to a global, method or nested function variable
|
4 vuotta sitten |
Sven/Sarah Barth
|
5129c2cb9a
* consider Self parameters of nested functions as captured as well
|
4 vuotta sitten |
Sven/Sarah Barth
|
d56a90e5ed
* keep track of symbols that are accessed from a nested/anonymous function that belong to a surrounding scope
|
4 vuotta sitten |
Sven/Sarah Barth
|
ddba001b65
* ensure that nested functions of main program, main program finalization and unit initialization/finalization are generated
|
4 vuotta sitten |
Sven/Sarah Barth
|
4dbdb4f0f1
+ initial support for anonymous functions, for now as essentially nested functions
|
4 vuotta sitten |
Sven/Sarah Barth
|
4e4d268963
+ add modeswitch for anonymous functions
|
4 vuotta sitten |
Sven/Sarah Barth
|
2cc621618a
* Delphi-mode calling without parenthesis
|
4 vuotta sitten |
Sven/Sarah Barth
|
c3736810ac
* if an interface is declared inherit the invokable flag from the parent interface
|
3 vuotta sitten |
Sven/Sarah Barth
|
2ed2c21313
+ add support for parsing function references
|
3 vuotta sitten |
Sven/Sarah Barth
|
7f3a5eb9ab
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
|
3 vuotta sitten |
Sven/Sarah Barth
|
90eabdd6b4
* ensure insert_self_and_vmt_para can deal with a preexisting self symbol as long as it has the expected type
|
3 vuotta sitten |