Annotation.st
branchjv
changeset 17766 0acf634e6550
child 17775 90a5bae0a710
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Annotation.st	Thu May 20 14:35:23 2010 +0100
@@ -0,0 +1,213 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic' }"
+
+Object subclass:#Annotation
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Kernel-Extensions'
+!
+
+Annotation subclass:#NameSpace
+	instanceVariableNames:'nameSpace'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Annotation
+!
+
+Annotation subclass:#Unknown
+	instanceVariableNames:'key arguments'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Annotation
+!
+
+!Annotation class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!Annotation class methodsFor:'instance creation'!
+
+key: key arguments: arguments 
+    ^ Annotation::Unknown new key: key arguments: arguments
+
+    "Created: / 19-05-2010 / 16:47:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+namespace: aString
+
+    ^Annotation::NameSpace new nameSpaceName: aString
+
+    "Created: / 19-05-2010 / 16:01:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation methodsFor:'accessing'!
+
+key
+
+    ^#namespace:
+
+    "Created: / 19-05-2010 / 16:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation methodsFor:'printing & storing'!
+
+printOn:aStream
+    "append a printed representation if the receiver to the argument, aStream"
+
+    self storeOn:aStream.
+
+    "Modified: / 19-05-2010 / 16:25:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+storeOn:aStream
+
+    self subclassResponsibility
+
+    "Created: / 19-05-2010 / 16:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation methodsFor:'processing'!
+
+annotatesClass: aClass
+
+    ^self subclassResponsibility
+
+    "Created: / 20-05-2010 / 11:15:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+annotatesMethod: aMethod
+
+    ^self subclassResponsibility
+
+    "Created: / 20-05-2010 / 11:15:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::NameSpace methodsFor:'accessing'!
+
+key
+
+    ^#namespace:
+
+    "Created: / 19-05-2010 / 16:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameSpace
+    ^ nameSpace
+!
+
+nameSpace:something
+    nameSpace := something.
+! !
+
+!Annotation::NameSpace methodsFor:'initialization'!
+
+nameSpaceName: aString
+
+    self nameSpace: (NameSpace name: aString)
+
+    "Created: / 19-05-2010 / 16:02:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::NameSpace methodsFor:'printing & storing'!
+
+storeOn:aStream
+    "superclass Annotation says that I am responsible to implement this method"
+
+    aStream nextPutAll: '(Annotation namespace: '.
+    nameSpace name storeOn: aStream.
+    aStream nextPut:$)
+
+    "Modified: / 19-05-2010 / 16:27:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::NameSpace methodsFor:'processing'!
+
+annotatesClass:aClass
+
+    "Nothing to do"
+
+    "Modified: / 20-05-2010 / 11:16:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+annotatesMethod:aMethod
+
+    aMethod lookupObject: NamespaceAwareLookup instance
+
+    "Modified: / 20-05-2010 / 11:18:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::Unknown methodsFor:'accessing'!
+
+arguments
+    ^ arguments
+!
+
+key
+    ^ key
+! !
+
+!Annotation::Unknown methodsFor:'initialization'!
+
+key:keyArg arguments:argumentsArg 
+    key := keyArg.
+    arguments := argumentsArg.
+! !
+
+!Annotation::Unknown methodsFor:'printing & storing'!
+
+storeOn:aStream
+    "superclass Annotation says that I am responsible to implement this method"
+
+    aStream nextPutAll: '(Annotation key: '.
+    key storeOn: aStream.
+    aStream nextPutAll: ' arguments: '.
+    arguments storeOn: aStream.
+    aStream nextPut: $).
+
+    "Modified: / 19-05-2010 / 16:46:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::Unknown methodsFor:'processing'!
+
+annotatesClass:aClass
+
+    "Nothing to do"
+
+    "Modified: / 20-05-2010 / 11:15:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+annotatesMethod:aMethod
+
+    "Nothing to do"
+
+    "Modified: / 20-05-2010 / 11:15:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id: Annotation.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+! !