ObjFW  History of src/OFIntrospection.m of 898f6b5fbb823847

History of file src/OFIntrospection.m at check-in 898f6b5fbb823847

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
runtime: Make properties opaque and provide an API file: [f35aa9485e] check-in: [44f5a7d029] user: js, branch: trunk, size: 8912 [annotate] [blame] [check-ins using] [diff]
2019-12-08
21:51
runtime: Make methods opaque and provide an API file: [22873e1cb7] check-in: [f310bcc3ff] user: js, branch: trunk, size: 11314 [annotate] [blame] [check-ins using] [diff]
2019-11-24
15:22
runtime: Make ivars opaque and provide an API file: [87a3a4c527] check-in: [688eef7561] user: js, branch: trunk, size: 12524 [annotate] [blame] [check-ins using] [diff]
2019-10-20
13:15
Fix missing fast paths in -[isEqual:] file: [58e26172d8] check-in: [9122facff6] user: js, branch: trunk, size: 13261 [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
Use dot syntax file: [79c1692f33] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 13260 [annotate] [blame] [check-ins using] [diff]
2019-02-07
00:46
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. file: [cd6beb50c0] check-in: [ef6d69931e] user: js, branch: trunk, size: 13284 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [7aef2cee7c] check-in: [0509d7a844] user: js, branch: trunk, size: 13260 [annotate] [blame] [check-ins using] [diff]
2018-01-14
14:12
OFIntrospection: Fix property parsing on Apple RT file: [e061b9b24d] check-in: [cc198764b7] user: js, branch: trunk, size: 13254 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [948865fcb1] check-in: [7e5c81e186] user: js, branch: trunk, size: 12875 [annotate] [blame] [check-ins using] [diff]
2017-11-11
23:27
Small optimization for -[isEqual:] file: [68d6f8235a] check-in: [526feacebc] user: js, branch: trunk, size: 12852 [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
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. file: [045afb68a1] check-in: [2f4e0df8be] user: js, branch: trunk, size: 12778 [annotate] [blame] [check-ins using] [diff]

2017-10-01
18:09
OFTarArchive: Support for star numbers file: [952618548a] check-in: [6b6856298d] user: js, branch: trunk, size: 12708 [annotate] [blame] [check-ins using] [diff]
14:14
Backport nullability fixes from master file: [b70bed1465] check-in: [f37b373a95] user: js, branch: 0.90, size: 12673 [annotate] [blame] [check-ins using] [diff]
14:05
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. file: [cd2923612d] check-in: [e47c219327] user: js, branch: trunk, size: 12693 [annotate] [blame] [check-ins using] [diff]

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

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

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

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

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

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

2017-01-07
00:37
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. file: [0aa9a039cb] check-in: [d9eb7b50b3] user: js, branch: trunk, size: 12600 [annotate] [blame] [check-ins using] [diff]

2016-06-05
21:17
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. file: [5bbbc65fa4] check-in: [09a0d12bae] user: js, branch: trunk, size: 12637 [annotate] [blame] [check-ins using] [diff]

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

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

00:41
Update copyright

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

2015-11-29
11:43
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). file: [521053ff4d] check-in: [48980f2297] user: js, branch: trunk, size: 12539 [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
Update copyright file: [28d5671231] check-in: [cfd374b906] user: js, branch: trunk, size: 12874 [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
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. file: [f9f3542aad] check-in: [13ee56edf3] user: js, branch: trunk, size: 12868 [annotate] [blame] [check-ins using] [diff]

2014-04-14
00:45
Coding style

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

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

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

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

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

16:42
OFMethod: Add one more NULL check.

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

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

2012-08-10
20:08
Directly use the runtime's autorelease pools.

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

2012-07-17
23:59
Add ivar introspection for the ObjFW runtime. file: [fd9ea3d6be] check-in: [82b9b5f7c8] user: js, branch: trunk, size: 7255 [annotate] [blame] [check-ins using] [diff]
00:02
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. file: [495179aec4] check-in: [9df84ee33d] user: js, branch: trunk, size: 6620 [annotate] [blame] [check-ins using] [diff]

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

19:51
Add introspection for instance variables for the old GNU runtime. file: [57a446ae33] check-in: [51053dafc6] user: js, branch: trunk, size: 6004 [annotate] [blame] [check-ins using] [diff]
19:41
Add introspection for instance variables.

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

2011-09-15
11:18
Fix a missing rename. file: [7933a51094] check-in: [100ba19a60] user: js, branch: trunk, size: 4164 [annotate] [blame] [check-ins using] [diff]
2011-09-12
19:57
Rename -[cString] to -[UTF8String]. file: [e964a3550f] check-in: [e6fd39d11e] user: js, branch: trunk, size: 4123 [annotate] [blame] [check-ins using] [diff]
2011-08-03
00:30
Make OFArray an abstract class. file: [20e651ef45] check-in: [a855618045] user: js, branch: trunk, size: 4082 [annotate] [blame] [check-ins using] [diff]
2011-08-01
19:01
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. file: [5d382d3723] check-in: [7b5b0c8174] user: js, branch: trunk, size: 4096 [annotate] [blame] [check-ins using] [diff]

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