paul
|
550ad700c3
compiler: allow class declarations inside records (1 part of issue #0019099)
|
14 ani în urmă |
svenbarth
|
d0705a1779
Rebase to revision 17236
|
14 ani în urmă |
svenbarth
|
a944be69a6
* nflw.pas: search for enumerators in helpers for records as well
|
14 ani în urmă |
Jonas Maebe
|
c0423b6a78
* handle implementing objcprotocols that are defined as formal external
|
14 ani în urmă |
svenbarth
|
f7f357f18e
* symconst.pas:
|
14 ani în urmă |
svenbarth
|
5218666328
* ncgrtti.pas: RTTI generation for helpers is handled like that for classes
|
14 ani în urmă |
svenbarth
|
963a4d7b23
Commit of a completely restructured helper implementation. Instead of changing objectdefs with odt_classhelper to odt_class, they'll have the odt_helper type assigned to and this will be kept. This also implies that the parent of a helper is its true parent while the extended type is set to a field in tobjectdef (extendeddef).
|
14 ani în urmă |
svenbarth
|
7cc7826343
- msg*: found a message to reuse
|
14 ani în urmă |
svenbarth
|
07eebff55c
Rebase to revision 16827
|
14 ani în urmă |
svenbarth
|
433851ab36
- compiler/pdecsub.pas:
|
14 ani în urmă |
svenbarth
|
d4be11cb42
Implement advanced class helper syntax which allows "inheritance" of class helpers. This is not the same as normal class inheritance as its only used to extend the scope to other class helpers (that pseudo heritage line) when searching for a symbol. The real parent is always the extended class.
|
14 ani în urmă |
paul
|
368c215070
compiler: always derive DispInterface from IDispatch, this solve a problem with assigning dispinterface to IUnknown or IDispatch variables
|
14 ani în urmă |
paul
|
86482658a8
compiler: fix tgeneric11 test:
|
14 ani în urmă |
paul
|
d37fde7302
compiler: simplify _CLASS token handling in object declarations by Sven Barth (issue #18425)
|
14 ani în urmă |
svenbarth
|
a9b64c80ad
Rebase to revision 16728
|
14 ani în urmă |
svenbarth
|
aed9f0a5f7
Added first version of class helper support (not fully working and not fully featured)
|
14 ani în urmă |
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)
|
14 ani în urmă |
paul
|
2599cc63bd
compiler: implement generic procedural types
|
14 ani în urmă |
paul
|
d55a141d70
compiler: allow generics as class parents + fixed test
|
14 ani în urmă |
paul
|
fa41b6ffe3
compiler: allow generic classes to derive from generic classes and generic interfaces
|
14 ani în urmă |
Jonas Maebe
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
14 ani în urmă |
paul
|
55a0fefb1f
compiler: implement generic array type:
|
14 ani în urmă |
paul
|
e8502b8ec2
compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays
|
14 ani în urmă |
paul
|
52667b6822
compiler: implement generics for records based on generic objects implementation + 1 test
|
14 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
paul
|
210e78e4fa
compiler: allow objects and records to have members which point to themself. only don't permit this to regular fields.
|
14 ani în urmă |
paul
|
d1026bb052
compiler: reintegrate branch http://svn.freepascal.org/svn/fpc/branches/paul/extended_records
|
14 ani în urmă |
paul
|
17815ce7a2
compiler: implement properties in records:
|
14 ani în urmă |