David Chisnall
934cd13a7a
Initial pass at Windows support.
...
All tests now pass with the new ABI on x86-64, with the new ABI. Some
of the code is ugly and other platforms are probably broken.
8 years ago
David Chisnall
11637010ad
Rename method_list.h to method.h
...
Work around the fact that LaTeX really doesn't like file names with
underscores...
8 years ago
David Chisnall
5a9c65553f
Always use selector type for method type encodings.
...
In the new ABI, we use the legacy type encoding in the selector and the
extended type encoding in the types field. We want to only expose the
legacy type encoding through existing APIs.
8 years ago
David Chisnall
4f71429bec
Add support for parsing extended type encodings.
...
Extended type encodings add more detailed information to object and
block types:
* Objects are encoded as @"ClassName".
* Blocks are encoded as @?<parameter type signature>
In the new ABI, we use classic type encodings for selectors and extended
type encodings everywhere else.
8 years ago
David Chisnall
7d1ea63046
Silence some valgrind warnings.
...
The ignored field is never used, so it doesn't matter that the
comparison to the old value is reading uninitialised memory (unless the
compiler is clever enough to spot that this is undefined behaviour and
do something evil).
10 years ago
Niels Grewe
dbf392ce99
Move indexing fix into findParameterStart()
10 years ago
Niels Grewe
cbacd87632
Add missing changes
11 years ago
Niels Grewe
abb0d1e931
Fix returning argument types from methods.
11 years ago
rfm
c3aa9b62e6
fix function to get type qualifiers
13 years ago
theraven
4796a41e4e
Finished implementing the new runtime APIs.
14 years ago
theraven
daf9976eab
Fix type encoding of blocks.
15 years ago
theraven
4e7b476aa6
Change [1] to [] for variable length structure elements (C99 - silences array out of bounds errors).
...
Added fields to the end of the class structure for strong / weak ivar bitmaps (not yet generated by any compiler).
Fixed definition of __sync_swap() so that it works on GCC again.
15 years ago
theraven
e0ae8ce474
Another 64-bit issue.
15 years ago
theraven
33864e9676
Fix int -> size_t, causing breakage on 64-bit big-endian platforms.
15 years ago
theraven
8ee4d9c38a
Added implementation of property_getAttributes(). This is a horrible interface, both to implement and to use. We should add some better interfaces.
15 years ago
theraven
4fc7030973
Remove some obsolete FIXMEs.
15 years ago
theraven
faa741b133
Added some header documentation for runtime functions.
15 years ago
theraven
61a9379c9c
Encodings of structures in ivars include the encoding of the field names (this is actually really nice: we could - in theory - expose structure field members via KVC, as an extension). This case was not correctly handled by libobjc2.
15 years ago
theraven
71b4b0df3b
Fix off-by-one error in encoding parsing.
16 years ago
theraven
b6abe490ab
Remove some obsolete comments.
16 years ago
ericwa
ed1c9d41eb
libobjc2: Add a pile of NULL checks. In general, any public function should be able to handle NULL for any object/class/selector/pointer to opaque structure without blowing up.
16 years ago
theraven
7e1debfec4
Fix indenting in last commit.
16 years ago
theraven
8e95b6f637
Fix warnings with GCC. Patch by TOM, tweaked to not introduce errors with clang.
16 years ago
theraven
eb48fda62b
Expose a function needed by GNUstep.
16 years ago
theraven
e2d848467c
Another try...
16 years ago
theraven
00004fe5f3
More tweaks to the GNU-compatibility encoding stuff. This API is too broken to use, but GNUstep seems to want it.
16 years ago
theraven
0177ef56e1
Tweak the type encoding stuff a bit.
16 years ago
thebeing
e36200bb8b
Fix division by zero bug triggered by pointers to opaque structs.
16 years ago
theraven
f54132293b
Remove debugging line from encoding2.c
16 years ago
thebeing
673ae40779
64bit fixes.
16 years ago
theraven
4ee07676cc
Added rewritten encoding parser. The functions that function pointers as arguments and parse compound types should be exposed via the public interfaces, or possibly moved to a separate library - they are generally useful.
16 years ago