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 |