paul
|
5b9adfd0df
generics: store generic type with '<,>' symbols to prevent hiding of regular types with the same name and hiding generics with the same name but different type parameters, search them using '<,>' symbols, in inline specialization do search with look ahead.
|
vor 14 Jahren |
paul
|
368c215070
compiler: always derive DispInterface from IDispatch, this solve a problem with assigning dispinterface to IUnknown or IDispatch variables
|
vor 14 Jahren |
paul
|
86482658a8
compiler: fix tgeneric11 test:
|
vor 14 Jahren |
paul
|
d37fde7302
compiler: simplify _CLASS token handling in object declarations by Sven Barth (issue #18425)
|
vor 14 Jahren |
paul
|
e0e01899e5
compiler: move parse_generic_parameters to the interface of pdecl unit, move insert_generic_parameter_types to pdecl unit to access them from pdecsub (preparations for generic methods implementation)
|
vor 14 Jahren |
paul
|
2599cc63bd
compiler: implement generic procedural types
|
vor 14 Jahren |
paul
|
d55a141d70
compiler: allow generics as class parents + fixed test
|
vor 14 Jahren |
paul
|
fa41b6ffe3
compiler: allow generic classes to derive from generic classes and generic interfaces
|
vor 14 Jahren |
Jonas Maebe
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
vor 14 Jahren |
paul
|
55a0fefb1f
compiler: implement generic array type:
|
vor 14 Jahren |
paul
|
e8502b8ec2
compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays
|
vor 14 Jahren |
paul
|
52667b6822
compiler: implement generics for records based on generic objects implementation + 1 test
|
vor 14 Jahren |
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.
|
vor 14 Jahren |
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
|
vor 14 Jahren |
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
|
vor 14 Jahren |
paul
|
210e78e4fa
compiler: allow objects and records to have members which point to themself. only don't permit this to regular fields.
|
vor 15 Jahren |
paul
|
d1026bb052
compiler: reintegrate branch http://svn.freepascal.org/svn/fpc/branches/paul/extended_records
|
vor 15 Jahren |
paul
|
17815ce7a2
compiler: implement properties in records:
|
vor 15 Jahren |
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
|
vor 15 Jahren |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
vor 15 Jahren |
Jonas Maebe
|
3a089cea10
* give an error when trying to let an objcclass conform to a
|
vor 15 Jahren |
paul
|
af39178e06
compiler: redo type search in parent classes. previous trial breaks objective pascal implementation
|
vor 15 Jahren |
paul
|
515c99cc01
compiler: cleanup
|
vor 15 Jahren |
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
|
vor 15 Jahren |
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
|
vor 15 Jahren |
paul
|
f5751d81db
compiler: reset section type to regular fields section after the "public", "protected", ... and other section visibility keywords
|
vor 15 Jahren |
Jonas Maebe
|
1c9fed7ae3
* resolve anonymous external objcclass definitions to the real type also when
|
vor 15 Jahren |
paul
|
790f6b0a4b
compiler: use delphi syntax for type, const and var section declarations in classes instead of fpc generics syntax
|
vor 15 Jahren |
Jonas Maebe
|
62d677eb92
+ support for formally declared objcclasses ("type x=objcclass;external;")
|
vor 15 Jahren |
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)
|
vor 15 Jahren |