[Pharo-project] Question about about LintRule
Hello, I'm currently looking a bit at how lint rules work. The current example I'm looking at is: RBTempVarOverridesInstVarRule => this rule check for tmp variables that override an existing instance variable in the class => when such a case is detected, the result is stored like that: result addClass: aContext selectedClass selector: aContext selector. result addSearchString: varName. => so, all variables are just stored one by one in a collection ('searchString') and never linked to the method in which the problem happened. What I wonder is: How are you able then to display, as result, a list of method, and for each of them to highligth the 'problematic' tmp variable? How do you make the the link between a class-selector from the result, and, the variable name causing the problem for this selector?
2010/8/18 Cyrille Delaunay <cy.delaunay@gmail.com>:
Hello, I'm currently looking a bit at how lint rules work. The current example I'm looking at is:  RBTempVarOverridesInstVarRule     => this rule check for tmp variables that override an existing instance variable in the class     => when such a case is detected, the result is stored like that:               result     addClass: aContext selectedClass     selector: aContext selector.      result addSearchString: varName.     => so, all variables are just stored one by one in a collection ('searchString') and never linked to the method in which the problem happened. What I wonder is: How are you able then to display, as result, a list of method, and for each of them to highligth the 'problematic' tmp variable? How do you make the the link between a class-selector from the result, and, the variable name causing the problem for this selector?
The list comes from #addClass:selector:. The selection comes from the string. There is no connection between the two, see <http://st-www.cs.illinois.edu/users/brant/Refactory/Lint.html> on Limitations/Highlighting. Lukas -- Lukas Renggli www.lukas-renggli.ch
participants (2)
-
Cyrille Delaunay -
Lukas Renggli