refactoring_custom/SmallSense__CustomLazyInitializationAccessMethodsCodeGenerator.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 02 Jul 2018 08:46:03 +0200
changeset 1073 c591c75fe5a8
parent 1072 a44c741ee5ef
permissions -rw-r--r--
Tagged Smalltalk/X 8.0.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
     1
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
     2
A custom code generation and refactoring support for Smalltalk/X
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
     3
Copyright (C) 2013-2015 Jakub Nesveda
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
     4
Copyright (C) 2015 Jan Vrany
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
     5
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
     6
This library is free software; you can redistribute it and/or
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
     8
License as published by the Free Software Foundation; either
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
     9
version 2.1 of the License.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    10
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    11
This library is distributed in the hope that it will be useful,
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    14
Lesser General Public License for more details.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    15
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    17
License along with this library; if not, write to the Free Software
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    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' }"
607
cd20b3875a9b add access generator with lazy initialization in getter
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: 690
diff changeset
    23
607
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    24
CustomAccessMethodsCodeGenerator subclass:#CustomLazyInitializationAccessMethodsCodeGenerator
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    25
	instanceVariableNames:''
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    26
	classVariableNames:''
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    27
	poolDictionaries:''
656
a95284467938 move all code generators to category Interface-Refactoring-Custom-Generators
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 607
diff changeset
    28
	category:'Interface-Refactoring-Custom-Generators'
607
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    29
!
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    30
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    31
!CustomLazyInitializationAccessMethodsCodeGenerator class methodsFor:'documentation'!
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    32
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    33
copyright
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    34
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    35
A custom code generation and refactoring support for Smalltalk/X
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    36
Copyright (C) 2013-2015 Jakub Nesveda
1072
a44c741ee5ef Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 833
diff changeset
    37
Copyright (C) 2015 Jan Vrany
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    38
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    39
This library is free software; you can redistribute it and/or
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    40
modify it under the terms of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    41
License as published by the Free Software Foundation; either
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    42
version 2.1 of the License.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    43
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    44
This library is distributed in the hope that it will be useful,
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    45
but WITHOUT ANY WARRANTY; without even the implied warranty of
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    46
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    47
Lesser General Public License for more details.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    48
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    49
You should have received a copy of the GNU Lesser General Public
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    50
License along with this library; if not, write to the Free Software
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    51
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    52
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    53
! !
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 803
diff changeset
    54
607
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    55
!CustomLazyInitializationAccessMethodsCodeGenerator class methodsFor:'accessing-presentation'!
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    56
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    57
description
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    58
    "Returns more detailed description of the receiver"
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    59
    
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    60
    ^ 'Access Method(s) with Lazy Initialization in Getter for selected instance variables'
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    61
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    62
    "Modified: / 08-07-2014 / 18:10:40 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    63
!
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    64
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    65
label
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    66
    "Returns show label describing the receiver. This label
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    67
     is used in UI as menu item/tree item label."
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    68
    
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    69
    ^ 'Access Method(s) with Lazy Initialization in Getter'
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    70
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    71
    "Modified: / 08-07-2014 / 18:10:06 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    72
! !
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    73
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    74
!CustomLazyInitializationAccessMethodsCodeGenerator methodsFor:'executing'!
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    75
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    76
buildInContext: aCustomContext
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    77
    "Creates access methods with lazy initialization in getter for given context"
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    78
690
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 656
diff changeset
    79
    self executeSubGeneratorOrRefactoringClasses:(Array 
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 656
diff changeset
    80
                  with:CustomLazyInitializationGetterMethodsCodeGenerator
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 656
diff changeset
    81
                  with:CustomChangeNotificationSetterMethodsCodeGenerator)
b87820270ed6 rename executeSubGeneratorClasses:inContext: to executeSubGeneratorOrRefactoringClasses:inContext:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 656
diff changeset
    82
          inContext:aCustomContext
607
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    83
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    84
    "Modified: / 08-07-2014 / 18:37:19 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    85
! !
cd20b3875a9b add access generator with lazy initialization in getter
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    86