Annotation.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 21 Dec 2011 22:04:49 +0000
branchjv
changeset 17907 998195c96a6d
parent 17892 d86c8bd5ece3
child 17910 8d796ca8bd1d
permissions -rw-r--r--
Merged with /trunk
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
              All Rights Reserved
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
 hereby transferred.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
Object subclass:#Annotation
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	instanceVariableNames:''
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	classVariableNames:''
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	poolDictionaries:''
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	category:'Kernel-Extensions'
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
Annotation subclass:#NameSpace
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
	instanceVariableNames:'nameSpace'
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
	classVariableNames:''
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
	poolDictionaries:''
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	privateIn:Annotation
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
17781
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
    28
Annotation subclass:#Resource
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
    29
	instanceVariableNames:'type value'
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
    30
	classVariableNames:''
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
    31
	poolDictionaries:''
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
    32
	privateIn:Annotation
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
    33
!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
    34
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
Annotation subclass:#Unknown
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
    36
	instanceVariableNames:'method key arguments'
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
	classVariableNames:''
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
	poolDictionaries:''
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
	privateIn:Annotation
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    42
Annotation comment:'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:
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    43
	<primitive: 123 errorCode: ''errorCode''>
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    44
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.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    45
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.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    46
Instances are retrieved using one of the pragma search methods of the ''finding'' protocol on the class side.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    47
To browse all methods with pragmas in the system evaluate
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    48
	SystemNavigation default browseAllSelect: [:m| m pragmas notEmpty]
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    49
and to browse all nonprimitive methods with pragmas evaluate
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    50
	SystemNavigation default browseAllSelect: [:m| m primitive isZero and: [m pragmas notEmpty]]'
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    51
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    52
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
!Annotation class methodsFor:'documentation'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
copyright
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
 COPYRIGHT (c) 2006 by eXept Software AG
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
              All Rights Reserved
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
 This software is furnished under a license and may be used
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
 only in accordance with the terms of that license and with the
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
 inclusion of the above copyright notice.   This software may not
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
 be provided or otherwise made available to, or used by, any
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
 other person.  No title to or ownership of the software is
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
 hereby transferred.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    69
!Annotation class methodsFor:'initialization'!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    70
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    71
initialize
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    72
    "Invoked at system start or when the class is dynamically loaded."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    73
17862
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    74
    Smalltalk at:#Pragma put:self.
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    75
17862
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    76
    "Modified: / 09-09-2011 / 07:16:26 / cg"
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    77
! !
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    78
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
!Annotation class methodsFor:'instance creation'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    81
for: aMethod selector: aSelector arguments: anArray
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    82
	^self new
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    83
		setMethod: aMethod;
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    84
		setKeyword: aSelector;
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    85
		setArguments: anArray;
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    86
		yourself
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    87
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
    88
17775
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    89
key: key arguments: arguments
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    90
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    91
    ^(self respondsTo: key)
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    92
        ifTrue:
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    93
            [self 
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    94
                perform: key 
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    95
                withArguments: arguments]
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    96
        ifFalse:
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    97
            [Annotation::Unknown new 
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    98
                key: key 
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
    99
                arguments: arguments]
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    "Created: / 19-05-2010 / 16:47:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17775
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   102
    "Modified: / 02-07-2010 / 16:22:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   105
method:method key:key arguments:arguments
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   106
17862
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   107
    ^
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   108
    "/ cg: do not react on all those methods inherited from Object (such as inline:)
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   109
    "/ self respondsTo: key)
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   110
    (self class includesSelector:key) 
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   111
        ifTrue:
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   112
            [self 
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   113
                perform: key 
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   114
                withArguments: arguments]
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   115
        ifFalse:
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   116
            [Annotation::Unknown new
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   117
                method: method
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   118
                key: key 
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   119
                arguments: arguments]
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   120
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   121
    "Created: / 19-05-2010 / 16:47:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   122
    "Modified: / 02-07-2010 / 16:22:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   123
    "Created: / 05-09-2011 / 04:39:17 / cg"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   124
