ObjFW  History of src/OFIntrospection.m of e810b8ab15fc968d

History of the file that is called src/OFIntrospection.m at check-in e810b8ab15fc968d

2019-12-15
15:37
Deleted: Merge branch 'master' into 1.0 (check-in: [11e303eb3b] user: js, branch: 1.0, size: 0)
2019-12-12
23:30
Deleted: Remove OFIntrospection

This is no longer necessary now that the ObjFW runtime offers the same
API as the Apple runtime. (check-in: [a989f0ab6f] user: js, branch: trunk, size: 0)

01:04
[f35aa9485e] part of check-in [44f5a7d029] runtime: Make properties opaque and provide an API (check-in: [44f5a7d029] user: js, branch: trunk, size: 8912) [annotate] [blame] [check-ins using] [diff]
2019-12-08
21:51
[22873e1cb7] part of check-in [f310bcc3ff] runtime: Make methods opaque and provide an API (check-in: [f310bcc3ff] user: js, branch: trunk, size: 11314) [annotate] [blame] [check-ins using] [diff]
2019-11-24
15:22
[87a3a4c527] part of check-in [688eef7561] runtime: Make ivars opaque and provide an API (check-in: [688eef7561] user: js, branch: trunk, size: 12524) [annotate] [blame] [check-ins using] [diff]
2019-10-20
13:15
[58e26172d8] part of check-in [9122facff6] Fix missing fast paths in -[isEqual:] (check-in: [9122facff6] user: js, branch: trunk, size: 13261) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[79c1692f33] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 13260) [annotate] [blame] [check-ins using] [diff]
2019-02-07
00:46
[cd6beb50c0] part of check-in [ef6d69931e] Make style consistent between ObjFW and ObjFW_RT

ObjFW_RT used to be a separate project that followed the BSD style, as
it was written in pure C, while ObjFW's style is based on the BSD style
with changes to make it a better fit for Objective-C. This commit
changes ObjFW_RT to use the same style as ObjFW. (check-in: [ef6d69931e] user: js, branch: trunk, size: 13284) [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
[7aef2cee7c] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 13260) [annotate] [blame] [check-ins using] [diff]
2018-01-14
14:12
[e061b9b24d] part of check-in [cc198764b7] OFIntrospection: Fix property parsing on Apple RT (check-in: [cc198764b7] user: js, branch: trunk, size: 13254) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[948865fcb1] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 12875) [annotate] [blame] [check-ins using] [diff]
2017-11-11
23:27
[68d6f8235a] part of check-in [526feacebc] Small optimization for -[isEqual:] (check-in: [526feacebc] user: js, branch: trunk, size: 12852) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[045afb68a1] part of check-in [2f4e0df8be] Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 12778) [annotate] [blame] [check-ins using] [diff]

2017-10-01
18:09
[952618548a] part of check-in [6b6856298d] OFTarArchive: Support for star numbers (check-in: [6b6856298d] user: js, branch: trunk, size: 12708) [annotate] [blame] [check-ins using] [diff]
14:14
[b70bed1465] part of check-in [f37b373a95] Backport nullability fixes from master (check-in: [f37b373a95] user: js, branch: 0.90, size: 12673) [annotate] [blame] [check-ins using] [diff]
14:05
[cd2923612d] part of check-in [e47c219327] Disable -Wnullable-to-nonnull-conversion again

It does not work well enough yet: While creating a lot of noise, it
fails to even find many of the obvious cases. Depending on the static
analyzer seems to be the better approach for now. (check-in: [e47c219327] user: js, branch: trunk, size: 12693) [annotate] [blame] [check-ins using] [diff]

09:54
[b331601cc7] part of check-in [5882409fd0] Nullability fixes for ObjFW runtime (check-in: [5882409fd0] user: js, branch: trunk, size: 12735) [annotate] [blame] [check-ins using] [diff]
09:28
[494b50aa22] part of check-in [166fd50e82] Nullability fixes for macOS High Sierra (check-in: [166fd50e82] user: js, branch: trunk, size: 12715) [annotate] [blame] [check-ins using] [diff]
2017-05-21
21:28
[0844281f73] part of check-in [6b77a5dd8b] Prefix private methods with of_ instead of OF_

This matches Apple's style. (check-in: [6b77a5dd8b] user: js, branch: trunk, size: 12629) [annotate] [blame] [check-ins using] [diff]

