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