Commit History

Autor SHA1 Mensaxe Data
  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 %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 06a00b53c3 * also handle function references when a generic one had been parsed %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth b297199ab6 + add a field to denote that a symbol (mainly local and parameter ones) was captured through another symbol %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth ec96d4242a * check hierarchy of the current generic or specialization def independant of whether it's a record- or objectdef %!s(int64=3) %!d(string=hai) anos
  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 %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 5cf15be434 + add a constructor for trecorddef to declare an internal record type as part of a specific other type %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 92082ab28f * correctly handle directives for anonymous functions %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth e8b0fc88e3 * correctly handle directives for function references %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth fd26453d5a * name of result variable of anonymous functions can be changed (and must be in modes without modeswitch Result) %!s(int64=3) %!d(string=hai) anos
  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 %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 76d3a9c4b5 * generate a better name if the procdef is an anonymous one %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth cdf676c9b5 * a function also captures other nested functions when these are called %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth eaeb614887 + provide a tsym based variant of ChangeOwnerAndName %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth a7a0f47d98 * extract a symbol or def from its previous owner if that owner has OwnsObjects set to true %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 088c746d45 * reset written source lines once a section is encountered %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 6ac50f4100 + add method ResetSourceLines to TExternalAssembler to reset already written lines %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 1d4c28fb35 * regenerate msg{idx,txt}.inc after message change in last commit %!s(int64=3) %!d(string=hai) anos
  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 %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth 17514ed5c0 * allow to ignore Self parameters; for this the parameter skipping needs to be repeated to correctly catch all cases %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth 8e2478e632 * check whether an anonymous function can be assigned to a global, method or nested function variable %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth 5129c2cb9a * consider Self parameters of nested functions as captured as well %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth d56a90e5ed * keep track of symbols that are accessed from a nested/anonymous function that belong to a surrounding scope %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth ddba001b65 * ensure that nested functions of main program, main program finalization and unit initialization/finalization are generated %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth 4dbdb4f0f1 + initial support for anonymous functions, for now as essentially nested functions %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth 4e4d268963 + add modeswitch for anonymous functions %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth 2cc621618a * Delphi-mode calling without parenthesis %!s(int64=4) %!d(string=hai) anos
  Sven/Sarah Barth c3736810ac * if an interface is declared inherit the invokable flag from the parent interface %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 2ed2c21313 + add support for parsing function references %!s(int64=3) %!d(string=hai) anos
  Sven/Sarah Barth 7f3a5eb9ab * extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not %!s(int64=3) %!d(string=hai) anos
  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 %!s(int64=3) %!d(string=hai) anos