paul
|
a04481c89f
compiler: simplify enumerator search methods of TObjectDef by reusing implementation from TAbstractRecordDef
|
14 anni fa |
paul
|
a39733a0a2
compiler: extend enumerator support for records:
|
14 anni fa |
paul
|
368c215070
compiler: always derive DispInterface from IDispatch, this solve a problem with assigning dispinterface to IUnknown or IDispatch variables
|
14 anni fa |
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 anni fa |
Jonas Maebe
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
14 anni fa |
paul
|
55a0fefb1f
compiler: implement generic array type:
|
14 anni fa |
paul
|
7dd6cf07b4
compiler: comment TSymTableType entries + formatting
|
14 anni fa |
paul
|
fc33a2542b
formatting
|
14 anni fa |
paul
|
e8502b8ec2
compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays
|
14 anni fa |
Jonas Maebe
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 anni fa |
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 anni fa |
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 anni fa |
paul
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
14 anni fa |
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 anni fa |
paul
|
b811f1be15
compiler: implement delphi style class operators:
|
14 anni fa |
paul
|
bf3c098c18
compiler: check that records methods have implementation too. previously check worked only for some object types
|
14 anni fa |
paul
|
54b5172286
compiler: fix compiler crash (bug #0018222)
|
14 anni fa |
paul
|
7852295f26
compiler: start parsing of record constructors and destructors:
|
14 anni fa |
paul
|
289c9bd192
compiler: remove unneeded checks and typecasting caused by move of objectoptions into tabstractrecorddef
|
14 anni fa |
paul
|
4f274b157c
compiler: move objectoptions to tabstractrecorddef because it will be needed for records too
|
14 anni fa |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
14 anni fa |
paul
|
26cef34005
compiler:
|
14 anni fa |
paul
|
902a78eec1
compiler: add current_structdef: tabstractrecorddef and point current_objectdef to it
|
14 anni fa |
paul
|
5d1c9ab6ba
compiler: check visibility of record members, allow access to record consts and types:
|
14 anni fa |
paul
|
d9a43f7858
compiler: cleanup
|
14 anni fa |
florian
|
f570934b45
* patch by Aleksa Todorovic to fix generic interfaces, resolves #16100
|
14 anni fa |
florian
|
b1a6ec532d
* fix bootstrapping with 2.4.2
|
14 anni fa |
sergei
|
7dd93b1282
* Variant types: renamed varunicodestring to varustring and changed its value to $102 (for Delphi compatibility), introduced varUStrArg=$73, added some description comments.
|
14 anni fa |
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 anni fa |
sergei
|
532f8b9ab5
* Type Word maps to variant type varword, not varqword (probably a typo).
|
14 anni fa |