author | Claus Gittinger <cg@exept.de> |
Wed, 25 Feb 2015 01:14:48 +0100 | |
changeset 975 | 9d3047664305 |
parent 938 | f544f968df1d |
child 977 | f95b01954348 |
permissions | -rw-r--r-- |
842 | 1 |
"{ Package: 'stx:goodies/monticello' }" |
2 |
||
3 |
MCStXSnapshotTransformation subclass:#MCStXSnapshotPreWriteTransformation |
|
886
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
4 |
instanceVariableNames:'extensionMethodCategoryMap projectDefinition' |
842 | 5 |
classVariableNames:'' |
6 |
poolDictionaries:'' |
|
7 |
category:'SCM-Monticello-St/X Storing' |
|
8 |
! |
|
9 |
||
10 |
!MCStXSnapshotPreWriteTransformation class methodsFor:'documentation'! |
|
11 |
||
12 |
documentation |
|
13 |
" |
|
14 |
documentation to be added. |
|
15 |
||
16 |
[author:] |
|
17 |
Jan Vrany <jan.vrany@fit.cvut.cz> |
|
18 |
||
19 |
[instance variables:] |
|
20 |
||
21 |
[class variables:] |
|
22 |
||
23 |
[see also:] |
|
24 |
||
25 |
" |
|
26 |
! ! |
|
27 |
||
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
28 |
!MCStXSnapshotPreWriteTransformation methodsFor:'accessing'! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
29 |
|
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
30 |
monticelloName |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
31 |
| def | |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
32 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
33 |
def := self projectDefinition. |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
34 |
^def notNil ifTrue:[def monticelloName] ifFalse:[nil] |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
35 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
36 |
"Created: / 31-05-2013 / 00:12:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
37 |
! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
38 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
39 |
projectDefinition |
877
493a70407896
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
875
diff
changeset
|
40 |
original definitions reverseDo:[:d| |
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
41 |
| c | |
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
42 |
(d isClassDefinition |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
43 |
and:[(c := d actualClass) notNil |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
44 |
and:[c isProjectDefinition]]) |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
45 |
ifTrue:[ ^ c ] |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
46 |
]. |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
47 |
^nil |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
48 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
49 |
"Created: / 31-05-2013 / 00:23:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
877
493a70407896
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
875
diff
changeset
|
50 |
"Modified: / 31-05-2013 / 10:45:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
51 |
! ! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
52 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
53 |
!MCStXSnapshotPreWriteTransformation methodsFor:'accessing - templates'! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
54 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
55 |
monticelloSmalltalkXExtensionMethodCategories_Code |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
56 |
^ |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
57 |
'monticelloSmalltalkXExtensionMethodCategor |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
58 |
"Returns an array of triples (class name, selector , St/X category) |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
59 |
This information is used by Smalltalk/X when reading back Monticello package |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
60 |
to patch methods category as in Monticello extensions must have funny name |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
61 |
to be recognized by Monticello as extensions." |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
62 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
63 |
^#( |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
64 |
%1 |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
65 |
) |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
66 |
' |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
67 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
68 |
"Created: / 31-05-2013 / 00:20:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
69 |
! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
70 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
71 |
monticelloSmalltalkXProjectType_Code |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
72 |
^ |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
73 |
'monticelloSmalltalkXProjectType |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
74 |
"Returns either #library or #application. |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
75 |
This information is used by Smalltalk/X when reading back Monticello package |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
76 |
to patch my superclass as neither LibraryDefinition nor ApplicationDefinition classes |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
77 |
are present in Squeak/Pharo images." |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
78 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
79 |
^%1 |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
80 |
' |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
81 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
82 |
"Created: / 30-05-2013 / 12:42:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
83 |
! ! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
84 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
85 |
!MCStXSnapshotPreWriteTransformation methodsFor:'testing'! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
86 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
87 |
isExtensionMethodDefinition: definition |
875
cc0588b2a9db
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
873
diff
changeset
|
88 |
^(transformed includesClassNamed: definition className) not |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
89 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
90 |
"Created: / 30-05-2013 / 22:48:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
875
cc0588b2a9db
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
873
diff
changeset
|
91 |
"Modified: / 31-05-2013 / 01:16:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
886
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
92 |
! |
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
93 |
|
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
94 |
isSmalltalkXPackage |
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
95 |
^ projectDefinition notNil |
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
96 |
|
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
97 |
"Created: / 12-06-2013 / 09:22:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
98 |
! ! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
99 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
100 |
!MCStXSnapshotPreWriteTransformation methodsFor:'transforming'! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
101 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
102 |
transform: anMCSnapshot |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
103 |
"Returns a transformed **copy** of the original snapshot" |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
104 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
105 |
extensionMethodCategoryMap := OrderedCollection new. |
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
106 |
original := anMCSnapshot. |
886
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
107 |
projectDefinition := self projectDefinition. |
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
108 |
projectDefinition isNil ifTrue:[ |
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
109 |
"/ Not a Smalltalk/X package - no transformation |
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
110 |
transformed := original. |
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
111 |
^transformed |
886
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
112 |
]. |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
113 |
super transform: anMCSnapshot. |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
114 |
(projectDefinition notNil and:[extensionMethodCategoryMap notEmpty]) ifTrue:[ |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
115 |
| source | |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
116 |
|
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
117 |
source := |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
118 |
self monticelloSmalltalkXExtensionMethodCategories_Code bindWith: |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
119 |
(String streamContents:[:s| |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
120 |
extensionMethodCategoryMap do:[:entry| |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
121 |
s tab; tab; nextPutLine: entry storeString |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
122 |
]. |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
123 |
]). |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
124 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
125 |
transformed definitions addFirst: |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
126 |
(MCMethodDefinition |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
127 |
className: projectDefinition name |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
128 |
classIsMeta: true |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
129 |
selector: 'monticelloSmalltalkXExtensionMethodCategories' |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
130 |
category: 'accessing - monticello' |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
131 |
timeStamp: 'Generated by ', self class name , ' at ' , Timestamp now printString |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
132 |
source: source) |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
133 |
]. |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
134 |
^transformed. |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
135 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
136 |
"Created: / 31-05-2013 / 00:05:45 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
886
850e6b54a054
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
877
diff
changeset
|
137 |
"Modified (format): / 12-06-2013 / 09:23:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
138 |
! ! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
139 |
|
842 | 140 |
!MCStXSnapshotPreWriteTransformation methodsFor:'visiting'! |
141 |
||
142 |
visitClassDefinition: definition |
|
143 |
| class | |
|
144 |
||
145 |
class := definition actualClass. |
|
146 |
class isProjectDefinition ifTrue:[ |
|
147 |
definition |
|
877
493a70407896
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
875
diff
changeset
|
148 |
"/ className:(definition className capitalized); |
898
728e7cbc9af0
Bugfix: MCClassDefinition.superclassName must be a symbol.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
886
diff
changeset
|
149 |
superclassName: #Object; |
842 | 150 |
category: class monticelloName. |
877
493a70407896
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
875
diff
changeset
|
151 |
|
873
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
152 |
transformed definitions addFirst: |
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
153 |
(MCMethodDefinition |
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
154 |
className: definition className |
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
155 |
classIsMeta: true |
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
156 |
selector: 'monticelloProjectDefinitionTypeName' |
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
157 |
category: 'accessing - monticello' |
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
158 |
timeStamp: 'Generated by ', self class name , ' at ' , Timestamp now printString |
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
159 |
source: |
873
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
160 |
(self monticelloSmalltalkXProjectType_Code bindWith: (class isApplicationDefinition ifTrue:[#application] ifFalse:[#library]) storeString)) |
8c7a9dcb9a69
class: MCStXSnapshotPreWriteTransformation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
863
diff
changeset
|
161 |
] |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
162 |
|
842 | 163 |
"Created: / 29-05-2013 / 12:19:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
898
728e7cbc9af0
Bugfix: MCClassDefinition.superclassName must be a symbol.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
886
diff
changeset
|
164 |
"Modified: / 20-09-2013 / 00:14:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
165 |
! |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
166 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
167 |
visitMethodDefinition: definition |
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
168 |
| source | |
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
169 |
|
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
170 |
source := definition source asStringWithNativeLineEndings asStringCollection withTabs asStringWithSqueakLineEndings. |
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
171 |
definition source: source. |
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
172 |
|
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
173 |
(self isExtensionMethodDefinition: definition) ifTrue:[ |
936
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
174 |
| prefix | |
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
175 |
|
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
176 |
prefix := '*' , self monticelloName asLowercase. |
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
177 |
(definition category asLowercase startsWith: prefix) ifFalse:[ |
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
178 |
extensionMethodCategoryMap add: |
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
179 |
(Array |
936
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
180 |
with: definition className , (definition classIsMeta ifTrue:[' class'] ifFalse:['']) |
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
181 |
with: definition selector |
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
182 |
with: definition category). |
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
183 |
definition category: '*' , self monticelloName. |
c4564a0396b9
Fix in MCStXSnapshotPreWriteTransformation: do not fix extension cstegory if the prefix in OK.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
932
diff
changeset
|
184 |
] |
863
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
185 |
]. |
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
186 |
|
310347ceb9df
More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
842
diff
changeset
|
187 |
"Created: / 30-05-2013 / 22:48:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
188 |
"Modified: / 06-11-2014 / 03:11:07 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
932
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
189 |
! |
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
190 |
|
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
191 |
visitOrganizationDefinition: defintion |
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
192 |
"Add a category in which project definition class is..." |
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
193 |
|
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
194 |
| categories | |
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
195 |
|
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
196 |
categories := defintion categories. |
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
197 |
(categories includes: projectDefinition monticelloName) ifFalse:[ |
932
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
198 |
categories := categories copyWith: projectDefinition monticelloName asSymbol. |
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
199 |
defintion categories: categories. |
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
200 |
]. |
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
201 |
|
b74cf6420afc
Fix in MCStXSnapshotPreWriteTransformation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
898
diff
changeset
|
202 |
"Created: / 05-10-2014 / 00:59:23 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
842 | 203 |
! ! |
204 |
||
205 |
!MCStXSnapshotPreWriteTransformation class methodsFor:'documentation'! |
|
206 |
||
207 |
version |
|
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
208 |
^ '$Header: /cvs/stx/stx/goodies/monticello/MCStXSnapshotPreWriteTransformation.st,v 1.10 2014-11-06 09:08:04 vrany Exp $' |
842 | 209 |
! |
210 |
||
211 |
version_CVS |
|
938
f544f968df1d
Expand tabs before writing .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
936
diff
changeset
|
212 |
^ '$Header: /cvs/stx/stx/goodies/monticello/MCStXSnapshotPreWriteTransformation.st,v 1.10 2014-11-06 09:08:04 vrany Exp $' |
842 | 213 |
! ! |
214 |