Commit
19557 GTDebugger should use FastTable in the object inspector for thisContext https://pharo.fogbugz.com/f/cases/19557 19561 Drag&Drop FastTable Example Does Not Work https://pharo.fogbugz.com/f/cases/19561 19536 "Instance variables not read and written" critique false positive on classes with certain slots https://pharo.fogbugz.com/f/cases/19536 19559 GTMoldableDebugger>>updateBrowser should not call #update https://pharo.fogbugz.com/f/cases/19559 http://files.pharo.org/image/60/60348.zip
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
This smell arises when an instance variable is not both read and written. If an instance variable is only read, the reads can be replaced by nil, since it could not have been assigned a value. If the variable is only written, then it does not need to store the result since it is never used. This check does not work for the data model classes since they use the #instVarAt:put: messages to set instance variables. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
ReAbstractRule subclass: #GRIvarNeitherReadNorWrittenRule | ||
instanceVariableNames: '' | ||
classVariableNames: '' | ||
poolDictionaries: '' | ||
category: 'GeneralRules' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
name | ||
|
||
^ 'Instance variable not read or not written' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
check: aClass forCritiquesDo: aCriticBlock | ||
| methods | | ||
|
||
methods := aClass withAllSubclasses flatCollect: #methods. | ||
|
||
aClass slots | ||
select: [ :slot | | ||
| read written | | ||
read := written := false. | ||
methods noneSatisfy: [ :method | | ||
read := read or: [ method readsSlot: slot ]. | ||
written := written or: [ method writesSlot: slot ]. | ||
read and: [ written ] ] ] | ||
thenDo: [ :slot | | ||
aCriticBlock cull: | ||
(self critiqueFor: aClass about: slot) ] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
critiqueFor: aClass about: aSlot | ||
| crit | | ||
crit := ReTrivialCritique | ||
withAnchor: (ReVarSearchSourceAnchor | ||
entity: aClass | ||
string: aSlot name) | ||
by: self. | ||
|
||
crit tinyHint: aSlot name. | ||
^ crit |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
ReNodeBasedRule subclass: #GRTemporaryNeitherReadNorWrittenRule | ||
instanceVariableNames: '' | ||
classVariableNames: '' | ||
poolDictionaries: '' | ||
category: 'GeneralRules' |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
allowDropOnItemBlock | ||
^ allowDropOnItemBlock | ||
^ allowDropOnItemBlock ifNil: [ allowDropOnItemBlock := [ false ] ] |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
new | ||
|
||
^ GRTemporaryNotReadNorWrittenRule asRBRule | ||
^ GRTemporaryNeitherReadNorWrittenRule asRBRule |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
isVisible | ||
|
||
self flag: 'The functionality was moved to TemporaryNeitherReadNorWrittenRule, but as this rule is used by Monkey, and Monkey is not using Renraku model yet, the rule is hidden'. | ||
^ false |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
new | ||
|
||
^ GRIvarNeitherReadNorWrittenRule asRBRule |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
isVisible | ||
|
||
self flag: 'The functionality was moved to GRIvarNeitherReadNorWrittenRule, but as this rule is used by Monkey, and Monkey is not using Renraku model yet, the rule is hidden'. | ||
^ false |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
update60348 | ||
"self new update60348" | ||
self withUpdateLog: '19557 GTDebugger should use FastTable in the object inspector for thisContext | ||
https://pharo.fogbugz.com/f/cases/19557 | ||
19561 Drag&Drop FastTable Example Does Not Work | ||
https://pharo.fogbugz.com/f/cases/19561 | ||
19536 "Instance variables not read and written" critique false positive on classes with certain slots | ||
https://pharo.fogbugz.com/f/cases/19536 | ||
19559 GTMoldableDebugger>>updateBrowser should not call #update | ||
https://pharo.fogbugz.com/f/cases/19559'. | ||
self loadTogether: self script60348 merge: false. | ||
self flushCaches. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,12 @@ | ||
commentForCurrentUpdate | ||
^ '19551 GLMPopper should accept cmd L shortcut to remote popup and cancel text changes | ||
https://pharo.fogbugz.com/f/cases/19551 | ||
^ '19557 GTDebugger should use FastTable in the object inspector for thisContext | ||
https://pharo.fogbugz.com/f/cases/19557 | ||
19552 Cancelling changes by cmd L should not request user confirmation | ||
https://pharo.fogbugz.com/f/cases/19552' | ||
19561 Drag&Drop FastTable Example Does Not Work | ||
https://pharo.fogbugz.com/f/cases/19561 | ||
19536 "Instance variables not read and written" critique false positive on classes with certain slots | ||
https://pharo.fogbugz.com/f/cases/19536 | ||
19559 GTMoldableDebugger>>updateBrowser should not call #update | ||
https://pharo.fogbugz.com/f/cases/19559' |