refactoring_custom/SmallSense__CustomJavaSimpleSetterMethodsCodeGenerator.st
author convert-repo
Wed, 11 Dec 2019 04:28:36 +0000
changeset 1116 b51ace366efc
parent 1072 a44c741ee5ef
permissions -rw-r--r--
update tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
     1
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
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: 810
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: 810
diff changeset
     5
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
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: 810
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: 810
diff changeset
     8
License as published by the Free Software Foundation; either
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
     9
version 2.1 of the License.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    10
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
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: 810
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: 810
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: 810
diff changeset
    14
Lesser General Public License for more details.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    15
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
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: 810
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: 810
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: 810
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' }"
810
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
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 }"
810
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    23
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    24
CustomCodeGenerator subclass:#CustomJavaSimpleSetterMethodsCodeGenerator
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    25
	instanceVariableNames:''
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    26
	classVariableNames:''
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    27
	poolDictionaries:''
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    28
	category:'Interface-Refactoring-Custom-Generators'
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    29
!
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    30
828
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    31
!CustomJavaSimpleSetterMethodsCodeGenerator class methodsFor:'documentation'!
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    32
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    33
copyright
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    34
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
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: 810
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: 810
diff changeset
    38
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
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: 810
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: 810
diff changeset
    41
License as published by the Free Software Foundation; either
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    42
version 2.1 of the License.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    43
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
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: 810
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: 810
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: 810
diff changeset
    47
Lesser General Public License for more details.
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    48
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
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: 810
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: 810
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: 810
diff changeset
    52
"
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    53
! !
4c5acc592dc7 Added copyright notice
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 810
diff changeset
    54
810
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    55
!CustomJavaSimpleSetterMethodsCodeGenerator class methodsFor:'accessing-presentation'!
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    56
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    57
description
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    58
    "Returns more detailed description of the receiver"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    59
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    60
    ^ 'Generates setter methods for instance variables of Java Class'
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    61
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    62
    "Created: / 01-02-2015 / 20:42:59 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    63
!
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    64
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    65
label
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    66
    "Returns show label describing the receiver. This label
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    67
     is used in UI as menu item/tree item label."
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    68
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    69
    ^ 'Setter Method(s)'
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    70
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    71
    "Created: / 01-02-2015 / 20:43:33 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    72
! !
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    73
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    74
!CustomJavaSimpleSetterMethodsCodeGenerator class methodsFor:'queries'!
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    75
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    76
availableForProgrammingLanguages
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    77
    "Returns list of programming language instances for which this generator / refactoring works.
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    78
    (SmalltalkLanguage instance, JavaLanguage instance, GroovyLanguage instance, etc.)
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    79
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    80
     See also availableForProgrammingLanguagesInContext:withPerspective:"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    81
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    82
    ^ {JavaLanguage instance}
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    83
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    84
    "Created: / 01-02-2015 / 20:44:19 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    85
!
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    86
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    87
availableInContext: aCustomContext
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    88
    "Returns true if the generator/refactoring is available in given
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    89
     context, false otherwise.
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    90
     
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    91
     Called by the UI to figure out what generators / refactorings
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    92
     are available at given point. See class CustomContext for details."
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    93
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    94
    ^ aCustomContext selectedClasses notEmptyOrNil
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    95
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    96
    "Created: / 01-02-2015 / 20:40:38 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    97
!
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    98
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    99
availableInPerspective: aCustomPerspective
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   100
    "Returns true if the generator/refactoring is available in given
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   101
     perspective, false otherwise.
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   102
     
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   103
     Called by the UI to figure out what generators / refactorings
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   104
     to show"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   105
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   106
    ^ aCustomPerspective isClassPerspective
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   107
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   108
    "Created: / 01-02-2015 / 20:41:14 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   109
! !
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   110
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   111
!CustomJavaSimpleSetterMethodsCodeGenerator methodsFor:'executing - private'!
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   112
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   113
buildInContext: aCustomContext
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   114
    "Prototype generator for Java language - proper way should be usage of some Java parser"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   115
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   116
    self warn: 'Experimenatal generator, may not work as expected.'.  
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   117
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   118
    aCustomContext selectedClasses do: [ :class |
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   119
        class instanceVariableNames do: [ :varName |
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   120
            | setter type newDefinition endOfClass |
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   121
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   122
            type := (class realClass typeOfField: varName) asString.
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   123
            setter := '
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   124
    public ', type, ' ', varName, '(', type, ' ', varName, ') {
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   125
        this.', varName, ' = ', varName, ';
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   126
    }
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   127
'.
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   128
            newDefinition := class realClass definition.
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   129
            endOfClass := newDefinition lastIndexOf: $}.
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   130
            newDefinition := (newDefinition copyTo: endOfClass - 1), setter, (newDefinition copyFrom: endOfClass).
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   131
            JavaCompiler compile: newDefinition
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   132
        ]
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   133
    ]
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   134
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   135
    "Created: / 01-02-2015 / 17:58:54 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   136
    "Modified: / 02-02-2015 / 22:20:34 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   137
! !
977f0f99bb2d Added prototype Java code generator which generates setter methods CustomJavaSimpleSetterMethodsCodeGenerator
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   138