PO refactoring: get rid of name instvar.
Name instvar was ambiguous and confusin, expecially when there's a `label` instvar too.
`name` instvar was removed and subclasses now must refefine #label and few others.
--- a/SmallSense__ClassPO.st Tue May 20 11:01:39 2014 +0100
+++ b/SmallSense__ClassPO.st Tue May 20 11:50:16 2014 +0100
@@ -33,28 +33,27 @@
"Modified: / 20-05-2014 / 10:05:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-name
-
- | nm |
+label
+ label isNil ifTrue:[
+ showPrefix ifTrue:[
+ label := klass name.
+ (context notNil and:[klass isJavaClass]) ifTrue:[
+ context language isJava ifTrue:[
+ label := klass javaName
+ ] ifFalse:[
+ context language isSmalltalk ifTrue:[
+ label := 'JAVA ' , (klass binaryName copyReplaceAll: $/ with: Character space)
+ ]
+ ]
+ ].
+ ] ifFalse:[
+ label := klass nameWithoutPrefix.
+ ].
+ ].
- showPrefix ifTrue:[
- nm := klass name.
- (context notNil and:[klass isJavaClass]) ifTrue:[
- context language isJava ifTrue:[
- nm := klass javaName
- ] ifFalse:[
- context language isSmalltalk ifTrue:[
- nm := 'JAVA ' , (klass binaryName copyReplaceAll: $/ with: Character space)
- ]
- ]
- ].
- ] ifFalse:[
- nm := klass nameWithoutPrefix.
- ].
- ^nm
+ ^label
- "Created: / 26-08-2013 / 10:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 17-12-2013 / 22:16:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 20-05-2014 / 11:29:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
showPrefix
@@ -88,11 +87,11 @@
^ (klass isJavaClass and:[language isSmalltalk]) ifTrue:[
'JAVA ', (klass binaryName copyReplaceAll: $/ with: Character space)
] ifFalse:[
- super stringToCompleteForLanguage: language
+ self label
].
"Created: / 03-10-2013 / 16:42:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 20-10-2013 / 02:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:41:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ClassPO methodsFor:'converting'!
@@ -136,13 +135,6 @@
]
"Created: / 18-09-2013 / 00:17:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-displayString
- ^ self name
-
- "Created: / 20-04-2012 / 18:19:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 26-08-2013 / 10:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ClassPO methodsFor:'initialization'!
--- a/SmallSense__ConstantPO.st Tue May 20 11:01:39 2014 +0100
+++ b/SmallSense__ConstantPO.st Tue May 20 11:50:16 2014 +0100
@@ -10,6 +10,25 @@
!
+!ConstantPO methodsFor:'accessing'!
+
+label
+ "Return a text to be displayed. The label may be cached
+ `label` instvar."
+
+ ^ '???'
+
+ "Created: / 20-05-2014 / 11:31:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stringToCompleteForLanguage:aProgrammingLanguage
+ "Answers a string to complete"
+
+ ^ '???'
+
+ "Created: / 20-05-2014 / 11:32:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!ConstantPO methodsFor:'testing'!
isSmallSenseConstantPO
--- a/SmallSense__JavaImportPO.st Tue May 20 11:01:39 2014 +0100
+++ b/SmallSense__JavaImportPO.st Tue May 20 11:50:16 2014 +0100
@@ -57,9 +57,8 @@
import:aString
import := aString.
- name := aString
- "Modified: / 20-05-2014 / 10:10:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:43:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
klass
@@ -70,6 +69,12 @@
klass := something.
!
+label
+ ^ import
+
+ "Created: / 20-05-2014 / 11:31:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
stringAlreadyWritten
"Answers a string already written in the textview"
--- a/SmallSense__MethodKeywordRestPO.st Tue May 20 11:01:39 2014 +0100
+++ b/SmallSense__MethodKeywordRestPO.st Tue May 20 11:50:16 2014 +0100
@@ -72,7 +72,6 @@
initializeWithClasses: anArray"Of Classes" selector: aSymbol prefix: aString
selector := aSymbol.
- name := aSymbol.
classes := anArray.
keywords := (aSymbol copyFrom: aString size + 1)
--- a/SmallSense__MethodPO.st Tue May 20 11:01:39 2014 +0100
+++ b/SmallSense__MethodPO.st Tue May 20 11:50:16 2014 +0100
@@ -15,10 +15,11 @@
cursorColumnAfterComplete
| idx |
- idx := name indexOf: $:.
- ^idx == 0 ifTrue:[name size + 1] ifFalse:[idx + 1].
+ idx := self label indexOf: $:.
+ ^idx == 0 ifTrue:[self label size + 1] ifFalse:[idx + 1].
"Created: / 05-04-2011 / 17:08:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:43:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
cursorColumnAfterCompleteForLanguage: language
@@ -116,10 +117,10 @@
initializeWithClasses: anArray"Of Classes" selector: aSymbol
selector := aSymbol.
- name := aSymbol.
classes := anArray
"Created: / 20-05-2014 / 10:32:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:34:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!MethodPO methodsFor:'testing'!
--- a/SmallSense__PO.st Tue May 20 11:01:39 2014 +0100
+++ b/SmallSense__PO.st Tue May 20 11:50:16 2014 +0100
@@ -3,7 +3,7 @@
"{ NameSpace: SmallSense }"
HierarchicalItem subclass:#PO
- instanceVariableNames:'icon label name relevance context'
+ instanceVariableNames:'icon label relevance context'
classVariableNames:'IconWidth'
poolDictionaries:''
category:'SmallSense-Core-Interface-PO'
@@ -90,20 +90,30 @@
!
label
+ "Return a text to be displayed. The label may be cached
+ `label` instvar."
- label isNil ifTrue:[label := self name].
- ^label
+ ^ self subclassResponsibility
"Created: / 07-04-2011 / 09:55:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 03-10-2013 / 16:28:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:30:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
name
- ^ name
+ <resource: #obsolete>
+
+ self obsoleteMethodWarning.
+ ^ self label
+
+ "Modified: / 20-05-2014 / 11:36:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-name:something
- name := something.
+name:aString
+ <resource: #obsolete>
+
+ self shouldNeverBeSent
+
+ "Modified: / 20-05-2014 / 11:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
relevance
@@ -148,10 +158,10 @@
stringToCompleteForLanguage: aProgrammingLanguage
"Answers a string to complete"
- ^ self name
+ ^ self subclassResponsibility
"Created: / 02-10-2013 / 02:32:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 31-03-2014 / 23:07:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:32:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
subject
@@ -222,6 +232,13 @@
"Created: / 24-07-2013 / 00:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 18-09-2013 / 00:13:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+displayString
+ ^ self label
+
+ "Created: / 20-04-2012 / 18:19:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:34:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PO methodsFor:'printing & storing'!
@@ -231,10 +248,10 @@
super printOn:aStream.
aStream nextPut:$(.
- name printOn:aStream.
+ self label.
aStream nextPut:$).
- "Modified: / 04-04-2011 / 12:02:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:18:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PO methodsFor:'queries'!
--- a/SmallSense__SnippetPO.st Tue May 20 11:01:39 2014 +0100
+++ b/SmallSense__SnippetPO.st Tue May 20 11:50:16 2014 +0100
@@ -12,11 +12,28 @@
!SnippetPO methodsFor:'accessing'!
+label
+ "Return a text to be displayed. The label may be cached
+ `label` instvar."
+
+ ^ value
+
+ "Created: / 20-05-2014 / 11:30:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stringToCompleteForLanguage:aProgrammingLanguage
+ "Answers a string to complete"
+
+ ^ value
+
+ "Created: / 20-05-2014 / 11:33:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
value:aString
value := aString.
- name := aString
"Created: / 20-05-2014 / 10:08:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-05-2014 / 11:34:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!SnippetPO methodsFor:'testing'!
--- a/SmallSense__VariablePO.st Tue May 20 11:01:39 2014 +0100
+++ b/SmallSense__VariablePO.st Tue May 20 11:50:16 2014 +0100
@@ -3,7 +3,7 @@
"{ NameSpace: SmallSense }"
PO subclass:#VariablePO
- instanceVariableNames:'class type'
+ instanceVariableNames:'class type name'
classVariableNames:''
poolDictionaries:''
category:'SmallSense-Core-Interface-PO'
@@ -55,13 +55,30 @@
"Created: / 06-04-2011 / 16:51:42 / Jakub <zelenja7@fel.cvut.cz>"
!
-stringToCompleteForLanguage: language
+label
+ ^ name
+
+ "Created: / 20-05-2014 / 11:30:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+name
+ ^ name
+ "Created: / 20-05-2014 / 11:38:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+name: aString
+ name := aString
+
+ "Created: / 20-05-2014 / 11:37:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stringToCompleteForLanguage:aProgrammingLanguage
"Answers a string to complete"
- ^name "/, ' '
+ ^ name
- "Created: / 31-03-2014 / 23:09:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 20-05-2014 / 11:33:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
type:something
--- a/smallsense.rc Tue May 20 11:01:39 2014 +0100
+++ b/smallsense.rc Tue May 20 11:50:16 2014 +0100
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
VALUE "ProductName", "Smalltalk/X\0"
VALUE "ProductVersion", "6.2.3.0\0"
- VALUE "ProductDate", "Tue, 20 May 2014 09:55:57 GMT\0"
+ VALUE "ProductDate", "Tue, 20 May 2014 10:44:04 GMT\0"
END
END