fpc/rtl/objpas
paul aa5a5e79ce merge revisions: 13909,13923,13924,13934,13935,13942,13943,13944,13946,13948,13950,13951,13952,13983,13994:
rtl: add enumerators to the basic classes
tests: add enumerators test which compiles and work both by fpc and dcc
compiler: 
  + start for-in loop implementation: implement for-in loop for types (enumerations and ranges), strings, arrays and sets. todo: perform type checking, optimize array and string loops - use temp for expression, implement for-in loop for classes
test:
  + add a simple test for the 'for-in' loop
compiler: fix string for-in loop. now it uses a temp variable to store string expression result
complier: fix for-in array loop. use a temp variable for the loop expression only if loop is not an open array loop
complier: continue enumerator implementation:
  + add operator enumerator which give an ability to add enumerator for an existent type (for example to override builtin string enumerator)
  + add class enumerator support via delphi compatible GetEnumerator method + enumerator class/object template (function MoveNext: Boolean; property Current)
  + tests
compiler: fix for-in loop for arrays. delphi does not copy arrays to a temp variable and it is possible to change array during loop. + test
compiler: add reference for the enumerator operator when it is used + another test for operator enumerator for a class
compiler: add reference for the enumerator operator when it is used + another test for operator enumerator for a class
compiler: enumerator directive support:
  + allow to mark methods and properties by 'enumerator MoveNext' and 'enumerator Current' modifiers. Parser checks return types and duplicates.
  + prefer *marked* by enumerator directive methods and properties than GetEnumerator and Current builtin symbols
  + increase ppu version
  + test
rtl: add IEnumerator and IEnumerable interfaces declarations
tests: for-in loop tests:
  + add small comment at the top of test program
compiler: allow 'enumerator MoveNext' for the interface function declaration + test
compiler: move all for-in loop helpers to the nflw unit
compiler: don't allow the compiler to choose the non-valid enumerator operator for the for-in loop

git-svn-id: trunk@14008 -
2009-11-02 03:24:48 +00:00
..
classes merge revisions: 13909,13923,13924,13934,13935,13942,13943,13944,13946,13948,13950,13951,13952,13983,13994: 2009-11-02 03:24:48 +00:00
sysutils * parameter "Separator" of function TryStrToDate was not passed to IntStrToDate 2009-10-26 17:34:07 +00:00
convutil.inc + add no-fpu support to compiler/rtl for powerpc-linux (-Cfnone) 2008-03-02 12:59:02 +00:00
convutil.pp
convutils.pp
cvarutil.inc * fixed varbyref in variant conversion helpers (patch+test by Paul Ishenin, 2009-09-10 16:57:06 +00:00
dateutil.inc * reverted r13949 because it's unnecessary test 2009-10-25 11:06:38 +00:00
dateutil.pp
dateutils.pp
fgl.pp * fixed bug in TFPSList.SetCount. Deref was not called when shrinking the list. 2009-10-12 21:23:38 +00:00
fmtbcd.pp + add no-fpu support to compiler/rtl for powerpc-linux (-Cfnone) 2008-03-02 12:59:02 +00:00
freebidi.pp
math.pp + procedure DivMod(Dividend: Integer; Divisor: integer; var Result, Remainder: integer); and procedure DivMod(Dividend: cardinal; Divisor: cardinal; var Result, Remainder: cardinal);, resolves #14286 2009-08-09 20:47:06 +00:00
objpas.pp - unconditionally enabled {$ifdef PARAOUTFILE}-code (that define was 2009-05-21 09:57:45 +00:00
README.txt * added .txt extensions to all README, TODO and COPYING files 2009-02-28 17:34:08 +00:00
rtlconst.inc * resourcestring SCannotCreateDir: translated from german to english 2009-10-31 22:08:22 +00:00
rtlconst.pp
rtlconsts.pp
stdconvs.pp * fixed FahrenheitToCelsius() and CelsiusToFahrenheit() (mantis #13133) 2009-02-08 15:30:59 +00:00
strutils.pp * Miscellaneous is with two l's... 2009-05-03 11:48:30 +00:00
sysconst.pp * Forgot to commit 2009-10-16 15:31:25 +00:00
types.pp * fixed compilation win32/win64 after (my) last commit. 2009-10-31 22:31:26 +00:00
typinfo.pp - removed FPC_NEW_BIGENDIAN_SETS define and if(n)defs 2009-08-23 08:16:40 +00:00
utf8bidi.pp
varutilh.inc + add no-fpu support to compiler/rtl for powerpc-linux (-Cfnone) 2008-03-02 12:59:02 +00:00
varutils.inc * Fixed wrong order of elements in psaElementSizes introduced in r12138 2008-11-25 18:16:51 +00:00

This directory contains units that are part of the Object Pascal support 
of the Free Pascal Compiler.

You can find here the following files:

objpas.pp : makes Free Pascal more Borland Delphi compatible, data types
            are redefined

math.pp : Contains basic mathematical functions, as well as some financial
          functions.

sysutils.pp : Contains the exception support of the Free Pascal Compiler.

sysutils/*h.inc : Contain parts of the sysutils unit, with function declarations.
sysutils/*.inc  : Contain parts of the sysutils unit, with implementations of:
       dati : Date & Time handling functions.
       fina : FileName handling functions.
       sysstr : miscellaneous string handling functions, and conversion 
                routines.
       syspch : miscellaneous pchar handling functions.

Enjoy !
The Free Pascal Development Team.