2017-05-13
16:56
[46193e4da0] part of check-in [4df6ab6bca] Fix compilation with GCC (check-in: [4df6ab6bca] user: js, branch: trunk, size: 12629) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[1afb80a6b9] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 12593) [annotate] [blame] [check-ins using] [diff]

2017-05-06
19:43
[3b325f542e] part of check-in [cca678886f] Clean up a few includes (check-in: [cca678886f] user: js, branch: trunk, size: 12587) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[ddfa0d4e34] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 12606) [annotate] [blame] [check-ins using] [diff]

2017-01-07
00:37
[0aa9a039cb] part of check-in [d9eb7b50b3] Add of_ascii_{to{upper,lower},is{alpha,alnum}}

These are independent of the locale and work on the ASCII character set.

Unlike the C ones, these are 8-bit safe, meaning if a character > 0x7F
is passed, is{alpha,alnum} returns false and to{upper,lower} returns the
original character. (check-in: [d9eb7b50b3] user: js, branch: trunk, size: 12600) [annotate] [blame] [check-ins using] [diff]

2016-06-05
21:17
[5bbbc65fa4] part of check-in [09a0d12bae] Always cast to unsigned char for to{upper,lower}()

This is required as passing something signed to it is an error on
NetBSD, but passing anything else than a char is undefined on Linux. (check-in: [09a0d12bae] user: js, branch: trunk, size: 12637) [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
[ce69904b51] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 12627) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
[2f90f7ce1e] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 12878) [annotate] [blame] [check-ins using] [diff]

00:41
[0997c2730b] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 12543) [annotate] [blame] [check-ins using] [diff]

2015-11-29
11:43
[521053ff4d] part of check-in [48980f2297] Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). (check-in: [48980f2297] user: js, branch: trunk, size: 12539) [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
[28d5671231] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 12874) [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
[f9f3542aad] part of check-in [13ee56edf3] Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. (check-in: [13ee56edf3] user: js, branch: trunk, size: 12868) [annotate] [blame] [check-ins using] [diff]

2014-04-14
00:45
[9e051f7ab4] part of check-in [9da9b2b64c] Coding style

No functional change intended. (check-in: [9da9b2b64c] user: js, branch: trunk, size: 12976) [annotate] [blame] [check-ins using] [diff]

2014-02-12
00:10
[6ffe55f66b] part of check-in [bb26fbe4b8] Add property introspection (check-in: [bb26fbe4b8] user: js, branch: trunk, size: 12971) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[6a14ecf60c] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 7165) [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:12
[78aaa4b641] part of check-in [35dafd5c57] Add OF_INVALID_INIT_METHOD. (check-in: [35dafd5c57] user: js, branch: trunk, size: 7159) [annotate] [blame] [check-ins using] [diff]
2013-08-13
10:39
[1405af45f9] part of check-in [73ae6fa60f] Add a few more instancetypes. (check-in: [73ae6fa60f] user: js, branch: trunk, size: 7071) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[f870fce7d2] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 7015) [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
[562aeea48c] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 6994) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[59781cdf97] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 6973) [annotate] [blame] [check-ins using] [diff]
2012-12-02
16:43
[f27111d726] part of check-in [ab13f1d324] OFMethod: Add one more NULL check.

This makes sure we never compare anything with NULL. (check-in: [ab13f1d324] user: js, branch: trunk, size: 6967) [annotate] [blame] [check-ins using] [diff]

16:42
[e8a22a012c] part of check-in [edc67e0190] OFMethod: Add one more NULL check.

This makes sure we never compare anything with NULL. (check-in: [edc67e0190] user: js, branch: 0.7, size: 7125) [annotate] [blame] [check-ins using] [diff]