!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   125
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
namespace: aString
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
    ^Annotation::NameSpace new nameSpaceName: aString
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    "Created: / 19-05-2010 / 16:01:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17781
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   131
!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   132
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   133
resource: type
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   134
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   135
    ^Annotation::Resource new type: type
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   136
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   137
    "Created: / 16-07-2010 / 11:31:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   138
!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   139
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   140
resource: type value: value
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   141
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   142
    ^Annotation::Resource new 
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   143
        type: type;
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   144
        value: value
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   145
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   146
    "Created: / 16-07-2010 / 11:31:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   149
!Annotation class methodsFor:'finding'!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   150
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   151
allNamed: aSymbol from: aSubClass to: aSuperClass
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   152
	"Answer a collection of all pragmas found in methods of all classes between aSubClass and aSuperClass (inclusive) whose keyword is aSymbol."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   153
	
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   154
	^ Array streamContents: [ :stream |
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   155
		aSubClass withAllSuperclassesDo: [ :class |
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   156
			self withPragmasIn: class do:  [ :pragma |
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   157
				pragma keyword = aSymbol
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   158
					ifTrue: [ stream nextPut: pragma ] ].
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   159
			aSuperClass = class
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   160
				ifTrue: [ ^ stream contents ] ] ].
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   161
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   162
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   163
allNamed: aSymbol from: aSubClass to: aSuperClass sortedByArgument: anInteger
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   164
	"Answer a collection of all pragmas found in methods of all classes between aSubClass and aSuperClass (inclusive) whose keyword is aSymbol, sorted according to argument anInteger."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   165
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   166
	^ self allNamed: aSymbol from: aSubClass to: aSuperClass sortedUsing: [ :a :b | (a argumentAt: anInteger) < (b argumentAt: anInteger) ].
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   167
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   168
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   169
allNamed: aSymbol from: aSubClass to: aSuperClass sortedUsing: aSortBlock
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   170
	"Answer a collection of all pragmas found in methods of all classes between aSubClass and aSuperClass (inclusive) whose keyword is aSymbol, sorted according to aSortBlock."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   171
	
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   172
	^ (self allNamed: aSymbol from: aSubClass to: aSuperClass) sort: aSortBlock.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   173
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   174
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   175
allNamed: aSymbol in: aClass
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   176
	"Answer a collection of all pragmas found in methods of aClass whose keyword is aSymbol."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   177
	
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   178
	^ Array streamContents: [ :stream |
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   179
		self withPragmasIn: aClass do: [ :pragma |
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   180
			pragma keyword = aSymbol
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   181
				ifTrue: [ stream nextPut: pragma ] ] ].
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   182
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   183
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   184
allNamed: aSymbol in: aClass sortedByArgument: anInteger
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   185
	"Answer a collection of all pragmas found in methods of aClass whose keyword is aSymbol, sorted according to argument anInteger."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   186
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   187
	^ self allNamed: aSymbol in: aClass sortedUsing: [ :a :b | (a argumentAt: anInteger) < (b argumentAt: anInteger) ].
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   188
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   189
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   190
allNamed: aSymbol in: aClass sortedUsing: aSortBlock
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   191
	"Answer a collection of all pragmas found in methods of aClass whose keyword is aSymbol, sorted according to aSortBlock."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   192
	
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   193
	^ (self allNamed: aSymbol in: aClass) sort: aSortBlock.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   194
! !
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   195
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   196
!Annotation class methodsFor:'private'!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   197
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   198
keyword: aSymbol arguments: anArray
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   199
	^ self new
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   200
		setKeyword: aSymbol;
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   201
		setArguments: anArray;
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   202
		yourself.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   203
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   204
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   205
withPragmasIn: aClass do: aBlock
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   206
        aClass selectorsAndMethodsDo: [ :selector :method | method annotationsDo: aBlock ].
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   207
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   208
    "Modified: / 20-08-2011 / 21:31:49 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   209
