author | convert-repo |
Wed, 11 Dec 2019 04:28:36 +0000 | |
changeset 1116 | b51ace366efc |
parent 1072 | a44c741ee5ef |
permissions | -rw-r--r-- |
828 | 1 |
" |
2 |
A custom code generation and refactoring support for Smalltalk/X |
|
3 |
Copyright (C) 2013-2015 Jakub Nesveda |
|
1072 | 4 |
Copyright (C) 2015 Jan Vrany |
828 | 5 |
|
6 |
This library is free software; you can redistribute it and/or |
|
7 |
modify it under the terms of the GNU Lesser General Public |
|
8 |
License as published by the Free Software Foundation; either |
|
9 |
version 2.1 of the License. |
|
10 |
||
11 |
This library is distributed in the hope that it will be useful, |
|
12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
14 |
Lesser General Public License for more details. |
|
15 |
||
16 |
You should have received a copy of the GNU Lesser General Public |
|
17 |
License along with this library; if not, write to the Free Software |
|
18 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
19 |
" |
|
833
297eb38e4eee
Package jn:refactoring_custom renamed to stx:goodies/smallsense/refactoring_custom
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
830
diff
changeset
|
20 |
"{ Package: 'stx:goodies/smallsense/refactoring_custom' }" |
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
21 |
|
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
22 |
"{ NameSpace: SmallSense }" |
803
95cdac772759
Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
765
diff
changeset
|
23 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
24 |
RBNamespace subclass:#CustomNamespace |
815
0ca40b727a4f
Cleanup - remove unfinished implementation of chaining api and default values
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
804
diff
changeset
|
25 |
instanceVariableNames:'changeManager formatter classModelClass methodModelClass |
0ca40b727a4f
Cleanup - remove unfinished implementation of chaining api and default values
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
804
diff
changeset
|
26 |
sourceCodeGeneratorClass' |
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
27 |
classVariableNames:'' |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
28 |
poolDictionaries:'' |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
29 |
category:'Interface-Refactoring-Custom' |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
30 |
! |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
31 |
|
828 | 32 |
!CustomNamespace class methodsFor:'documentation'! |
33 |
||
34 |
copyright |
|
35 |
" |
|
36 |
A custom code generation and refactoring support for Smalltalk/X |
|
37 |
Copyright (C) 2013-2015 Jakub Nesveda |
|
1072 | 38 |
Copyright (C) 2015 Jan Vrany |
828 | 39 |
|
40 |
This library is free software; you can redistribute it and/or |
|
41 |
modify it under the terms of the GNU Lesser General Public |
|
42 |
License as published by the Free Software Foundation; either |
|
43 |
version 2.1 of the License. |
|
44 |
||
45 |
This library is distributed in the hope that it will be useful, |
|
46 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
47 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
48 |
Lesser General Public License for more details. |
|
49 |
||
50 |
You should have received a copy of the GNU Lesser General Public |
|
51 |
License along with this library; if not, write to the Free Software |
|
52 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
53 |
" |
|
54 |
! ! |
|
518
e5c0c890d953
work in progress - add code generator which creates a template class for code generation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
515
diff
changeset
|
55 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
56 |
!CustomNamespace methodsFor:'accessing'! |
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
57 |
|
752
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
58 |
at: aClassName |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
59 |
|
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
60 |
^ self classNamed: aClassName asSymbol |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
61 |
|
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
62 |
"Created: / 15-11-2014 / 17:30:04 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
63 |
! |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
64 |
|
634
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
630
diff
changeset
|
65 |
changeManager |
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
630
diff
changeset
|
66 |
^ changeManager |
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
630
diff
changeset
|
67 |
! |
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
630
diff
changeset
|
68 |
|
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
630
diff
changeset
|
69 |
changeManager:something |
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
630
diff
changeset
|
70 |
changeManager := something. |
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
630
diff
changeset
|
71 |
! |
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
630
diff
changeset
|
72 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
73 |
classModelClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
74 |
"Returns class which represents Class in model in which we make changes (add class, rename class ...)." |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
75 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
76 |
^ classModelClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
77 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
78 |
"Modified (comment): / 09-10-2014 / 11:14:51 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
79 |
! |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
80 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
81 |
classModelClass: aClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
82 |
"see classModelClass" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
83 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
84 |
classModelClass := aClass. |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
85 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
86 |
"Modified (comment): / 09-10-2014 / 11:15:18 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
87 |
! |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
88 |
|
653
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
89 |
formatter |
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
90 |
^ formatter |
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
91 |
|
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
92 |
"Created: / 28-08-2014 / 23:19:02 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
93 |
! |
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
94 |
|
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
95 |
formatter: aFormatter |
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
96 |
formatter := aFormatter |
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
97 |
|
7ad678c3b850
first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
648
diff
changeset
|
98 |
"Created: / 28-08-2014 / 23:19:26 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
99 |
! |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
100 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
101 |
methodModelClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
102 |
"Returns class which represents Method in model in which we make changes (add method, change method source ...)." |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
103 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
104 |
^ methodModelClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
105 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
106 |
"Modified (comment): / 09-10-2014 / 11:17:09 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
107 |
! |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
108 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
109 |
methodModelClass: aClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
110 |
"see methodModelClass" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
111 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
112 |
methodModelClass := aClass. |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
113 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
114 |
"Modified (comment): / 09-10-2014 / 11:16:02 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
115 |
! |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
116 |
|
721
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
117 |
putModelClass: aModelClass |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
118 |
"Stores model class (e.g. RBClass) in this model so we can work further with |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
119 |
the given class and the modifications done to the given class |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
120 |
are reflected in this model (represented by CustomNamespace/RBNamespace)." |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
121 |
| classIndex name isClassUndefined | |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
122 |
|
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
123 |
classIndex := 1. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
124 |
name := aModelClass name. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
125 |
aModelClass isMeta ifTrue: [ |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
126 |
classIndex := 2. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
127 |
name := aModelClass theNonMetaclass name. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
128 |
]. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
129 |
|
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
130 |
isClassUndefined := true. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
131 |
newClasses at: name ifPresent: [ :classes | |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
132 |
isClassUndefined := false. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
133 |
classes at: classIndex put: aModelClass |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
134 |
]. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
135 |
|
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
136 |
changedClasses at: name ifPresent: [ :classes | |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
137 |
isClassUndefined := false. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
138 |
classes at: classIndex put: aModelClass |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
139 |
]. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
140 |
|
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
141 |
isClassUndefined ifTrue: [ |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
142 |
self error: 'Class has to be defined in the model - see defineClass: .'. |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
143 |
] |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
144 |
|
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
145 |
"Created: / 04-11-2014 / 00:03:52 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
146 |
"Modified: / 04-11-2014 / 01:07:58 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
147 |
! |
f76a4c53af1e
fix compiled model classes not in model, but different model class when calling the RBClass >> compile method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
720
diff
changeset
|
148 |
|
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
149 |
sourceCodeGenerator |
763
0377a6999b93
better comment for CustomNamespace >> sourceCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
757
diff
changeset
|
150 |
"Returns initialized source code generator (CodeGenerator, CustomSourceCodeGenerator)" |
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
151 |
| sourceCodeGenerator | |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
152 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
153 |
sourceCodeGenerator := self sourceCodeGeneratorClass new. |
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
154 |
sourceCodeGenerator formatter: formatter. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
155 |
^ sourceCodeGenerator. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
156 |
|
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
681
diff
changeset
|
157 |
"Created: / 19-09-2014 / 20:56:22 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
158 |
"Modified: / 09-10-2014 / 11:35:24 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
763
0377a6999b93
better comment for CustomNamespace >> sourceCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
757
diff
changeset
|
159 |
"Modified (comment): / 27-11-2014 / 19:32:07 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
160 |
! |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
161 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
162 |
sourceCodeGeneratorClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
163 |
"Returns code generator class which supports search & replace in method source code and formatting" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
164 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
165 |
^ sourceCodeGeneratorClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
166 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
167 |
"Modified (comment): / 09-10-2014 / 11:34:34 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
168 |
! |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
169 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
170 |
sourceCodeGeneratorClass: aClass |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
171 |
"see sourceCodeGeneratorClass" |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
172 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
173 |
sourceCodeGeneratorClass := aClass. |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
174 |
|
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
175 |
"Modified (comment): / 09-10-2014 / 11:34:56 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
512
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
176 |
! ! |
a527e7f19b30
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
177 |
|
757
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
178 |
!CustomNamespace methodsFor:'accessing-classes'! |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
179 |
|
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
180 |
classNamed: aName |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
181 |
"Returns an RBClass instance stored under given class name |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
182 |
or nil if nothing found" |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
183 |
|
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
184 |
^ super classNamed: aName asSymbol |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
185 |
|
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
186 |
"Created: / 19-11-2014 / 21:19:47 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
187 |
! |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
188 |
|
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
189 |
metaclassNamed: aName |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
190 |
"Returns an RBMetaclass instance stored under given class name |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
191 |
or nil if nothing found" |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
192 |
|
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
193 |
^ super metaclassNamed: aName asSymbol |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
194 |
|
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
195 |
"Created: / 19-11-2014 / 21:20:52 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
196 |
! ! |
2e6019cc8e6d
added possibilty to define class name by a string (and also symbol) in RBAbstractClass
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
752
diff
changeset
|
197 |
|
765
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
198 |
!CustomNamespace methodsFor:'changes'! |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
199 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
200 |
defineClass: aString |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
201 |
"Defines a class withing this model by its definition string. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
202 |
Here is same behaviour as in RBNamespace, but we added private |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
203 |
class support." |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
204 |
| change | |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
205 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
206 |
change := super defineClass: aString. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
207 |
change privateInClassName notNil ifTrue: [ |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
208 |
| class | |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
209 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
210 |
class := self classNamed: change changeClassName. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
211 |
class owningClass: (self classNamed: change privateInClassName) |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
212 |
]. |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
213 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
214 |
^ change |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
215 |
|
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
216 |
"Created: / 29-11-2014 / 14:39:40 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
217 |
! ! |
d706c98adeb5
better support for private classes in our model (CustomNamespace) and related classes (RBClass, RBMetaclass)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
763
diff
changeset
|
218 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
219 |
!CustomNamespace methodsFor:'code creation'! |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
220 |
|
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
221 |
createClass |
549
d34ea0b715b2
add method for retrieving builded source code as string: CustomSourceCodeBuilder >> buildedSource
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
540
diff
changeset
|
222 |
"Much like createMethod, but for class" |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
223 |
|
815
0ca40b727a4f
Cleanup - remove unfinished implementation of chaining api and default values
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
804
diff
changeset
|
224 |
^ self classModelClass new |
681
34c671a3cf59
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
664
diff
changeset
|
225 |
model: self; |
34c671a3cf59
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
664
diff
changeset
|
226 |
superclass: (self classNamed: #Object); |
34c671a3cf59
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
664
diff
changeset
|
227 |
instanceVariableNames: #(); |
34c671a3cf59
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
664
diff
changeset
|
228 |
classVariableNames: #(); |
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
229 |
poolDictionaryNames: #(); |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
230 |
yourself. |
681
34c671a3cf59
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
664
diff
changeset
|
231 |
|
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
232 |
"Created: / 09-04-2014 / 21:38:20 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
815
0ca40b727a4f
Cleanup - remove unfinished implementation of chaining api and default values
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
804
diff
changeset
|
233 |
"Modified: / 05-02-2015 / 22:31:54 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
234 |
! |
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
235 |
|
697
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
236 |
createMethod |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
237 |
" |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
238 |
Creates, returns method representation |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
239 |
so code changes can be created withing this class as one undo change |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
240 |
" |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
241 |
|
815
0ca40b727a4f
Cleanup - remove unfinished implementation of chaining api and default values
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
804
diff
changeset
|
242 |
^ self methodModelClass new |
697
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
243 |
model: self; |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
244 |
sourceCodeGenerator: self sourceCodeGenerator; |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
245 |
yourself. |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
246 |
|
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
247 |
"Created: / 09-04-2014 / 23:54:03 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
815
0ca40b727a4f
Cleanup - remove unfinished implementation of chaining api and default values
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
804
diff
changeset
|
248 |
"Modified: / 05-02-2015 / 22:32:35 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
697
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
249 |
! ! |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
250 |
|
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
251 |
!CustomNamespace methodsFor:'code creation - immediate'! |
78f447fe7837
move methods for creation immediate code to protocol 'create code - immediate' in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
688
diff
changeset
|
252 |
|
620
6c4f724ba4ce
add CustomSourceCodeBuilder >> createClassImmediate with default superClassName
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
618
diff
changeset
|
253 |
createClassImmediate: aClassName |
6c4f724ba4ce
add CustomSourceCodeBuilder >> createClassImmediate with default superClassName
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
618
diff
changeset
|
254 |
"Creates class immediately and returns the real class" |
6c4f724ba4ce
add CustomSourceCodeBuilder >> createClassImmediate with default superClassName
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
618
diff
changeset
|
255 |
|
6c4f724ba4ce
add CustomSourceCodeBuilder >> createClassImmediate with default superClassName
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
618
diff
changeset
|
256 |
^ self createClassImmediate: aClassName superClassName: 'Object' |
6c4f724ba4ce
add CustomSourceCodeBuilder >> createClassImmediate with default superClassName
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
618
diff
changeset
|
257 |
|
6c4f724ba4ce
add CustomSourceCodeBuilder >> createClassImmediate with default superClassName
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
618
diff
changeset
|
258 |
"Created: / 27-07-2014 / 12:40:55 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
6c4f724ba4ce
add CustomSourceCodeBuilder >> createClassImmediate with default superClassName
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
618
diff
changeset
|
259 |
! |
6c4f724ba4ce
add CustomSourceCodeBuilder >> createClassImmediate with default superClassName
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
618
diff
changeset
|
260 |
|
706
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
261 |
createClassImmediate: aClassName category: aCategoryName |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
262 |
"Creates class immediately and returns the real class" |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
263 |
|
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
264 |
^ self |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
265 |
createClassImmediate: aClassName |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
266 |
superClassName: 'Object' |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
267 |
instanceVariableNames: '' |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
268 |
classVariableNames: '' |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
269 |
poolDictionaries: '' |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
270 |
category: aCategoryName |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
271 |
|
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
272 |
"Created: / 19-10-2014 / 20:55:10 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
273 |
! |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
274 |
|
638
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
275 |
createClassImmediate: aClassName instanceVariableNames: instVarNames |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
276 |
"Creates class immediately and returns the real class" |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
277 |
|
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
278 |
^ self |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
279 |
createClassImmediate: aClassName |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
280 |
superClassName: 'Object' |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
281 |
instanceVariableNames: instVarNames |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
282 |
classVariableNames: '' |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
283 |
|
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
284 |
"Created: / 23-08-2014 / 22:25:08 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
285 |
! |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
286 |
|
568
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
287 |
createClassImmediate: aClassName superClassName: aSuperClassName |
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
288 |
"Creates class immediately and returns the real class" |
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
289 |
|
638
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
290 |
^ self |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
291 |
createClassImmediate: aClassName |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
292 |
superClassName: aSuperClassName |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
293 |
instanceVariableNames: '' |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
294 |
classVariableNames: '' |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
295 |
|
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
296 |
"Created: / 15-06-2014 / 15:59:21 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
297 |
"Modified: / 23-08-2014 / 22:18:58 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
298 |
! |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
299 |
|
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
300 |
createClassImmediate: aClassName superClassName: aSuperClassName instanceVariableNames: instVarNames classVariableNames: classVarNames |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
301 |
"Creates class immediately and returns the real class" |
62a6119d3cee
add createClassImmediate variations in CustomSourceCodeBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
637
diff
changeset
|
302 |
|
706
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
303 |
^ self createClassImmediate: aClassName |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
304 |
superClassName: aSuperClassName |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
305 |
instanceVariableNames: instVarNames |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
306 |
classVariableNames: classVarNames |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
307 |
poolDictionaries: '' |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
308 |
category: '' |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
309 |
|
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
310 |
"Created: / 23-08-2014 / 22:18:07 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
311 |
"Modified: / 19-10-2014 / 20:49:25 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
312 |
! |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
313 |
|
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
314 |
createClassImmediate: aClassName superClassName: aSuperClassName instanceVariableNames: instVarNames classVariableNames: classVarNames poolDictionaries: poolDict category: category |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
315 |
"Creates class immediately and returns the real class" |
ee83e8c20350
make shared changeManeger and formatter for model and refactoryBuilder\ncompleted implementation search in class categories in refactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
705
diff
changeset
|
316 |
|
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
317 |
^ self createClassImmediate: aClassName superClassName: aSuperClassName instanceVariableNames: instVarNames classVariableNames: classVarNames poolDictionaries: poolDict category: category privateIn: nil |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
318 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
319 |
"Created: / 19-10-2014 / 20:47:51 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
320 |
"Modified: / 30-10-2014 / 21:46:09 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
321 |
! |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
322 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
323 |
createClassImmediate: aClassName superClassName: aSuperClassName instanceVariableNames: instVarNames classVariableNames: classVarNames poolDictionaries: poolDict category: category privateIn: privateInClassName |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
324 |
"Creates class immediately and returns the real class" |
720
33032cf72a9c
fix rewriting objects in createImmediate methods in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
325 |
| newClassName change | |
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
326 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
327 |
newClassName := aClassName. |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
328 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
329 |
privateInClassName isNil ifTrue: [ |
720
33032cf72a9c
fix rewriting objects in createImmediate methods in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
330 |
change := (InteractiveAddClassChange definition: |
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
331 |
aSuperClassName asString, ' subclass:#', aClassName asString, ' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
332 |
instanceVariableNames:''', instVarNames asString, ''' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
333 |
classVariableNames:''', classVarNames asString, ''' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
334 |
poolDictionaries:''', poolDict asString, ''' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
335 |
category:''', category asString, ''' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
336 |
') |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
337 |
] ifFalse: [ |
720
33032cf72a9c
fix rewriting objects in createImmediate methods in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
338 |
change := (InteractiveAddClassChange definition: |
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
339 |
aSuperClassName asString, ' subclass:#', aClassName asString, ' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
340 |
instanceVariableNames:''', instVarNames asString, ''' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
341 |
classVariableNames:''', classVarNames asString, ''' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
342 |
poolDictionaries:''', poolDict asString, ''' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
343 |
privateIn:', privateInClassName asString, ' |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
344 |
'). |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
345 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
346 |
newClassName := privateInClassName asString, '::', aClassName asString. |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
347 |
]. |
568
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
348 |
|
720
33032cf72a9c
fix rewriting objects in createImmediate methods in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
349 |
changeManager performChange: change. |
568
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
350 |
|
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
351 |
^ Smalltalk classNamed: newClassName |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
352 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
353 |
"Created: / 30-10-2014 / 21:28:40 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
720
33032cf72a9c
fix rewriting objects in createImmediate methods in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
354 |
"Modified: / 02-11-2014 / 16:30:54 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
355 |
! |
568
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
356 |
|
717
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
357 |
createClassImmediate: aClassName superClassName: aSuperClassName privateIn: privateInClassName |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
358 |
"Creates class immediately and returns the real class" |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
359 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
360 |
^ self createClassImmediate: aClassName superClassName: aSuperClassName instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: '' privateIn: privateInClassName |
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
361 |
|
63e0da20b676
add create immediate private class in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
706
diff
changeset
|
362 |
"Created: / 30-10-2014 / 21:47:55 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
568
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
363 |
! |
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
364 |
|
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
365 |
createMethodImmediate: aClass protocol: aProtocol source: aSource |
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
366 |
"Much like createClassImmediate:superClassName:, but for method" |
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
367 |
|
700
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
368 |
^ self createMethodImmediate: aClass protocol: aProtocol source: aSource package: nil |
568
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
369 |
|
a63d81ed9aa6
fix CustomSourceCodeBuilder redoChanges (has to be made in reversed order)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
556
diff
changeset
|
370 |
"Created: / 15-06-2014 / 16:06:00 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
700
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
371 |
"Modified: / 17-10-2014 / 09:58:17 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
372 |
! |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
373 |
|
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
374 |
createMethodImmediate: aClass protocol: aProtocol source: aSource package: aPackageId |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
375 |
"Much like createClassImmediate:superClassName:, but for method" |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
376 |
|
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
377 |
| selector change | |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
378 |
|
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
379 |
change := InteractiveAddMethodChange compile: aSource in: aClass classified: aProtocol. |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
380 |
|
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
381 |
(aPackageId notNil and: [ (change class canUnderstand: #package:) ]) ifTrue: [ |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
382 |
change package: aPackageId |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
383 |
]. |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
384 |
|
720
33032cf72a9c
fix rewriting objects in createImmediate methods in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
385 |
changeManager performChange: change. |
700
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
386 |
|
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
387 |
selector := (Parser parseMethodSpecification: aSource) selector. |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
388 |
^ aClass compiledMethodAt: selector |
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
389 |
|
55a8d014066f
add package parameter to CustomNamespace >> createMethodImmediage...
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
697
diff
changeset
|
390 |
"Created: / 17-10-2014 / 09:53:45 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
720
33032cf72a9c
fix rewriting objects in createImmediate methods in CustomNamespace
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
717
diff
changeset
|
391 |
"Modified: / 02-11-2014 / 16:17:21 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
637
e3ef3a46c61b
add method createMethodImmediate with preset protocol
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
634
diff
changeset
|
392 |
! |
e3ef3a46c61b
add method createMethodImmediate with preset protocol
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
634
diff
changeset
|
393 |
|
e3ef3a46c61b
add method createMethodImmediate with preset protocol
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
634
diff
changeset
|
394 |
createMethodImmediate: aClass source: aSource |
e3ef3a46c61b
add method createMethodImmediate with preset protocol
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
634
diff
changeset
|
395 |
"Much like createClassImmediate:superClassName:, but for method" |
e3ef3a46c61b
add method createMethodImmediate with preset protocol
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
634
diff
changeset
|
396 |
|
e3ef3a46c61b
add method createMethodImmediate with preset protocol
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
634
diff
changeset
|
397 |
^ self createMethodImmediate: aClass protocol: 'protocol' source: aSource |
e3ef3a46c61b
add method createMethodImmediate with preset protocol
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
634
diff
changeset
|
398 |
|
e3ef3a46c61b
add method createMethodImmediate with preset protocol
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
634
diff
changeset
|
399 |
"Created: / 23-08-2014 / 20:17:22 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
400 |
! ! |
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
401 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
402 |
!CustomNamespace methodsFor:'compiling'! |
537
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
403 |
|
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
404 |
execute |
704
340954b48789
better comment in CustomNamespace >> execute
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
700
diff
changeset
|
405 |
"Performs code changes ( add method, add class, rename class... ) |
340954b48789
better comment in CustomNamespace >> execute
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
700
diff
changeset
|
406 |
so they take in effect ( method is added, class is renamed, ... ) |
340954b48789
better comment in CustomNamespace >> execute
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
700
diff
changeset
|
407 |
with respect to current change manager implementatin - see CustomChangeManager subclasses." |
537
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
408 |
|
681
34c671a3cf59
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
664
diff
changeset
|
409 |
changeManager performChange: changes |
537
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
410 |
|
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
411 |
"Created: / 27-04-2014 / 16:30:05 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
681
34c671a3cf59
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
664
diff
changeset
|
412 |
"Modified: / 21-09-2014 / 22:34:58 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
704
340954b48789
better comment in CustomNamespace >> execute
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
700
diff
changeset
|
413 |
"Modified (comment): / 19-10-2014 / 14:30:45 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
537
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
414 |
! |
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
415 |
|
705
1eb0878dc85c
rename undoChanges to redoChanges, because it actually does undo, in CustomLocalChangeManager, CustomNamespace, CustomRefactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
704
diff
changeset
|
416 |
undoChanges |
537
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
417 |
"redo all changes made by execute method" |
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
418 |
|
705
1eb0878dc85c
rename undoChanges to redoChanges, because it actually does undo, in CustomLocalChangeManager, CustomNamespace, CustomRefactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
704
diff
changeset
|
419 |
changeManager undoChanges |
537
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
420 |
|
705
1eb0878dc85c
rename undoChanges to redoChanges, because it actually does undo, in CustomLocalChangeManager, CustomNamespace, CustomRefactoryBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
704
diff
changeset
|
421 |
"Created: / 19-10-2014 / 14:56:49 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
537
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
422 |
! ! |
aa9661877640
CustomSourceCodeBuilder test that comment in a method is preserved
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
534
diff
changeset
|
423 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
424 |
!CustomNamespace methodsFor:'initialization'! |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
425 |
|
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
426 |
initialize |
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
427 |
"Invoked when a new instance is created." |
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
428 |
|
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
429 |
super initialize. |
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
430 |
changeManager := SmallSense::CustomLocalChangeManager new. |
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
431 |
formatter := SmallSense::CustomRBLocalSourceCodeFormatter new. |
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
432 |
classModelClass := RBClass. |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
433 |
methodModelClass := RBMethod. |
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
434 |
sourceCodeGeneratorClass := CustomSourceCodeGenerator. |
525
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
435 |
|
06b14d49f485
work in progress - create code generator which generates stub methods for missing subclassResponsibility
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
521
diff
changeset
|
436 |
"Created: / 09-04-2014 / 23:44:04 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
815
0ca40b727a4f
Cleanup - remove unfinished implementation of chaining api and default values
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
804
diff
changeset
|
437 |
"Modified: / 05-02-2015 / 22:33:14 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
438 |
"Modified: / 11-05-2015 / 09:08:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
515 | 439 |
! ! |
440 |
||
752
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
441 |
!CustomNamespace methodsFor:'testing'! |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
442 |
|
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
443 |
isNamespace |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
444 |
^ true |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
445 |
|
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
446 |
"Created: / 15-11-2014 / 17:29:25 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
447 |
! ! |
516a6334136c
added poor mans private classes support in AddClassChange
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
721
diff
changeset
|
448 |
|
688
6bd18ba5e56c
completed - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
687
diff
changeset
|
449 |
!CustomNamespace class methodsFor:'documentation'! |
521
9d7c465ae42a
Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
520
diff
changeset
|
450 |
|
9d7c465ae42a
Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
520
diff
changeset
|
451 |
version_HG |
9d7c465ae42a
Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
520
diff
changeset
|
452 |
|
9d7c465ae42a
Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
520
diff
changeset
|
453 |
^ '$Changeset: <not expanded> $' |
9d7c465ae42a
Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
520
diff
changeset
|
454 |
! ! |
9d7c465ae42a
Some experimental code for class generation (see CustomCodeGeneratorClassGenerator)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
520
diff
changeset
|
455 |