author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Sun, 24 Aug 2014 01:49:18 +0100 | |
changeset 635 | 9edd6a278835 |
parent 627 | c23d5ce2090c |
parent 634 | d77d9a7561be |
child 647 | 83c6c207a7f1 |
permissions | -rw-r--r-- |
464 | 1 |
"{ Package: 'jn:refactoring_custom' }" |
2 |
||
500
8c2b58d6b2d5
Code reogranization, Defined CustomContext & basic API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
480
diff
changeset
|
3 |
CustomCodeGeneratorOrRefactoring subclass:#CustomCodeGenerator |
626
a32e9bcc436e
work in progress on first refactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
606
diff
changeset
|
4 |
instanceVariableNames:'builder' |
464 | 5 |
classVariableNames:'' |
6 |
poolDictionaries:'' |
|
559
ba4af98f41c5
Code generators and refactorings moved to their own class category.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
557
diff
changeset
|
7 |
category:'Interface-Refactoring-Custom-Generators' |
464 | 8 |
! |
9 |
||
10 |
||
11 |
!CustomCodeGenerator class methodsFor:'instance creation'! |
|
12 |
||
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
13 |
subGeneratorOf: aCodeGenerator |
544
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
14 |
| codeGenerator nestingCount | |
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
15 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
16 |
codeGenerator := self new. |
634
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
633
diff
changeset
|
17 |
codeGenerator codeBuilder: aCodeGenerator codeBuilder. |
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
633
diff
changeset
|
18 |
codeGenerator refactoryBuilder: aCodeGenerator refactoryBuilder. |
600
aef422847d6a
fix creation of subgenerators - add missing shared instance variables
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
561
diff
changeset
|
19 |
codeGenerator userPreferences: aCodeGenerator userPreferences. |
aef422847d6a
fix creation of subgenerators - add missing shared instance variables
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
561
diff
changeset
|
20 |
codeGenerator dialog: aCodeGenerator dialog. |
aef422847d6a
fix creation of subgenerators - add missing shared instance variables
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
561
diff
changeset
|
21 |
codeGenerator changeManager: aCodeGenerator changeManager. |
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
22 |
codeGenerator compositeChangeCollector: aCodeGenerator compositeChangeCollector. |
544
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
23 |
nestingCount := aCodeGenerator compositeChangeNesting. |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
24 |
nestingCount isNil ifTrue: [ |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
25 |
nestingCount := 0 |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
26 |
]. |
4d9dfb9b35a1
add CustomDialogMock for testing purposes
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
543
diff
changeset
|
27 |
codeGenerator compositeChangeNesting: (1 + nestingCount). |
531
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
28 |
^ codeGenerator |
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
29 |
|
0f5089968f96
generator which generates a code generator class made with usage of subclassResponsibilityGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
525
diff
changeset
|
30 |
"Created: / 19-04-2014 / 10:15:21 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
634
d77d9a7561be
move refactoryBuilder and codeBuilder to CustomCodeGeneratorOrRefactoring
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
633
diff
changeset
|
31 |
"Modified: / 23-08-2014 / 00:10:17 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
464 | 32 |
! ! |
33 |
||
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
504
diff
changeset
|
34 |
!CustomCodeGenerator class methodsFor:'testing'! |
464 | 35 |
|
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
504
diff
changeset
|
36 |
isAbstract |
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
504
diff
changeset
|
37 |
^ self == CustomCodeGenerator |
464 | 38 |
|
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
504
diff
changeset
|
39 |
"Created: / 26-01-2014 / 21:38:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
464 | 40 |
! ! |
41 |
||
514
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
42 |
!CustomCodeGenerator methodsFor:'executing'! |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
43 |
|
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
44 |
buildInContext: aCustomContext |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
45 |
|
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
46 |
self subclassResponsibility |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
47 |
|
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
48 |
"Created: / 18-03-2014 / 22:52:09 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
49 |
! |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
50 |
|
606
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
51 |
executeSubGeneratorClasses: aSubGeneratorClasses inContext: aCustomContext |
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
52 |
|
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
53 |
aSubGeneratorClasses do: [ :aSubGeneratorClass | |
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
54 |
| subGenerator | |
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
55 |
|
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
56 |
subGenerator := aSubGeneratorClass subGeneratorOf: self. |
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
57 |
subGenerator executeInContext: aCustomContext |
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
58 |
] |
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
59 |
|
492cbd7bfe4b
add method to simplify execution of composed code generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
600
diff
changeset
|
60 |
"Created: / 08-07-2014 / 18:31:10 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
514
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
61 |
! ! |
6e7758b695c5
work in progress - remove duplicate code in code generation methods
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
512
diff
changeset
|
62 |
|
464 | 63 |
!CustomCodeGenerator class methodsFor:'documentation'! |
64 |
||
65 |
version_HG |
|
66 |
||
67 |
^ '$Changeset: <not expanded> $' |
|
68 |
! ! |
|
69 |