! !
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   210
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
!Annotation methodsFor:'accessing'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
17775
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   213
first
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   214
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   215
    ^self key
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   216
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   217
    "Created: / 10-07-2010 / 21:38:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   218
!
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   219
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
key
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
17781
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   222
    ^self subclassResponsibility
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
    "Created: / 19-05-2010 / 16:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17781
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   225
    "Modified: / 16-07-2010 / 11:29:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   228
!Annotation methodsFor:'accessing-method'!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   229
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   230
method
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   231
        "Answer the compiled-method containing the pragma."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   232
        
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   233
        self halt:'inimplemented'
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   234
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   235
    "Modified: / 21-08-2011 / 12:44:37 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   236
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   237
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   238
methodClass
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   239
        "Answer the class of the method containing the pragma."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   240
        
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   241
        ^ self method methodClass
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   242
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   243
    "Modified: / 21-08-2011 / 12:44:47 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   244
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   245
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   246
selector
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   247
        "Answer the selector of the method containing the pragma.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   248
         Do not confuse this with the selector of the pragma's message pattern."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   249
        
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   250
        ^ self method selector
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   251
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   252
    "Modified: / 21-08-2011 / 12:45:20 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   253
! !
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   254
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   255
!Annotation methodsFor:'accessing-pragma'!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   256
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   257
argumentAt: anInteger
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   258
	"Answer one of the arguments of the pragma."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   259
	
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   260
	^ self arguments at: anInteger.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   261
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   262
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   263
arguments
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   264
        "Answer the arguments of the receiving pragma. For a pragma defined as <key1: val1 key2: val2> this will answer #(val1 val2)."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   265
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   266
    self subclassResponsibility
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   267
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   268
    "Modified: / 21-08-2011 / 12:43:54 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   269
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   270
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   271
message
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   272
	"Answer the message of the receiving pragma."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   273
	
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   274
	^ Message selector: self keyword arguments: self arguments. 
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   275
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   276
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   277
numArgs
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   278
	"Answer the number of arguments in the pragma."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   279
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   280
	^ self arguments size.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   281
! !
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   282
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   283
!Annotation methodsFor:'comparing'!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   284
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   285
analogousCodeTo: anObject 
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   286
        ^self class == anObject class
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   287
          and: [self keyword == anObject keyword
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   288
          and: [self arguments = anObject arguments]]
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   289
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   290
    "Modified: / 21-08-2011 / 12:45:37 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   291
! !
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   292
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   293
!Annotation methodsFor:'compatibility - squeak'!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   294
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   295
keyword
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   296
    ^ self key
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   297
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   298
    "Created: / 05-09-2011 / 04:34:26 / cg"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   299
! !
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   300
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   301
!Annotation methodsFor:'initialization'!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   302
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   303
setArguments: anArray
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   304
    self subclassResponsibility
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   305
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   306
    "Modified: / 21-08-2011 / 12:45:51 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   307
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   308
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   309
setKeyword: aSymbol
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   310
        self subclassResponsibility
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   311
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   312
    "Modified: / 21-08-2011 / 12:46:06 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   313
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   314
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   315
setMethod: aCompiledMethod
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   316
        self subclassResponsibility
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   317
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   318
    "Modified: / 21-08-2011 / 12:46:16 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   319
! !
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   320
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   321
!Annotation methodsFor:'printing'!
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
printOn:aStream
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
    "append a printed representation if the receiver to the argument, aStream"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
    self storeOn:aStream.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
    "Modified: / 19-05-2010 / 16:25:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   329
! !
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   330
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   331
!Annotation methodsFor:'printing & storing'!
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
storeOn:aStream
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
    self subclassResponsibility
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
    "Created: / 19-05-2010 / 16:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
