compnerd marked 2 inline comments as done. compnerd added inline comments.
================ Comment at: clang/docs/APINotes.rst:233-235 + Note that the type is *not* parsed in the context where it will be used, + which means that macros are not available and nullability must be applied + explicitly (even in an ``NS_ASSUME_NONNULL_BEGIN`` section). ---------------- rsmith wrote: > compnerd wrote: > > rsmith wrote: > > > So what context is it parsed in? Below you have an `NSArray *` example; > > > how do we do the lookup for `NSArray`? > > A separate buffer is constructed where the annotations are processed. > > During semantic analysis, the requested APINotes are processed and the > > attributes specified are applied to the declaration. > I've not been able to work out what the rule is, based on this documentation. > The name `NSArray` isn't predeclared, so how is it found? How can a user > ensure their types are visible to this parsing process? Are these things > parsed as if they appear at the global scope in a translation unit in which > the corresponding framework has been imported? (And if so, why wouldn't > macros be available there too?) Whatever the rule is, I'd like to see it > documented. Discussed offline, this has been updated. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88446/new/ https://reviews.llvm.org/D88446 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits