author | Jakub Nesveda <jakubnesveda@seznam.cz> |
Tue, 07 Oct 2014 23:05:10 +0200 | |
changeset 686 | 12e570ea6c6e |
parent 571 | 25a316ce0c9c |
child 733 | bad42d8d1161 |
permissions | -rw-r--r-- |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'jn:refactoring_custom' }" |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
2 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
3 |
Object subclass:#CustomClassQuery |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
4 |
instanceVariableNames:'' |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
5 |
classVariableNames:'' |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
6 |
poolDictionaries:'' |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
7 |
category:'Interface-Refactoring-Custom' |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
8 |
! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
9 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
10 |
!CustomClassQuery class methodsFor:'documentation'! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
11 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
12 |
documentation |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
13 |
" |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
14 |
Helper class for retrieving additional informations from classes. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
15 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
16 |
[author:] |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
17 |
Jakub Nesveda <nesvejak@fit.cvut.cz> |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
18 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
19 |
" |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
20 |
! ! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
21 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
22 |
!CustomClassQuery methodsFor:'queries'! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
23 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
24 |
methodForSuperclassSelector: aSelector class: aClass |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
25 |
"retrieve method under given selector in class |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
26 |
superclass or in superclass superclass until method is found |
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
27 |
or nil is reached" |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
28 |
|
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
29 |
| superclass | |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
30 |
|
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
31 |
superclass := aClass superclass. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
32 |
[ superclass notNil ] whileTrue: [ |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
33 |
| method | |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
34 |
|
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
35 |
method := superclass compiledMethodAt: aSelector asSymbol. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
36 |
method notNil ifTrue: [ |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
37 |
^ method |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
38 |
]. |
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
39 |
superclass := superclass superclass. |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
40 |
]. |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
41 |
|
686
12e570ea6c6e
work in progress - rewriting code generators to replace CustomSourceCodeBuilder, but RBClass, RBMetaclass, RBNamespace and CodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
571
diff
changeset
|
42 |
^ nil |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
43 |
|
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
44 |
"Created: / 15-06-2014 / 14:58:31 / 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:
571
diff
changeset
|
45 |
"Modified: / 07-10-2014 / 19:50:42 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
571
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
46 |
! ! |
25a316ce0c9c
extracted method methodForSuperclassSelector from class CustomSubclassResponsibilityCodeGenerator to CustomClassQuery
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff
changeset
|
47 |