The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
paul 56bf42de57 compiler: implement record methods and class methods:
- rename tprocdef._class to tprocdef.struct and change the type from tobjectdef to tabstractrecorddef because methods can belong not to classes only now but to records too
  - replace in many places use of current_objectdef to current_structdef with typcast where is needed
  - add an argument to comp_expr, expr, factor, sub_expr to notify that we are searching type only symbol to solve the problem with records,objects,classes which contains fields with the same name as previosly declared type (like:
  HWND = type Handle;
  rec = record 
    hWnd: HWND;
  end;)
  - disable check in factor_read_id which was made for object that only static fields can be accessed as TObjectType.FieldName outside the object because it makes SizeOf(TObjectType.FieldName) imposible and since the same method was extended to handle records it also breaks a52 package compilation
  - rename tcallcandidates.collect_overloads_in_class to tcallcandidates.collect_overloads_in_struct and addapt the code to handle overloads in records too
  - fix searchsym_type to search also in object ancestors if we found an object symtable
  - add pd_record, pd_notrecord flags to mark procedure modifies which can or can't be used with records. Disallow the next modifiers for records: abstract, dynamic, export, external, far, far16, final, forward, internconst, internproc, interrupt, message, near, override, public, reintroduce, virtual, weakexternal,
Allow the next modifiers for records: static

git-svn-id: branches/paul/extended_records@16526 -
2010-12-09 02:24:46 +00:00
compiler compiler: implement record methods and class methods: 2010-12-09 02:24:46 +00:00
ide * Try to get win64 to work 2010-11-26 23:32:08 +00:00
installer + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
packages * patch for regex. Fixes exception in rcclear, some casing issues and matching of \w. Also a fix for currentpos in the old version. Mantis 15466 2010-12-05 11:10:06 +00:00
rtl * more tcustomvariant conversion helpers from Lacak2. Mantis 16853 2010-12-04 20:21:03 +00:00
tests compiler: implement record methods and class methods: 2010-12-09 02:24:46 +00:00
utils * Do not handle packages twice, when they are passed on the command line 2010-11-28 17:08:39 +00:00
.gitattributes compiler: allow access other record symbols than fields, first extended records tests 2010-12-07 09:53:57 +00:00
.gitignore + Added a basic test for TCustomVariantType creation functionality. 2010-11-10 16:21:19 +00:00
Makefile + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
Makefile.fpc * Makefiles version 2.5.1 2009-08-13 21:21:28 +00:00