svenbarth
|
44d27a9d1d
Rebase to revision 16946
|
14 years ago |
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 years ago |
Jonas Maebe
|
a199344bf4
* don't check for duplicate symbols when adding a class helper symbol, see
|
14 years ago |
svenbarth
|
d12b198c7f
Rebase to revision 16888
|
14 years ago |
svenbarth
|
7cc7826343
- msg*: found a message to reuse
|
14 years ago |
svenbarth
|
e19bcfae38
Added a flag set to TSymtable that tells whether it contains a class helper symbol, which is currently only used for static- and globalsymtables.
|
14 years ago |
paul
|
a04481c89f
compiler: simplify enumerator search methods of TObjectDef by reusing implementation from TAbstractRecordDef
|
14 years ago |
svenbarth
|
07eebff55c
Rebase to revision 16827
|
14 years ago |
paul
|
a39733a0a2
compiler: extend enumerator support for records:
|
14 years ago |
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 years ago |
paul
|
368c215070
compiler: always derive DispInterface from IDispatch, this solve a problem with assigning dispinterface to IUnknown or IDispatch variables
|
14 years ago |
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 years ago |
svenbarth
|
a9b64c80ad
Rebase to revision 16728
|
14 years ago |
svenbarth
|
aed9f0a5f7
Added first version of class helper support (not fully working and not fully featured)
|
14 years ago |
Jonas Maebe
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
14 years ago |
paul
|
55a0fefb1f
compiler: implement generic array type:
|
14 years ago |
paul
|
7dd6cf07b4
compiler: comment TSymTableType entries + formatting
|
14 years ago |
paul
|
fc33a2542b
formatting
|
14 years ago |
paul
|
e8502b8ec2
compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays
|
14 years ago |
Jonas Maebe
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 years ago |
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 years ago |
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 years ago |
paul
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
14 years ago |
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
|
14 years ago |
paul
|
b811f1be15
compiler: implement delphi style class operators:
|
14 years ago |
paul
|
bf3c098c18
compiler: check that records methods have implementation too. previously check worked only for some object types
|
14 years ago |
paul
|
54b5172286
compiler: fix compiler crash (bug #0018222)
|
14 years ago |
paul
|
7852295f26
compiler: start parsing of record constructors and destructors:
|
14 years ago |
paul
|
289c9bd192
compiler: remove unneeded checks and typecasting caused by move of objectoptions into tabstractrecorddef
|
14 years ago |
paul
|
4f274b157c
compiler: move objectoptions to tabstractrecorddef because it will be needed for records too
|
14 years ago |