SmallSense__MethodBindingPO.st
author Claus Gittinger <cg@exept.de>
Fri, 27 Mar 2015 12:34:51 +0100
branchcvs_MAIN
changeset 443 3511d16582e6
parent 440 79dbd5429c66
child 908 c903c45d1788
permissions -rw-r--r--
class: SmallSense::CriticsWindow comment/format in: #disableLintRule
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
440
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
     1
"{ Encoding: utf8 }"
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
     2
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Copyright (C) 2013-2014 Jan Vrany
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
This library is free software; you can redistribute it and/or
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
modify it under the terms of the GNU Lesser General Public
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
License as published by the Free Software Foundation; either
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
version 2.1 of the License. 
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
This library is distributed in the hope that it will be useful,
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
but WITHOUT ANY WARRANTY; without even the implied warranty of
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
Lesser General Public License for more details.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
You should have received a copy of the GNU Lesser General Public
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
License along with this library; if not, write to the Free Software
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
"{ Package: 'stx:goodies/smallsense' }"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"{ NameSpace: SmallSense }"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
PO subclass:#MethodBindingPO
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	instanceVariableNames:'binding'
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	classVariableNames:''
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	poolDictionaries:''
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
	category:'SmallSense-Java-Interface-PO'
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
!MethodBindingPO class methodsFor:'documentation'!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
copyright
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
Copyright (C) 2013-2014 Jan Vrany
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
This library is free software; you can redistribute it and/or
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
modify it under the terms of the GNU Lesser General Public
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
License as published by the Free Software Foundation; either
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
version 2.1 of the License. 
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
This library is distributed in the hope that it will be useful,
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
but WITHOUT ANY WARRANTY; without even the implied warranty of
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
Lesser General Public License for more details.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
You should have received a copy of the GNU Lesser General Public
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
License along with this library; if not, write to the Free Software
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
! !
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
!MethodBindingPO methodsFor:'accessing'!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    ^ binding
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
binding:b
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    binding := b.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
label
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    "Return a text to be displayed. The label may be cached
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
     `label` instvar."
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    label isNil ifTrue:[
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
        | descriptor |
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
        descriptor := binding signature.
440
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
    73
        label := (Smalltalk at:#JavaMethod) 
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
    74
                    specTextFromSignature:descriptor 
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
    75
                    in: nil 
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
    76
                    withName: binding selector 
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
    77
                    isConstructor: binding isConstructor.   
280
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
"/        | parameters |
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
"/
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
"/        label := String streamContents: [ :s |
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
"/            s nextPutAll: binding selector.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
"/            s nextPut: $(.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
"/            parameters := binding parameters.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
"/            parameters notEmptyOrNil ifTrue:[ 
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
"/                s nextPutAll: parameters first displayString.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
"/                parameters size > 1 ifTrue:[ 
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
"/                    1 to: parameters size do:[:i |  
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
"/                        s nextPutAll: ', '.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
"/                        s nextPutAll: (parameters at: i) displayString.
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
"/                    ]
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
"/                ].
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
"/            ].
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
"/            s nextPut: $).
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
"/        ]
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
    ].
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    ^ label
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "Created: / 13-08-2014 / 22:33:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
stringToCompleteForLanguage:aProgrammingLanguage
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
    ^ binding selector , '()'
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
    "Created: / 13-08-2014 / 22:39:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
! !
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
!MethodBindingPO methodsFor:'testing'!
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
isSmallSenseMethodBindingPO
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
    ^ true
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
    "Created: / 13-08-2014 / 22:44:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
! !
100db0f8279b Support for completing Java methods (only first level).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
440
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   117
!MethodBindingPO class methodsFor:'documentation'!
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   118
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   119
version
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   120
    ^ '$Header: /cvs/stx/stx/goodies/smallsense/SmallSense__MethodBindingPO.st,v 1.2 2015-03-23 17:01:07 cg Exp $'
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   121
!
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   122
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   123
version_CVS
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   124
    ^ '$Path: stx/goodies/smallsense/SmallSense__MethodBindingPO.st, Version: 1.0, User: cg, Time: 2015-03-23T18:01:53.299+01$'
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   125
! !
79dbd5429c66 class: SmallSense::MethodBindingPO
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   126