Where can I find a comprehensive list of Delphi “compiler magic” declarations? – Stack Overflow
Posted by jpluimers on 2022/11/16
A long time ago, I posted one of the answers to [Wayback/Archive] Where can I find a comprehensive list of Delphi “compiler magic” declarations? – Stack Overflow
So for my link archive, these are the main ways of assembling an (always incomplete, as only partially documented) list:
- [Wayback/Archive] Delphi Intrinsic Routines – RAD Studio
- My [Wayback/Archive] answer quoting parts of the Delphi 2010 (but applies to any version)
System.pas
filtered on lines close to “built-in types” and “compiler magic”, containing:-
EXTERNALSYM
-
OBJTYPENAME
-
NODEFINE
$IFDEF
-
$ELSE
$ENDIF
$IFEND
-
- An interesting approach based on reading [Wayback/Archive] DCUINT32 output (a version is on [Wayback/Archive] github: rfrezino/DCU32INT, I wish it had full version history) for
_
and@
prefixes to method names in DCU files. - A reference to the now defunct pages [Wayback] docwiki.embarcadero.com/VCL/en/System and (regrettably not archived) docwiki.embarcadero.com/VCL/en/System.Constants that had a comprehensive list of identifiers in the System.pas unit.
- Via the [Wayback/Archive] answer by [Wayback/Archive] Rob Kennedy
- Some information is now spread out over the DocWiki under [Wayback/Archive] System – RAD Studio API Documentation and some moved to [Wayback/Archive] Delphi Intrinsic Routines – RAD Studio, but most of it seems gone.
- Most importantly, Rob in his answer explains why most of the routines do not have signatures in the System.pas unit. Summarised they are compiler magic methods, often overloaded, so do not have a single signature.
–jeroen
Leave a Reply