paul
|
e8502b8ec2
compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays
|
пре 14 година |
paul
|
52667b6822
compiler: implement generics for records based on generic objects implementation + 1 test
|
пре 14 година |
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 година |
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 година |
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 година |
paul
|
210e78e4fa
compiler: allow objects and records to have members which point to themself. only don't permit this to regular fields.
|
пре 14 година |
paul
|
d1026bb052
compiler: reintegrate branch http://svn.freepascal.org/svn/fpc/branches/paul/extended_records
|
пре 14 година |
paul
|
17815ce7a2
compiler: implement properties in records:
|
пре 14 година |
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 година |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
пре 14 година |
Jonas Maebe
|
3a089cea10
* give an error when trying to let an objcclass conform to a
|
пре 14 година |
paul
|
af39178e06
compiler: redo type search in parent classes. previous trial breaks objective pascal implementation
|
пре 14 година |
paul
|
515c99cc01
compiler: cleanup
|
пре 14 година |
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 година |
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 година |
paul
|
f5751d81db
compiler: reset section type to regular fields section after the "public", "protected", ... and other section visibility keywords
|
пре 15 година |
Jonas Maebe
|
1c9fed7ae3
* resolve anonymous external objcclass definitions to the real type also when
|
пре 15 година |
paul
|
790f6b0a4b
compiler: use delphi syntax for type, const and var section declarations in classes instead of fpc generics syntax
|
пре 15 година |
Jonas Maebe
|
62d677eb92
+ support for formally declared objcclasses ("type x=objcclass;external;")
|
пре 15 година |
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 година |
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 година |
paul
|
8a0028a62e
compiler: support *sealed* and *abstract* for objects (issue #0016174)
|
пре 15 година |
paul
|
973d947d6c
compiler: allow const, type, var and class var sections for objects + test
|
пре 15 година |
paul
|
06a37d1fb1
compiler: remove dummy assignment
|
пре 15 година |
Jonas Maebe
|
e693b47234
* don't insert bogus vmt field in forward-defined classes
|
пре 15 година |
Jonas Maebe
|
4469501835
* fixed indentation, simplified calling read_record_fields()
|
пре 15 година |
paul
|
bd6f1d7447
compiler: auto generate method/property dispid if it is not set explicitly
|
пре 15 година |
paul
|
166f8a63a2
compiler: implement class constants + tests
|
пре 15 година |
paul
|
91ed1c6e6f
compiler: types in classes:
|
пре 15 година |
paul
|
8de3b267a9
compiler: fix message regards VAR and TYPE sections in objects
|
пре 15 година |