Jonas Maebe
|
834026bfb5
* synchronised with trunk up to r21067
|
преди 13 години |
Jonas Maebe
|
6502717e67
* align all code/data sections to sizeof(pint), instead of sometimes
|
преди 13 години |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
преди 13 години |
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).
|
преди 13 години |
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.
|
преди 13 години |
sergei
|
3b006c4a9c
nobj.pas, cleanup/refactoring:
|
преди 13 години |
Jonas Maebe
|
3b47c40ed2
* check whether methods that implement interface methods are public
|
преди 14 години |
Jonas Maebe
|
c163a327d7
* fixed abstract method accounting for external Objective-C/Java classes:
|
преди 14 години |
Jonas Maebe
|
18310034d7
* never allow hiding an inherited virtual class method or virtual constructor
|
преди 14 години |
Jonas Maebe
|
ee75bfaaf4
* change non-virtual instance methods to "virtual; final;" methods on the
|
преди 14 години |
Jonas Maebe
|
7e7bdc3c55
* make the real name of methods implementing interface methods the same as
|
преди 14 години |
Jonas Maebe
|
586d4f4108
* fixed keeping track of the number of abstract methods in external classes
|
преди 14 години |
Jonas Maebe
|
6154f1b0d9
* keep track of the number of abstract methods per class via a counter
|
преди 14 години |
Jonas Maebe
|
d6a56cfda6
* change the realname of procsyms belonging to overriding methods to
|
преди 14 години |
Jonas Maebe
|
fc2d239f95
* fixed checking for missing "override" for Java code
|
преди 14 години |
Jonas Maebe
|
5f17c0e970
* do not check whether all interface methods are implemented in abstract
|
преди 14 години |
Jonas Maebe
|
28740dce2d
- removed extra "fordefinition" parameter again from tprocdef.mangledname(),
|
преди 14 години |
Jonas Maebe
|
83dc297346
+ Java interface support, mostly the same as Objective-C protocols
|
преди 14 години |
Jonas Maebe
|
0ee702b3a2
* tprocdef.mangledname now gets an extra boolean parameter indicating
|
преди 14 години |
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.
|
преди 14 години |
florian
|
589d061c3d
* when comparing overridden methods, ignore hidden parameters because overridden methods does not
|
преди 14 години |
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.
|
преди 14 години |
svenbarth
|
f7f357f18e
* symconst.pas:
|
преди 14 години |
svenbarth
|
96116a6c3a
Several adjustments because virtual methods in helpers are just normal methods and a VMT isn't generated for them either.
|
преди 14 години |
paul
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
преди 14 години |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
преди 15 години |
paul
|
d9a43f7858
compiler: cleanup
|
преди 15 години |
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)
|
преди 15 години |
Jonas Maebe
|
92a53a9cf1
* moved initialisation of overridesclasshelper "out" parameter to correct
|
преди 15 години |
Jonas Maebe
|
1633341906
* treat methods added via an objccategory to an objcclass in exactly the
|
преди 15 години |