SmallSense__JavaConstructorPO.st
author convert-repo
Wed, 11 Dec 2019 04:28:36 +0000
changeset 1116 b51ace366efc
parent 374 e65bd2bf892a
permissions -rw-r--r--
update tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     1
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     2
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
374
e65bd2bf892a Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
     3
Copyright (C) 2013-2015 Jan Vrany
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     4
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     5
This library is free software; you can redistribute it and/or
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     7
License as published by the Free Software Foundation; either
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     8
version 2.1 of the License. 
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     9
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    10
This library is distributed in the hope that it will be useful,
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    13
Lesser General Public License for more details.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    14
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    16
License along with this library; if not, write to the Free Software
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    18
"
249
8bc64027b189 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 243
diff changeset
    19
"{ Package: 'stx:goodies/smallsense' }"
212
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
"{ NameSpace: SmallSense }"
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
MethodPO subclass:#JavaConstructorPO
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
	instanceVariableNames:'showPrefix'
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	classVariableNames:''
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	poolDictionaries:''
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	category:'SmallSense-Java-Interface-PO'
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    30
!JavaConstructorPO class methodsFor:'documentation'!
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    31
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    32
copyright
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    33
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    34
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
374
e65bd2bf892a Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 252
diff changeset
    35
Copyright (C) 2013-2015 Jan Vrany
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    36
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    37
This library is free software; you can redistribute it and/or
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    38
modify it under the terms of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    39
License as published by the Free Software Foundation; either
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    40
version 2.1 of the License. 
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    41
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    42
This library is distributed in the hope that it will be useful,
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    43
but WITHOUT ANY WARRANTY; without even the implied warranty of
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    44
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    45
Lesser General Public License for more details.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    46
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    47
You should have received a copy of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    48
License along with this library; if not, write to the Free Software
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    49
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    50
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    51
! !
243
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
    52
212
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
!JavaConstructorPO methodsFor:'accessing'!
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
243
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
    55
hint
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
    56
    ^ (classes collect:[:each | each javaPackage ]) asArray asStringWith:' , '.
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
    57
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
    58
    "Created: / 24-06-2014 / 11:04:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
    59
!
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
    60
212
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
label
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    label isNil ifTrue:[
233
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    63
	label := (classes anElement compiledMethodAt: selector) printStringForBrowserWithSelector: selector.
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    64
	showPrefix ifTrue:[
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    65
	    label := classes anElement javaPackage , '.' , label
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    66
	].
212
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    ].
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    ^ label
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    "Created: / 15-05-2014 / 12:04:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
!
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
showPrefix: aBoolean
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    showPrefix := aBoolean
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    "Created: / 15-05-2014 / 12:01:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
!
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
stringAlreadyWritten
233
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    80
    "Answers a string already written in the textview"
212
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    ^ showPrefix ifTrue:[
233
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    83
	context wordBeforeCursorConsisitingOfCharactersMatching:[:c | c isAlphaNumeric or:['$_.' includes: c] ]
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    84
    ] ifFalse:[
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    85
	super stringAlreadyWritten
212
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    ].
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    "Created: / 15-05-2014 / 12:06:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
!
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
stringToCompleteForLanguage: aProgrammingLanguage
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    "Answers a string to complete"
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    | string |
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    string := super stringToCompleteForLanguage: aProgrammingLanguage.
233
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    97
    showPrefix ifTrue:[
fb33bd6466a4 Merged ef4a53a77c35 and a95a378b4248
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 212
diff changeset
    98
	string := classes anElement javaPackage , '.' , string
212
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
    ].
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    ^ string
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    "Created: / 15-05-2014 / 12:07:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
! !
243
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   104
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   105
!JavaConstructorPO class methodsFor:'documentation'!
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   106
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   107
version_HG
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   108
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   109
    ^ '$Changeset: <not expanded> $'
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   110
! !
091e3ece06d2 Improvement for Java constructor PO's - show package hint instead of owning class name.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 233
diff changeset
   111