[squeak-dev] The Inbox: Kernel-fbs.585.mcz

commits at source.squeak.org commits at source.squeak.org
Sun May 8 18:03:40 UTC 2011


A new version of Kernel was added to project The Inbox:
http://source.squeak.org/inbox/Kernel-fbs.585.mcz

==================== Summary ====================

Name: Kernel-fbs.585
Author: fbs
Time: 8 May 2011, 7:02:15.266 pm
UUID: d9402d4c-6a38-174f-9b94-739082e073c4
Ancestors: Kernel-nice.584

Minor spelling nits fixed.

=============== Diff against Kernel-nice.584 ===============

Item was changed:
  Object subclass: #Pragma
  	instanceVariableNames: 'method keyword arguments'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'Kernel-Methods'!
  
+ !Pragma commentStamp: 'fbs 5/8/2011 18:21' prior: 0!
- !Pragma commentStamp: '<historical>' prior: 0!
  I represent an occurrence of a pragma in a compiled method.  A pragma is a literal message pattern that occurs between angle brackets at the start of a method after any temporaries.  A common example is the primitive pragma:
  	<primitive: 123 errorCode: 'errorCode'>
+ but one can add one's own and use them as metadata attached to a method.  Because pragmas are messages one can browse senders and implementors and perform them.  One can query a method for its pragmas by sending it the pragmas message, which answers an Array of instances of me, one for each pragma in the method.
- but one can add one's own and use them as metadata attached to a method.  Because pragmas are messages one can browsse senders and implementors and perform them.  One can query a method for its pragmas by sendng it the pragmas message, which answers an Array of instances of me, one for each pragma in the method.
  
  I can provide information about the defining class, method, its selector, as well as the information about the pragma keyword and its arguments. See the two 'accessing' protocols for details. 'accessing-method' provides information about the method the pragma is found in, while 'accessing-pragma' is about the pragma itself.
  
  Instances are retrieved using one of the pragma search methods of the 'finding' protocol on the class side.
  
  To browse all methods with pragmas in the system evaluate
  	SystemNavigation default browseAllSelect: [:m| m pragmas notEmpty]
  and to browse all nonprimitive methods with pragmas evaluate
  	SystemNavigation default browseAllSelect: [:m| m primitive isZero and: [m pragmas notEmpty]]!




More information about the Squeak-dev mailing list