2012-10-28
14:43
[3575f5766b] part of check-in [f904fef37e] OFIntrospection: Allow selectors containing UTF-8. (check-in: [f904fef37e] user: js, branch: trunk, size: 6900) [annotate] [blame] [check-ins using] [diff]
2012-10-16
13:03
[2b8f65eef1] part of check-in [c64a6fd74d] Make OFMethods comparable and hashable. (check-in: [c64a6fd74d] user: js, branch: trunk, size: 7058) [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
[bb255a727b] part of check-in [fb515e8e24] Make use of instancetype. (check-in: [fb515e8e24] user: js, branch: trunk, size: 6248) [annotate] [blame] [check-ins using] [diff]
2012-09-16
15:27
[5c4e5cd23b] part of check-in [c137da5e5b] Prefix all private methods with OF_. (check-in: [c137da5e5b] user: js, branch: trunk, size: 6234) [annotate] [blame] [check-ins using] [diff]
2012-09-06
19:13
[f04bb94239] part of check-in [28cc9a516e] OFIntrospection: Remove property introspection.

This seems to be too buggy in compilers, at least when using GNU-style
runtimes (neither GCC nor Clang emit them correctly there right now). (check-in: [28cc9a516e] user: js, branch: trunk, size: 6214) [annotate] [blame] [check-ins using] [diff]

2012-08-10
20:08
[e0bf0f6365] part of check-in [1255f3a11a] Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. (check-in: [1255f3a11a] user: js, branch: trunk, size: 7540) [annotate] [blame] [check-ins using] [diff]

2012-07-17
23:59
[fd9ea3d6be] part of check-in [82b9b5f7c8] Add ivar introspection for the ObjFW runtime. (check-in: [82b9b5f7c8] user: js, branch: trunk, size: 7255) [annotate] [blame] [check-ins using] [diff]
00:02
[495179aec4] part of check-in [9df84ee33d] Implement introspection for the ObjFW runtime.

Currently, only methods can be introspected. This means that ivars and
properties are still on the todo list. However, the ObjFW runtime does
not export structs for those yet, so this needs to be done first. (check-in: [9df84ee33d] user: js, branch: trunk, size: 6620) [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
[1b37797849] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 5420) [annotate] [blame] [check-ins using] [diff]
2012-03-04
19:42
[e4635330ec] part of check-in [7f0b0c9811] Remove all code for the GNU runtime. (check-in: [7f0b0c9811] user: js, branch: runtime, size: 5421) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[3e6c8b04d5] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 7386) [annotate] [blame] [check-ins using] [diff]
2011-10-16
21:30
[405ed0f261] part of check-in [cea0c66392] Add introspection for properties.

Unavailable with the old GNU runtime as of now. Making it work with the
old GNU runtime would require checking the ABI version manually and then
accessing stuff manually that is not available in older ABI versions. (check-in: [cea0c66392] user: js, branch: trunk, size: 7380) [annotate] [blame] [check-ins using] [diff]

19:51
[57a446ae33] part of check-in [51053dafc6] Add introspection for instance variables for the old GNU runtime. (check-in: [51053dafc6] user: js, branch: trunk, size: 6004) [annotate] [blame] [check-ins using] [diff]
19:41
[6a25e3dc19] part of check-in [93a3badbb7] Add introspection for instance variables.

Currently only for the Apple and new GNU runtime. (check-in: [93a3badbb7] user: js, branch: trunk, size: 5423) [annotate] [blame] [check-ins using] [diff]

2011-09-15
11:18
[7933a51094] part of check-in [100ba19a60] Fix a missing rename. (check-in: [100ba19a60] user: js, branch: trunk, size: 4164) [annotate] [blame] [check-ins using] [diff]
2011-09-12
19:57
[e964a3550f] part of check-in [e6fd39d11e] Rename -[cString] to -[UTF8String]. (check-in: [e6fd39d11e] user: js, branch: trunk, size: 4123) [annotate] [blame] [check-ins using] [diff]
2011-08-03
00:30
[20e651ef45] part of check-in [a855618045] Make OFArray an abstract class. (check-in: [a855618045] user: js, branch: trunk, size: 4082) [annotate] [blame] [check-ins using] [diff]
2011-08-01
19:01
[5d382d3723] part of check-in [7b5b0c8174] Don't use any other classes for +[inheritMethodsFromClass:].

Using other classes there would make it impossible to use
+[inheritMethodsFromClass:] in the classes being used, which would be
unfortunate as the classes that were used are potential candidates for
collection classes. (check-in: [7b5b0c8174] user: js, branch: trunk, size: 4096) [annotate] [blame] [check-ins using] [diff]

2011-07-29
21:52
[6307d1d02a] part of check-in [0708d6f152] Fix a leak in OFIntrospection with the Apple runtime. (check-in: [0708d6f152] user: js, branch: trunk, size: 4102) [annotate] [blame] [check-ins using] [diff]
20:35
[e9f75e8e35] part of check-in [430222609a] Make typeEncoding a const char* in OFIntrospection. (check-in: [430222609a] user: js, branch: trunk, size: 3957) [annotate] [blame] [check-ins using] [diff]
2011-07-23
14:28
Added: [fa560f7e6a] part of check-in [2e7534b6dc] Add OFIntrospection. (check-in: [2e7534b6dc] user: js, branch: trunk, size: 4072) [annotate] [blame] [check-ins using]