Commit History

Author SHA1 Message Date
  Sven/Sarah Barth ad61db2ff5 * allow a nested function that calls itself can be converted to a function reference 1 year ago
  Sven/Sarah Barth 1853d1ddd8 * keep track which nested function definition the new method has been converted from 1 year ago
  Sven/Sarah Barth 1606d4e28d * only walk the node tree if there are indeed captured symbols to convert 1 year ago
  Sven/Sarah Barth ab5c5a7e9a * also keep track of captured def (necessary when functions are captured) 1 year ago
  Sven/Sarah Barth b5b7cd54eb * fix typo in comment 1 year ago
  Sven/Sarah Barth 787454d5b2 * correctly handle managed function results when converting a global or nested function to a function reference 1 year ago
  Sven/Sarah Barth ca0323d4ca * the adjusted nested function needs to access the parent function for the capturer 1 year ago
  Sven/Sarah Barth 08dca09c7e * revert 430bcac389c29a5ceca7759cfca69454aa31abf9 as with the change that the functions to insert hidden parameters are idempotent this is no longer required and also wrong as uses of the deleted symbols aside from Self and the framepointer would be left dangling 2 years ago
  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 years ago
  Sven/Sarah Barth 5d7e3ca240 * fix #40060: ensure that Self is not added for anonymous functions that are part of a static class method 2 years ago
  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 years ago
  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 years ago
  Sven/Sarah Barth 19cee9b841 + mark the def for a capturer class with a corresponding object option 2 years ago
  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 years ago
  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) 2 years ago
  Sven/Sarah Barth 965bba5ab4 * cleanup captured symbols when moving them from the nested function to the new method 2 years ago
  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 2 years ago
  Sven/Sarah Barth 5e7330448d * fix #39858: correctly keep track of symbols that need to be captured into the capturer 3 years ago
  Sven/Sarah Barth 260368ea55 * the clause for converting the captured symbols of a nested function must not be entered by an anonymous function 3 years ago
  florian 59811090e1 * captured variables cannot be in registers typically 3 years ago
  Sven/Sarah Barth 8d90cd3e64 * fix #39826: correctly handle function references that are part of generics/specializations, but are not generics/specializations themselves 3 years ago
  florian 98ec81896e * do not throw messages on potentially uninitialized internal symbols, resolves #39744 3 years ago
  Pierre Muller 430f1910ed Fix compliation error with -Oodfa option as reported by Gareth 3 years ago
  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 years ago
  Sven/Sarah Barth 3b7842c30e * ensure that a nested function variable can not be assigned to a function reference 3 years ago
  Jonas Maebe 59f293711a function references: make names of interface methods valid Pascal identifiers 3 years ago
  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 years ago
  Sven/Sarah Barth dadc10658c * set the correct symtable level for the invoke procdef 3 years ago
  Sven/Sarah Barth 0c9b622a74 * fix compilation with DEBUG_NODE_XML defined 3 years ago
  Sven/Sarah Barth f73fc7d566 * fix #39736: ensure that the capturer object and any converted function reference interface are considered used 3 years ago