mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 12:39:38 +01:00 
			
		
		
		
	
				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 -  | 
			||
|---|---|---|
| .. | ||
| classes | ||
| sysutils | ||
| convutil.inc | ||
| convutil.pp | ||
| convutils.pp | ||
| cvarutil.inc | ||
| dateutil.inc | ||
| dateutil.pp | ||
| dateutils.pp | ||
| fgl.pp | ||
| fmtbcd.pp | ||
| freebidi.pp | ||
| math.pp | ||
| objpas.pp | ||
| README.txt | ||
| rtlconst.inc | ||
| rtlconst.pp | ||
| rtlconsts.pp | ||
| stdconvs.pp | ||
| strutils.pp | ||
| sysconst.pp | ||
| types.pp | ||
| typinfo.pp | ||
| utf8bidi.pp | ||
| varutilh.inc | ||
| varutils.inc | ||
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.