Sven/Sarah Barth
|
d56a90e5ed
* keep track of symbols that are accessed from a nested/anonymous function that belong to a surrounding scope
|
4 years ago |
Sven/Sarah Barth
|
ddba001b65
* ensure that nested functions of main program, main program finalization and unit initialization/finalization are generated
|
4 years ago |
Sven/Sarah Barth
|
4dbdb4f0f1
+ initial support for anonymous functions, for now as essentially nested functions
|
4 years ago |
Sven/Sarah Barth
|
4e4d268963
+ add modeswitch for anonymous functions
|
4 years ago |
Sven/Sarah Barth
|
2cc621618a
* Delphi-mode calling without parenthesis
|
4 years ago |
Sven/Sarah Barth
|
c3736810ac
* if an interface is declared inherit the invokable flag from the parent interface
|
3 years ago |
Sven/Sarah Barth
|
2ed2c21313
+ add support for parsing function references
|
3 years ago |
Sven/Sarah Barth
|
7f3a5eb9ab
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
|
3 years ago |
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 years ago |
Sven/Sarah Barth
|
39f5534969
* adjust handle_calling_convention so that it can be used with both proc(var)defs and invokables
|
3 years ago |
Sven/Sarah Barth
|
c92e290d67
* extend parse_proctype_directives to handle proc(var)defs as well as invokables
|
3 years ago |
Sven/Sarah Barth
|
bb637fa389
* adjust parse_proctype_directives so that it can handle a function reference as well
|
3 years ago |
Sven/Sarah Barth
|
a20bfc0753
+ add utility function to check whether an invokable can be invoked without explicit parameters
|
3 years ago |
Sven/Sarah Barth
|
22bbcf4b27
+ add utility function to retrieve the invoke procdef of a function reference interface
|
3 years ago |
Sven/Sarah Barth
|
833a971877
+ add utility function to check whether an objectdef is an invokable one
|
3 years ago |
Sven/Sarah Barth
|
f0748ad59b
+ add flag to denote that an objectdef is invokable, thus can be used like a function variable
|
3 years ago |
Sven/Sarah Barth
|
122c6c92cb
+ add function to check whether a def is an invokable function reference
|
4 years ago |
Sven/Sarah Barth
|
b28495a423
+ add flag to denote an object def as a function reference
|
3 years ago |
Sven/Sarah Barth
|
ec02d0abb0
+ add constants for the Invoke symbol of a function reference interface (both for declaring and finding it)
|
3 years ago |
Sven/Sarah Barth
|
2912e38e91
+ add modeswitch for anonymous function and function references
|
4 years ago |
Sven/Sarah Barth
|
5e148c1dca
+ add a new tproccopytyp pc_normal_no_paras to copy an abstractprocdef without its parameters (useful if the parameters themselves will be reused and the original def otherwise deleted)
|
3 years ago |
Sven/Sarah Barth
|
6a9b4a1b13
+ apply patch by Blaise.ru: allow initialisation of method pointers with class methods (when class types are
|
3 years ago |
Sven/Sarah Barth
|
bc4eb00a7a
* apply patch by Blaise.ru: proper code generation for assigning class non-static methods, accessed via a class reference type, to method pointers
|
3 years ago |
Sven/Sarah Barth
|
6e7a82440e
* apply patch by Blaise.ru: avoid internal error when assigning class methods, accessed via a class reference type, to incompatible procvars
|
3 years ago |
Sven/Sarah Barth
|
a8cf67d73b
* apply patch by Blaise.ru: reject assignments of instance methods, accessed via a type, to method pointers
|
3 years ago |
Sven/Sarah Barth
|
acee4eb27a
- apply patch by Blaise.ru: pdflags are no longer required in generate_specialization_phase2() after parse_proc_directives() was done, so remove its unused modification after that call
|
3 years ago |
Sven/Sarah Barth
|
e5df46722e
* apply part of patch by Blaise.ru: reduce code duplication when parsing anonymous procvar types
|
3 years ago |
Sven/Sarah Barth
|
bd226c00f1
* apply part of patch by Blaise.ru: check only once whether writable consts are enabled or not by determining the type of the assembly list earlier (it's only not needed in an error case anyway)
|
3 years ago |
Sven/Sarah Barth
|
e5ac99a4c9
* apply patch by Blaise.ru: parse_object_proc_directives() and parse_object_record_directives() should only be called with procdefs, so change the parameter from tabstractprocdef to tprocdef to make this explicit
|
3 years ago |
Sven/Sarah Barth
|
9c9c6cc81b
* apply patch by Blaise.ru:
|
3 years ago |