SmalltalkCodeGeneratorTool.st
changeset 12879 a544ab64abc0
parent 12712 b412eb74759b
child 13170 c9b815af5777
child 13591 36a35e7a4710
--- a/SmalltalkCodeGeneratorTool.st	Fri Jun 07 14:08:09 2013 +0200
+++ b/SmalltalkCodeGeneratorTool.st	Fri Jun 07 14:08:27 2013 +0200
@@ -1591,6 +1591,27 @@
         in:aClass
 !
 
+createAspectMethodFor:anAspectSymbol in:aClass
+    "create an aspect method."
+
+    |source aspect|
+
+    aspect := anAspectSymbol asSymbol.
+    source := String 
+        streamContents:[:s |
+            s nextPutAll:aspect asString.
+            s nextPutAll:'
+    |holder|
+
+    (holder := builder bindingAt:',aspect storeString,') isNil ifTrue:[
+        builder aspectAt:',aspect storeString,' put:(holder := nil asValue).
+    ].
+    ^ holder.
+'.
+        ].
+    self compile:source forClass:aClass inCategory:#aspects.
+!
+
 createCopyrightMethodFor:copyRightText for:aClass
     "add copyright method containing text,
      but only if not already present."
@@ -2529,14 +2550,14 @@
 !SmalltalkCodeGeneratorTool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.20 2013-04-25 13:11:09 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.21 2013-06-07 12:08:27 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.20 2013-04-25 13:11:09 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.21 2013-06-07 12:08:27 cg Exp $'
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ '$Id: SmalltalkCodeGeneratorTool.st,v 1.21 2013-06-07 12:08:27 cg Exp $'
 ! !