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
|
dad8313512
compiler: handle dispinterfaces the same way as com interfaces because they are IDispatch descendants: increment/decrement they references in assignments and parameters passing by _AddRef, _Release
|
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ă |
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
|
7dd6cf07b4
compiler: comment TSymTableType entries + formatting
|
15 ani în urmă |
paul
|
fc33a2542b
formatting
|
15 ani în urmă |
paul
|
e8502b8ec2
compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays
|
15 ani în urmă |
Jonas Maebe
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
15 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
|
15 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
|
15 ani în urmă |
paul
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
15 ani în urmă |
paul
|
86d3e41442
compiler: replace MODESWTICH POINTERARITHMETICS with $POINTERMATH directive, disable pointer arithmetic in delphi mode by default (compatible with delphi), enable pointer arithmetic in fpc/objfpc modes as they had it enabled by default before, add has_pointer_math field to tpointerdef to allow pointer arithmetic with such pointer even if pointer math mode is off (delphi compatible) + tests
|
15 ani în urmă |
paul
|
b811f1be15
compiler: implement delphi style class operators:
|
15 ani în urmă |
paul
|
bf3c098c18
compiler: check that records methods have implementation too. previously check worked only for some object types
|
15 ani în urmă |
paul
|
54b5172286
compiler: fix compiler crash (bug #0018222)
|
15 ani în urmă |
paul
|
7852295f26
compiler: start parsing of record constructors and destructors:
|
15 ani în urmă |
paul
|
289c9bd192
compiler: remove unneeded checks and typecasting caused by move of objectoptions into tabstractrecorddef
|
15 ani în urmă |
paul
|
4f274b157c
compiler: move objectoptions to tabstractrecorddef because it will be needed for records too
|
15 ani în urmă |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
15 ani în urmă |
paul
|
26cef34005
compiler:
|
15 ani în urmă |
paul
|
902a78eec1
compiler: add current_structdef: tabstractrecorddef and point current_objectdef to it
|
15 ani în urmă |
paul
|
5d1c9ab6ba
compiler: check visibility of record members, allow access to record consts and types:
|
15 ani în urmă |
paul
|
d9a43f7858
compiler: cleanup
|
15 ani în urmă |
florian
|
f570934b45
* patch by Aleksa Todorovic to fix generic interfaces, resolves #16100
|
15 ani în urmă |
florian
|
b1a6ec532d
* fix bootstrapping with 2.4.2
|
15 ani în urmă |
sergei
|
7dd93b1282
* Variant types: renamed varunicodestring to varustring and changed its value to $102 (for Delphi compatibility), introduced varUStrArg=$73, added some description comments.
|
15 ani în urmă |
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
|
15 ani în urmă |