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