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