On 22/08/2019 20:15, Zoë Peterson wrote: > I just updated to the newer Cocoa headers (Thanks Jonas!) and I've run > into a problem with Lazarus. > > NSExtensionContext.inc includes this line: > > {$if > defined(__OBJC2__)defined(interface)defined(NSExtensionContext)defined(NSObject)} > > > It compiles ok for some reason, but screws up Code Tools so things like > jump to inherited don't work on subclasses of AppKit defined Objective-C > classes. > > Is that line correct?
Syntactically, yes: Borland-style compilers (and hence FPC as well) ignore all invalid tokens/characters at the end of an $if/$if(n)def directive. So the above is equivalent to {$if defined(__OBJC2__)}. > Do it (and other places that have the same > construct) need to be fixed or does Code Tools need to be updated to > understand it? The latter definitely. The former, possibly as well (although the compiler currently never defines __OBJC2__, so it won't make a difference at this time). Jonas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal