Commit History

Author SHA1 Message Date
  paul fa41b6ffe3 compiler: allow generic classes to derive from generic classes and generic interfaces 14 years ago
  paul 4cfcc7ae7b compiler: implement delphi generic syntax for delphi mode 14 years ago
  paul 7c33505916 compiler: don't create enum defs for specializations declarations. Enums are stored in the unit symtables and generic declarations already add them there. Therefore specializations should search for enum defs declared by generics and use them instead of own. 14 years ago
  paul 55a0fefb1f compiler: implement generic array type: 14 years ago
  paul e8502b8ec2 compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays 14 years ago
  paul 52667b6822 compiler: implement generics for records based on generic objects implementation + 1 test 14 years ago
  paul 327b570ea4 compiler: rename extended records to advanced records 14 years ago
  paul 210e78e4fa compiler: allow objects and records to have members which point to themself. only don't permit this to regular fields. 14 years ago
  paul b811f1be15 compiler: implement delphi style class operators: 14 years ago
  paul 92d6503704 compiler: rename _EQUAL token to _EQ to prevent problems with adding delphi operator names which contains "EQUAL" name, also rename _UNEQUAL to _NE for consistency 14 years ago
  paul d1026bb052 compiler: reintegrate branch http://svn.freepascal.org/svn/fpc/branches/paul/extended_records 14 years ago
  paul 742b0bb686 compiler: partly revert r16560 and disable (at least temporary) constructors in records 14 years ago
  paul 726ea27bc0 compiler: 14 years ago
  paul 11d4eddf67 compiler: a trial to implement record constructor 14 years ago
  paul 582ab2dd32 compiler: disallow regular class methods in records and allow only static class methods. delphi do so and it is logical because records have no inheritance. + tests 14 years ago
  paul 17815ce7a2 compiler: implement properties in records: 14 years ago
  paul 7852295f26 compiler: start parsing of record constructors and destructors: 14 years ago
  paul 56bf42de57 compiler: implement record methods and class methods: 14 years ago
  paul 26cef34005 compiler: 14 years ago
  paul 902a78eec1 compiler: add current_structdef: tabstractrecorddef and point current_objectdef to it 14 years ago
  paul 8e36256bc9 compiler: add support for visibility blocks in records and type, const declarations: 14 years ago
  paul af39178e06 compiler: redo type search in parent classes. previous trial breaks objective pascal implementation 14 years ago
  florian 9dc584efbf * patch by Aleksa Todorovic to solve another issue with nested generics, resolves #17193 14 years ago
  paul ab4a5c74c1 compiler: allow TFoo.TBar types for object methods (bug #0018123) 14 years ago
  paul 37179a6558 compiler: cleanup 14 years ago
  paul 8a5c99599e compiler: skip functions symtables while generating generic specialization symtable stack (fixes test tw12249.pp and bug #0012249) 14 years ago
  paul 8aef216f21 compiler: allow nested objects to refence owner class in method arguments (issue #0017986) 14 years ago
  florian 675c3391d1 * makes compiler report nice error when one tries to use specialize for function result type, based on a patch by Aleksa Todorovic, part of #15875 14 years ago
  florian d30952b408 * patch by Aleksa Todorovic which adds the ability to reference current generic class. Each reference to current generic class is "translated" to appropriate specialization of that generic class. There are two tests as part of the patch to test that it works. The patch, also, rejects declaring generic inside another generic. 0010479 is easy to implement with this patch applied, resolves #11777 14 years ago
  paul a8deeaa168 compiler: fix search of outer class type inside inner type declarations (bug #0017945) 15 years ago