Jonas Maebe
|
834026bfb5
* synchronised with trunk up to r21067
|
vor 13 Jahren |
Jonas Maebe
|
6502717e67
* align all code/data sections to sizeof(pint), instead of sometimes
|
vor 13 Jahren |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
vor 13 Jahren |
sergei
|
429af6f40b
* nobj.pas, finished refactoring VMT generation code, now all child structures except RTTI are written to same data section with VMT itself and their labels are local (since child structures are accessible only through VMT, smartlinking them into different sections is useless).
|
vor 13 Jahren |
sergei
|
3eeca2b172
* Emit published method table into single object section (previously every method name was written into a section of its own), labels for method names no longer have to be global.
|
vor 13 Jahren |
sergei
|
3b006c4a9c
nobj.pas, cleanup/refactoring:
|
vor 13 Jahren |
Jonas Maebe
|
3b47c40ed2
* check whether methods that implement interface methods are public
|
vor 14 Jahren |
Jonas Maebe
|
c163a327d7
* fixed abstract method accounting for external Objective-C/Java classes:
|
vor 14 Jahren |
Jonas Maebe
|
18310034d7
* never allow hiding an inherited virtual class method or virtual constructor
|
vor 14 Jahren |
Jonas Maebe
|
ee75bfaaf4
* change non-virtual instance methods to "virtual; final;" methods on the
|
vor 14 Jahren |
Jonas Maebe
|
7e7bdc3c55
* make the real name of methods implementing interface methods the same as
|
vor 14 Jahren |
Jonas Maebe
|
586d4f4108
* fixed keeping track of the number of abstract methods in external classes
|
vor 14 Jahren |
Jonas Maebe
|
6154f1b0d9
* keep track of the number of abstract methods per class via a counter
|
vor 14 Jahren |
Jonas Maebe
|
d6a56cfda6
* change the realname of procsyms belonging to overriding methods to
|
vor 14 Jahren |
Jonas Maebe
|
fc2d239f95
* fixed checking for missing "override" for Java code
|
vor 14 Jahren |
Jonas Maebe
|
5f17c0e970
* do not check whether all interface methods are implemented in abstract
|
vor 14 Jahren |
Jonas Maebe
|
28740dce2d
- removed extra "fordefinition" parameter again from tprocdef.mangledname(),
|
vor 14 Jahren |
Jonas Maebe
|
83dc297346
+ Java interface support, mostly the same as Objective-C protocols
|
vor 14 Jahren |
Jonas Maebe
|
0ee702b3a2
* tprocdef.mangledname now gets an extra boolean parameter indicating
|
vor 14 Jahren |
sergei
|
25bf0012f2
* When the interface method mapping is present, being unable to find the implementing procedure using the mapped name is a error condition. No attempt to find implementing procedure using symbol name should be made in this case. Resolves #19591.
|
vor 14 Jahren |
florian
|
589d061c3d
* when comparing overridden methods, ignore hidden parameters because overridden methods does not
|
vor 14 Jahren |
sergei
|
7d99f95c45
* Always create a section before emitting data to current_asmdata.asmlists[al_typedconsts]. Without it, such data ends up in sections created elsewhere, creating very non-obvious dependencies on other parts of compiler.
|
vor 14 Jahren |
svenbarth
|
f7f357f18e
* symconst.pas:
|
vor 14 Jahren |
svenbarth
|
96116a6c3a
Several adjustments because virtual methods in helpers are just normal methods and a VMT isn't generated for them either.
|
vor 14 Jahren |
paul
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
vor 14 Jahren |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
vor 14 Jahren |
paul
|
d9a43f7858
compiler: cleanup
|
vor 14 Jahren |
tom_at_work
|
8a2696eb24
* limit the number of string message methods per class to 2^31 independent of architecture width: this avoids lots of compiler changes when allowing 2^63 (for 64 bit targets)
|
vor 15 Jahren |
Jonas Maebe
|
92a53a9cf1
* moved initialisation of overridesclasshelper "out" parameter to correct
|
vor 15 Jahren |
Jonas Maebe
|
1633341906
* treat methods added via an objccategory to an objcclass in exactly the
|
vor 15 Jahren |