added: #updateRule
comment/format in: #ruleHolder:
changed:
#aspectSelectors
#ruleRationaleAspect
#update:with:from:
update fixes
--- a/Tools__LintRuleDetail.st Thu Mar 01 14:29:29 2012 +0100
+++ b/Tools__LintRuleDetail.st Thu Mar 01 16:44:18 2012 +0100
@@ -193,8 +193,10 @@
^ #(
#ruleHolder
+ #ruleRationaleAspect
).
+ "Modified: / 01-03-2012 / 16:31:04 / cg"
! !
!LintRuleDetail methodsFor:'actions'!
@@ -265,17 +267,19 @@
|oldValue newValue|
ruleHolder notNil ifTrue:[
- oldValue := ruleHolder value.
- ruleHolder removeDependent:self.
+ oldValue := ruleHolder value.
+ ruleHolder removeDependent:self.
].
ruleHolder := something.
ruleHolder notNil ifTrue:[
- ruleHolder addDependent:self.
+ ruleHolder addDependent:self.
].
newValue := ruleHolder value.
oldValue ~~ newValue ifTrue:[
- self update:#value with:newValue from:ruleHolder.
+ self update:#value with:newValue from:ruleHolder.
].
+
+ "Modified: / 01-03-2012 / 15:29:30 / cg"
!
ruleNameAspect
@@ -304,13 +308,17 @@
|holder|
(holder := builder bindingAt:#ruleRationaleAspect) isNil ifTrue:[
- holder := (AspectAdaptor forAspect: #rationale) subjectChannel: self ruleHolder.
+ "cannot use a BlockValue linked on the ruleHolder for the
+ ruleRationaleAspect, because the ruleHolder maight be changed dynamically
+ via the aspect-linking mechanism"
+"/ holder := (AspectAdaptor forAspect: #rationale) subjectChannel: self ruleHolder.
+ holder := '' asValue.
builder aspectAt:#ruleRationaleAspect put:holder.
].
^ holder.
"Modified: / 05-02-2010 / 12:51:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified (comment): / 07-09-2011 / 04:12:16 / cg"
+ "Modified: / 01-03-2012 / 15:29:16 / cg"
! !
!LintRuleDetail methodsFor:'change & update'!
@@ -320,6 +328,7 @@
changedObject == ruleHolder ifTrue:[
self updateVisibility.
+ self updateRule.
^ self.
].
changedObject == rationaleVisibleHolder ifTrue:[
@@ -329,6 +338,20 @@
super update:something with:aParameter from:changedObject
"Modified: / 04-08-2011 / 21:31:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 01-03-2012 / 15:27:38 / cg"
+!
+
+updateRule
+ "cannot use a BlockValue linked on the ruleHolder for the
+ ruleRationaleAspect, because the ruleHolder maight be changed dynamically
+ via the aspect-linking mechanism"
+
+ |rule|
+
+ rule := self ruleHolder value.
+ self ruleRationaleAspect value: (rule isNil ifTrue:[''] ifFalse:[rule rationale]).
+
+ "Created: / 01-03-2012 / 15:28:18 / cg"
!
updateVisibility
@@ -416,11 +439,11 @@
!LintRuleDetail class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleDetail.st,v 1.11 2012-03-01 09:56:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleDetail.st,v 1.12 2012-03-01 15:44:18 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleDetail.st,v 1.11 2012-03-01 09:56:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleDetail.st,v 1.12 2012-03-01 15:44:18 cg Exp $'
!
version_SVN