To create a collection of Pragma instances, send one of the allNamed:... location messages to Pragma. There are several forms, the simplest being allNamed:in: which takes an annotation pragma name and a class as arguments. For example, suppose the above doSomething and doSomethingElse methods are defined in a class, MyPragmaExample. To collect all the doStuff annotation pragmas, send:which will return a collection with two Pragma instances, one for the doStuff annotation pragma in each of the methods. Similarly,returns a collection with a single Pragma instance. In this case, the annotation pragmas are in instance methods. If they were in class methods, the class argument would be: MyPragmaExample class.This method searches for pragmas in only one class. Several of the other location methods search a branch of the class hierarchy, taking a start and end class for the search. For example, in Pier, by sending an allNamed:from:to: message, you can collect all sanitize pragmas in methods between the receiving class and PRContext (or whatever hierarchical sequence of classes you need to search):Browse the Pragma class methods for the full set of locating methods (“finding” category). Additional methods provide various sorting options on the collection of Pragma instances.
|