mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-10 08:02:36 +02:00
311 lines
7.5 KiB
PHP
311 lines
7.5 KiB
PHP
|
|
{* ******************** CACHE-TEST ******************** *}
|
|
{%region CACHE-TEST}
|
|
{%region TYPE}
|
|
{$IFDEF Global_Type}
|
|
TCacheTestType = class
|
|
public
|
|
CTVal: Integer;
|
|
end;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF Sub_FooFunc_LocalType}
|
|
TCacheTest = record
|
|
CTVal: Integer;
|
|
end;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF FooFunc_LocalType}
|
|
TCacheTest = TCacheTestType;
|
|
{$ENDIF}
|
|
{%endregion TYPE}
|
|
|
|
{%region VARIABLES}
|
|
{$IFDEF Sub_FooFunc_LocalVar}
|
|
VarCacheTest1: TCacheTest; // record
|
|
VarCacheTest2: Integer;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF FooFunc_LocalVar}
|
|
VarCacheTest1: TCacheTest; // class
|
|
VarCacheTest2: Integer;
|
|
{$ENDIF}
|
|
{%endregion VARIABLES}
|
|
|
|
{%region CODE (initilization)}
|
|
{$IFDEF Sub_FooFunc_Body}
|
|
VarCacheTest1.CTVal := 101;
|
|
VarCacheTest2 := 102;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF FooFunc_Body}
|
|
VarCacheTest1 := TCacheTest.Create;
|
|
VarCacheTest1.CTVal := 201;
|
|
VarCacheTest2 := 202;
|
|
{$ENDIF}
|
|
{%endregion CODE (initilization)}
|
|
|
|
{%endregion CACHE-TEST}
|
|
|
|
{* ******************** -- ******************** *}
|
|
|
|
{%region FooFunc}
|
|
{$IFDEF FooFunc_Param}
|
|
//procedure FooFunc(
|
|
ArgByte: Byte; var VArgByte: Byte;
|
|
ArgWord: Word; var VArgWord: Word;
|
|
ArgLongWord: LongWord; var VArgLongWord: LongWord;
|
|
ArgQWord: QWord; var VArgQWord: QWord;
|
|
|
|
ArgShortInt: ShortInt; var VArgShortInt: ShortInt;
|
|
ArgSmallInt: SmallInt; var VArgSmallInt: SmallInt;
|
|
ArgInt: Integer; var VArgInt: Integer;
|
|
ArgInt64: Int64; var VArgInt64: Int64;
|
|
|
|
ArgPByte: PByte; var VArgPByte: PByte;
|
|
ArgPWord: PWord; var VArgPWord: PWord;
|
|
ArgPLongWord: PLongWord; var VArgPLongWord: PLongWord;
|
|
ArgPQWord: PQWord; var VArgPQWord: PQWord;
|
|
|
|
ArgPShortInt: PShortInt; var VArgPShortInt: PShortInt;
|
|
ArgPSmallInt: PSmallInt; var VArgPSmallInt: PSmallInt;
|
|
ArgPInt: PInteger; var VArgPInt: PInteger;
|
|
ArgPInt64: PInt64; var VArgPInt64: PInt64;
|
|
|
|
ArgPointer: Pointer; var VArgPointer: Pointer;
|
|
ArgPPointer: PPointer; var VArgPPointer: PPointer;
|
|
|
|
ArgDouble: Double; var VArgDouble: Double;
|
|
ArgExtended: Extended; var VArgExtended: Extended;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF FooFunc_LocalVar}
|
|
//var
|
|
VarByte: Byte;
|
|
VarWord: Word;
|
|
VarLongWord: LongWord;
|
|
VarQWord: QWord;
|
|
|
|
VarShortInt: ShortInt;
|
|
varSmallInt: SmallInt;
|
|
VarInt: Integer;
|
|
VarInt64: Int64;
|
|
|
|
VarPByte: PByte;
|
|
VarPWord: PWord;
|
|
VarPLongWord: PLongWord;
|
|
VarPQWord: PQWord;
|
|
|
|
VarPShortInt: PShortInt;
|
|
varPSmallInt: PSmallInt;
|
|
VarPInt: PInteger;
|
|
VarPInt64: PInt64;
|
|
|
|
PVarByte: ^Byte;
|
|
PVarWord: ^Word;
|
|
PVarLongWord: ^LongWord;
|
|
PVarQWord: ^QWord;
|
|
|
|
PVarShortInt: ^ShortInt;
|
|
PvarSmallInt: ^SmallInt;
|
|
PVarInt: ^Integer;
|
|
PVarInt64: ^Int64;
|
|
|
|
VarPointer: Pointer;
|
|
VarPPointer: PPointer;
|
|
PVarPointer: ^Pointer;
|
|
|
|
VarDouble: Double;
|
|
VarExtended: Extended;
|
|
PVarDouble: ^Double;
|
|
PVarExtended: ^Extended;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF FooFunc_Body}
|
|
//begin
|
|
VarByte := ArgByte + 100;
|
|
VarWord := ArgWord + 100;
|
|
VarLongWord := ArgLongWord + 100;
|
|
VarQWord := ArgQWord + 100;
|
|
|
|
VarShortInt := ArgShortInt + 10;
|
|
VarSmallInt := ArgSmallInt + 100;
|
|
VarInt := ArgInt + 100;
|
|
VarInt64 := ArgInt64 + 100;
|
|
|
|
VarPByte := ArgPByte;
|
|
VarPWord := ArgPWord;
|
|
VarPLongWord := ArgPLongWord;
|
|
VarPQWord := ArgPQWord;
|
|
|
|
VarPShortInt := ArgPShortInt;
|
|
VarPSmallInt := ArgPSmallInt;
|
|
VarPInt := ArgPInt;
|
|
VarPInt64 := ArgPInt64;
|
|
|
|
PVarByte := @ArgByte;
|
|
PVarWord := @ArgWord;
|
|
PVarLongWord := @ArgLongWord;
|
|
PVarQWord := @ArgQWord;
|
|
|
|
PVarShortInt := @ArgShortInt;
|
|
PVarSmallInt := @ArgSmallInt;
|
|
PVarInt := @ArgInt;
|
|
PVarInt64 := @ArgInt64;
|
|
|
|
VarPointer := ArgPointer;
|
|
VarPPointer := ArgPPointer;
|
|
PVarPointer := ArgPointer;
|
|
|
|
VarDouble := ArgDouble;
|
|
VarExtended := ArgExtended;
|
|
PVarDouble := @ArgDouble;
|
|
PVarExtended := @ArgExtended;
|
|
{$ENDIF}
|
|
{%endregion FooFunc}
|
|
|
|
{%region GLOBAL}
|
|
{$IFDEF Global_Var}
|
|
//var
|
|
GlobByte: Byte;
|
|
GlobWord: Word;
|
|
GlobLongWord: LongWord;
|
|
GlobQWord: QWord;
|
|
|
|
GlobShortInt: ShortInt;
|
|
GlobSmallInt: SmallInt;
|
|
GlobInt: Integer;
|
|
GlobInt64: Int64;
|
|
|
|
GlobPByte: PByte;
|
|
GlobPWord: PWord;
|
|
GlobPLongWord: PLongWord;
|
|
GlobPQWord: PQWord;
|
|
|
|
GlobPShortInt: PShortInt;
|
|
GlobPSmallInt: PSmallInt;
|
|
GlobPInt: PInteger;
|
|
GlobPInt64: PInt64;
|
|
|
|
PGlobByte: ^Byte;
|
|
PGlobWord: ^Word;
|
|
PGlobLongWord: ^LongWord;
|
|
PGlobQWord: ^QWord;
|
|
|
|
PGlobShortInt: ^ShortInt;
|
|
PGlobSmallInt: ^SmallInt;
|
|
PGlobInt: ^Integer;
|
|
PGlobInt64: ^Int64;
|
|
|
|
GlobPointer: Pointer;
|
|
GlobPPointer: PPointer;
|
|
PGlobPointer: ^Pointer;
|
|
|
|
GlobDouble: Double;
|
|
GlobExtended: Extended;
|
|
PGlobDouble: ^Double;
|
|
PGlobExtended: ^Extended;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF Global_Body}
|
|
//begin
|
|
GlobByte := 25;
|
|
GlobWord := 26;
|
|
GlobLongWord := 27;
|
|
GlobQWord := 28;
|
|
|
|
GlobShortInt := 35;
|
|
GlobSmallInt := 36;
|
|
GlobInt := 37;
|
|
GlobInt64 := 38;
|
|
|
|
GlobPByte := @GlobByte;
|
|
GlobPWord := @GlobWord;
|
|
GlobPLongWord := @GlobLongWord;
|
|
GlobPQWord := @GlobQWord;
|
|
|
|
GlobPShortInt := @GlobShortInt;
|
|
GlobPSmallInt := @GlobSmallInt;
|
|
GlobPInt := @GlobInt;
|
|
GlobPInt64 := @GlobInt64;
|
|
|
|
PGlobByte := @GlobByte;
|
|
PGlobWord := @GlobWord;
|
|
PGlobLongWord := @GlobLongWord;
|
|
PGlobQWord := @GlobQWord;
|
|
|
|
PGlobShortInt := @GlobShortInt;
|
|
PGlobSmallInt := @GlobSmallInt;
|
|
PGlobInt := @GlobInt;
|
|
PGlobInt64 := @GlobInt64;
|
|
|
|
GlobPointer := @GlobByte;
|
|
GlobPPointer := @GlobPointer;
|
|
PGlobPointer := @GlobPointer;
|
|
|
|
GlobDouble := 1.123;
|
|
GlobExtended := 2.345;
|
|
PGlobDouble := @GlobDouble;
|
|
PGlobExtended := @GlobExtended;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF Global_Body_NIL}
|
|
//begin
|
|
GlobByte := 0;
|
|
GlobWord := 0;
|
|
GlobLongWord := 0;
|
|
GlobQWord := 0;
|
|
|
|
GlobShortInt := 0;
|
|
GlobSmallInt := 0;
|
|
GlobInt := 0;
|
|
GlobInt64 := 0;
|
|
|
|
GlobPByte := nil;
|
|
GlobPWord := nil;
|
|
GlobPLongWord := nil;
|
|
GlobPQWord := nil;
|
|
|
|
GlobPShortInt := nil;
|
|
GlobPSmallInt := nil;
|
|
GlobPInt := nil;
|
|
GlobPInt64 := nil;
|
|
|
|
GlobPointer := nil;
|
|
GlobPPointer := nil;
|
|
|
|
GlobDouble := 0;
|
|
GlobExtended := 0;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF Global_Call_FooFunc}
|
|
//FooFunc(
|
|
GlobByte, GlobByte,
|
|
GlobWord, GlobWord,
|
|
GlobLongWord, GlobLongWord,
|
|
GlobQWord, GlobQWord,
|
|
|
|
GlobShortInt, GlobShortInt,
|
|
GlobSmallInt, GlobSmallInt,
|
|
GlobInt, GlobInt,
|
|
GlobInt64, GlobInt64,
|
|
|
|
GlobPByte, GlobPByte,
|
|
GlobPWord, GlobPWord,
|
|
GlobPLongWord, GlobPLongWord,
|
|
GlobPQWord, GlobPQWord,
|
|
|
|
GlobPShortInt, GlobPShortInt,
|
|
GlobPSmallInt, GlobPSmallInt,
|
|
GlobPInt, GlobPInt,
|
|
GlobPInt64, GlobPInt64,
|
|
|
|
GlobPointer, GlobPointer,
|
|
GlobPPointer, GlobPPointer,
|
|
|
|
GlobDouble, GlobDouble,
|
|
GlobExtended, GlobExtended,
|
|
{$ENDIF}
|
|
{%endregion GLOBAL}
|
|
|