!Annotation methodsFor:'processing'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
annotatesClass: aClass
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
    ^self subclassResponsibility
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
    "Created: / 20-05-2010 / 11:15:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
annotatesMethod: aMethod
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
    ^self subclassResponsibility
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
    "Created: / 20-05-2010 / 11:15:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   354
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   355
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   356
sendTo: anObject
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   357
	"Send the pragma keyword together with its arguments to anObject and answer the result."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   358
	
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   359
	^ anObject perform: self keyword withArguments: self arguments
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   360
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   361
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   362
withArgumentsDo: aBlock
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   363
	"Pass the arguments of the receiving pragma into aBlock and answer the result."
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   364
	
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   365
	^ aBlock valueWithArguments: self arguments
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
17775
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   368
!Annotation methodsFor:'testing'!
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   369
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   370
hasLiteral: aLiteral
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   371
        ^self keyword == aLiteral 
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   372
           or: [self arguments hasLiteral: aLiteral]
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   373
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   374
    "Modified: / 21-08-2011 / 12:46:44 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   375
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   376
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   377
hasLiteralSuchThat: aBlock
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   378
        "Answer true if litBlock returns true for any literal in the receiver, even if embedded in further array structure.
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   379
         This method is only intended for private use by CompiledMethod hasLiteralSuchThat:"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   380
        ^(aBlock value: self keyword)
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   381
           or: [self arguments hasLiteralSuchThat: aBlock]
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   382
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   383
    "Modified: / 21-08-2011 / 12:46:31 / cg"
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   384
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   385
17775
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   386
isUnknown
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   387
    ^ false
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   388
! !
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   389
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
!Annotation::NameSpace methodsFor:'accessing'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
key
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
    ^#namespace:
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
    "Created: / 19-05-2010 / 16:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
nameSpace
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
    ^ nameSpace
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
nameSpace:something
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
    nameSpace := something.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
!Annotation::NameSpace methodsFor:'initialization'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
nameSpaceName: aString
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
    self nameSpace: (NameSpace name: aString)
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
    "Created: / 19-05-2010 / 16:02:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
