Commit History

Author SHA1 Message Date
  paul fa41b6ffe3 compiler: allow generic classes to derive from generic classes and generic interfaces 14 years ago
  Jonas Maebe 3ca3276400 * changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another 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 101f545ad0 compiler: don't allow generic object types (interfaces,dispinterfaces,objclasses,...) to have type,var,const sections if regular object types don't have them. currently only objects, classes and records are allowed to have nested type,var,const sections. 14 years ago
  paul 2af416e145 compiler: move current_objectdef variable to implementation of pdecobj and use explicit type conversion to tobjectdef in other places where current_objectdef is needed 14 years ago
  paul ee78cf0f06 compiler: use current_structdef in more places where current_objectdef was used, change type of current_genericdef and current_specializedef to tabstractrecorddef for future use with generic 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 d1026bb052 compiler: reintegrate branch http://svn.freepascal.org/svn/fpc/branches/paul/extended_records 14 years ago
  paul 17815ce7a2 compiler: implement properties in records: 14 years ago
  paul 4e73e280f9 compiler: move constructor, destructor parsers to interface section to allow future use by records + change current_objectdef to current_structdef for the same reason, make constructor return type = record for records 14 years ago
  paul 56bf42de57 compiler: implement record methods and class methods: 14 years ago
  Jonas Maebe 3a089cea10 * give an error when trying to let an objcclass conform to a 14 years ago
  paul af39178e06 compiler: redo type search in parent classes. previous trial breaks objective pascal implementation 14 years ago
  paul 515c99cc01 compiler: cleanup 14 years ago
  paul 2155dadf5e compiler: push to the stack not only nested hierarchy but also class hierarchy for each nested entry both in method declaration and for method body, also push child hierarchy while parsing object members because in other case parent types are invisible for descendants (fixes mantis #0018124, mantis #0018127 and more) + extended test 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 f5751d81db compiler: reset section type to regular fields section after the "public", "protected", ... and other section visibility keywords 14 years ago
  Jonas Maebe 1c9fed7ae3 * resolve anonymous external objcclass definitions to the real type also when 15 years ago
  paul 790f6b0a4b compiler: use delphi syntax for type, const and var section declarations in classes instead of fpc generics syntax 15 years ago
  Jonas Maebe 62d677eb92 + support for formally declared objcclasses ("type x=objcclass;external;") 15 years ago
  paul ceccce93f5 compiler: add class constructors, class destructors to the initfinal table as regular initialization/finalization sections (class constructors is still not striped away with the class) 15 years ago
  paul 24d8a7d833 compiler: start implementation of class constructors/destructors: parsing is ready but at the moment neither class constructors nor destructors are called - this is to be implemented 15 years ago
  paul 8a0028a62e compiler: support *sealed* and *abstract* for objects (issue #0016174) 15 years ago
  paul 973d947d6c compiler: allow const, type, var and class var sections for objects + test 15 years ago
  paul 06a37d1fb1 compiler: remove dummy assignment 15 years ago
  Jonas Maebe e693b47234 * don't insert bogus vmt field in forward-defined classes 15 years ago
  Jonas Maebe 4469501835 * fixed indentation, simplified calling read_record_fields() 15 years ago
  paul bd6f1d7447 compiler: auto generate method/property dispid if it is not set explicitly 15 years ago