author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Tue, 18 Sep 2012 13:49:14 +0000 | |
changeset 20 | cdf3ee8ceeaa |
parent 16 | 75ff9255068a |
permissions | -rw-r--r-- |
11
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:goodies/cypress' }" |
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
14 | 3 |
CypressAbstractWriter subclass:#CypressWriter |
4 |
instanceVariableNames:'' |
|
11
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
classVariableNames:'' |
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
poolDictionaries:'' |
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
category:'Cypress-New-Reader & Writer' |
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
! |
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
|
13 | 10 |
!CypressWriter class methodsFor:'documentation'! |
11 |
||
12 |
documentation |
|
13 |
" |
|
14 |
An entry point to write a package in Cypress format. |
|
15 |
Example: |
|
16 |
||
14 | 17 |
(CypressWriter onDirectory:'~/Projects/SmalltalkX/repositories/git/cypress/implementations/smalltalkx/packages'); |
13 | 18 |
write: #'stx:goodies/cypress'. |
19 |
||
20 |
[author:] |
|
21 |
Jan Vrany <jan.vrany@fit.cvut.cz> |
|
22 |
||
23 |
[instance variables:] |
|
24 |
||
25 |
[class variables:] |
|
26 |
||
27 |
[see also:] |
|
14 | 28 |
'Cypress spec' - https://github.com/CampSmalltalk/Cypress/wiki |
13 | 29 |
|
30 |
" |
|
31 |
! ! |
|
32 |
||
14 | 33 |
!CypressWriter methodsFor:'writing-model'! |
34 |
||
15
31a33727c629
- Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
35 |
writeClass: cclass as: name to: directory |
14 | 36 |
|
37 |
| clsdir | |
|
13 | 38 |
|
15
31a33727c629
- Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
39 |
clsdir := directory / name. |
14 | 40 |
clsdir exists ifFalse:[ clsdir recursiveMakeDirectory ]. |
41 |
||
42 |
self |
|
43 |
writeProperties: cclass properties to: clsdir; |
|
44 |
writeComment: cclass comment to: clsdir; |
|
45 |
writeMethods: cclass methods to: clsdir |
|
46 |
||
15
31a33727c629
- Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
47 |
"Created: / 17-09-2012 / 22:18:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
13 | 48 |
! |
49 |
||
15
31a33727c629
- Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
50 |
writeMethod: cmethod as: name to: directory |
14 | 51 |
| mthfile | |
52 |
||
15
31a33727c629
- Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
53 |
mthfile := directory / name. |
14 | 54 |
|
55 |
self writeProperties: cmethod properties to: directory. |
|
56 |
||
57 |
mthfile writingFileDo:[:s| |
|
58 |
s nextPut:$"; cr. |
|
59 |
s nextPutAll: 'notice: '; nextPutAll: notice; cr. |
|
60 |
s nextPutAll: 'category: '; nextPutAll: cmethod category ? '* as yet unclassified *'; cr. |
|
61 |
s nextPut:$"; cr. |
|
62 |
s nextPutAll: cmethod source. |
|
63 |
]. |
|
64 |
||
15
31a33727c629
- Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
65 |
"Created: / 17-09-2012 / 22:21:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
14 | 66 |
! |
67 |
||
15
31a33727c629
- Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
68 |
writePackage: cpackage as: name to: directory |
14 | 69 |
|
70 |
| pkgdir | |
|
71 |
||
72 |
notice isNil ifTrue:[ notice := cpackage definition legalCopyright ]. |
|
16 | 73 |
pkgdir := directory / name. |
14 | 74 |
pkgdir exists ifFalse:[ pkgdir recursiveMakeDirectory ]. |
75 |
||
76 |
self |
|
77 |
writeProperties: cpackage properties to: pkgdir; |
|
78 |
writeComment: cpackage comment to: pkgdir; |
|
79 |
writeClasses: cpackage classes to: pkgdir; |
|
80 |
writeExtensions: cpackage extensions to: pkgdir. |
|
81 |
||
15
31a33727c629
- Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
82 |
"Created: / 17-09-2012 / 22:17:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
13 | 83 |
! ! |
11
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
|
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
!CypressWriter class methodsFor:'documentation'! |
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
|
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
version_SVN |
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
^ '$Id:: $' |
333528cd629a
- Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
! ! |