!Annotation::NameSpace methodsFor:'printing & storing'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
storeOn:aStream
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
    "superclass Annotation says that I am responsible to implement this method"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
    aStream nextPutAll: '(Annotation namespace: '.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
    nameSpace name storeOn: aStream.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
    aStream nextPut:$)
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
    "Modified: / 19-05-2010 / 16:27:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   427
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
!Annotation::NameSpace methodsFor:'processing'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   429
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   430
annotatesClass:aClass
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   431
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   432
    "Nothing to do"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
    "Modified: / 20-05-2010 / 11:16:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   435
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   436
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   437
annotatesMethod:aMethod
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   438
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   439
    aMethod lookupObject: NamespaceAwareLookup instance
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   440
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   441
    "Modified: / 20-05-2010 / 11:18:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   442
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   443
17781
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   444
!Annotation::Resource methodsFor:'accessing'!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   445
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   446
key
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   447
    "superclass Annotation says that I am responsible to implement this method"
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   448
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   449
    ^value 
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   450
        ifNil:[#resource:]
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   451
        ifNotNil:[#resource:value:]
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   452
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   453
    "Modified: / 16-07-2010 / 11:30:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   454
!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   455
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   456
type
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   457
    ^ type
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   458
!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   459
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   460
type:something
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   461
    type := something.
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   462
!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   463
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   464
value
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   465
    ^ value
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   466
!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   467
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   468
value:something
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   469
    value := something.
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   470
! !
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   471
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   472
!Annotation::Resource methodsFor:'printing & storing'!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   473
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   474
storeOn:aStream
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   475
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   476
    aStream nextPutAll: '(Annotation resource: '.
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   477
    type storeOn: aStream.
17907
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   478
    value notNil ifTrue:
17781
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   479
        [aStream nextPutAll: ' value: '.
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   480
        value storeOn: aStream].    
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   481
    aStream nextPut:$)
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   482
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   483
    "Modified: / 16-07-2010 / 11:36:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17907
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   484
    "Modified: / 29-11-2011 / 11:19:06 / cg"
17781
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   485
! !
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   486
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   487
!Annotation::Resource methodsFor:'processing'!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   488
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   489
annotatesClass:aClass
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   490
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   491
    "Nothing to do"
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   492
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   493
    "Modified: / 16-07-2010 / 11:28:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   494
!
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   495
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   496
annotatesMethod:aMethod
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   497
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   498
    "Nothing to do"
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   499
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   500
    "Modified: / 16-07-2010 / 11:28:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   501
! !
63650a976621 - added resource annotation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17775
diff changeset
   502
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   503
!Annotation::Unknown methodsFor:'accessing'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   504
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
arguments
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   506
    ^ arguments
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   507
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   508
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   509
key
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   510
    ^ key
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   511
!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   512
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   513
method
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   514
    ^ method
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   515
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   516
    "Created: / 05-09-2011 / 04:38:33 / cg"
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   517
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   518
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   519
!Annotation::Unknown methodsFor:'initialization'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   520
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   521
key:keyArg arguments:argumentsArg 
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   522
    key := keyArg.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   523
    arguments := argumentsArg.
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   524
!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   525
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   526
method:methodArg key:keyArg arguments:argumentsArg
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   527
    method := methodArg.
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   528
    key := keyArg.
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   529
    arguments := argumentsArg.
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   530
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   531
    "Created: / 05-09-2011 / 04:39:50 / cg"
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   532
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   533
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   534
!Annotation::Unknown methodsFor:'printing & storing'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   535
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   536
storeOn:aStream
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   537
    "superclass Annotation says that I am responsible to implement this method"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   538
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   539
    aStream nextPutAll: '(Annotation key: '.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   540
    key storeOn: aStream.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   541
    aStream nextPutAll: ' arguments: '.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   542
    arguments storeOn: aStream.
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   543
    aStream nextPut: $).
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   544
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   545
    "Modified: / 19-05-2010 / 16:46:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   546
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   547
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   548
!Annotation::Unknown methodsFor:'processing'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   549
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   550
annotatesClass:aClass
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   551
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   552
    "Nothing to do"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   553
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   554
    "Modified: / 20-05-2010 / 11:15:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   555
!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   556
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   557
annotatesMethod:aMethod
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   558
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   559
    "Nothing to do"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   560
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   561
    "Modified: / 20-05-2010 / 11:15:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   562
! !
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   563
17775
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   564
!Annotation::Unknown methodsFor:'testing'!
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   565
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   566
isUnknown
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   567
    ^ true
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   568
! !
90a5bae0a710 Lazy evaluation of annotations (required for stc compiled code)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17766
diff changeset
   569
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   570
!Annotation class methodsFor:'documentation'!
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   571
17862
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   572
version
17907
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   573
    ^ '$Header: /cvs/stx/stx/libbasic/Annotation.st,v 1.7 2011/11/29 10:19:47 cg Exp $'
17862
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   574
!
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   575
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   576
version_CVS
17907
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   577
    ^ 'Header: /cvs/stx/stx/libbasic/Annotation.st,v 1.7 2011/11/29 10:19:47 cg Exp '
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   578
!
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   579
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   580
version_SVN
17907
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   581
    ^ '$Id: Annotation.st 10751 2011-12-21 22:04:49Z vranyj1 $'
17766
0acf634e6550 initial implementation of selector namespaces
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   582
! !
17851
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   583
09d75924b034 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17781
diff changeset
   584
Annotation initialize!
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17851
diff changeset
   585
17862
8a8ae3107950 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   586
17892
d86c8bd5ece3 Merged with CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17869
diff changeset
   587
17907
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   588