Unit ok_macros

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

Test of FPC macros handling.

Parts based on [http://sourceforge.net/tracker/index.php?func=detail&aid=861356&group_id=4213&atid=354213]

Overview

Classes, Interfaces, Objects and Records

Name Description
Class TAncestor  
Class TMyClass  

Functions and Procedures

procedure MyProc1( a:Integer);
procedure MyProc2( b: Integer);
function Foo(c: string): Integer;
procedure MyProc3( X: Integer = 1; Y: Integer = 2);
procedure ThisShouldBeIncluded;
procedure ThisShouldBeIncluded2;

Constants

ThisShouldBeTrue = true;
FourConst = (1 + 1) * (1 + 1);
OneAndNotNothing = 1 + 1;
OnlyOne = 1 ;

Description

Functions and Procedures

procedure MyProc1( a:Integer);

Below is an example of a very bad and confusing (but valid) macro usage. Just to test pasdoc.

procedure MyProc2( b: Integer);

This is very stupid way to declare a procedure

function Foo(c: string): Integer;
 
procedure MyProc3( X: Integer = 1; Y: Integer = 2);
 
procedure ThisShouldBeIncluded;
 
procedure ThisShouldBeIncluded2;
 

Constants

ThisShouldBeTrue = true;
 
FourConst = (1 + 1) * (1 + 1);

Test of recursive macro expansion.

OneAndNotNothing = 1 + 1;

Test that symbol that is not a macro is something different than a macro that expands to nothing.

OnlyOne = 1 ;