class: ProjectChecker
authorClaus Gittinger <cg@exept.de>
Sun, 21 Dec 2014 17:03:32 +0100
changeset 3686 544231883156
parent 3685 d5d6862b4cc4
child 3687 eb6c93f52cc5
class: ProjectChecker class definition changed: #checkMethodSTCCompilability2:into: cache rules - huge speedup
ProjectChecker.st
--- a/ProjectChecker.st	Sun Dec 14 18:02:26 2014 +0100
+++ b/ProjectChecker.st	Sun Dec 21 17:03:32 2014 +0100
@@ -13,7 +13,7 @@
 
 Object subclass:#ProjectChecker
 	instanceVariableNames:'packages currentPackage currentPackageDef classes methods
-		problems phase checkExtensionsOnly'
+		problems phase checkExtensionsOnly rulesApplied'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'System-Support-Projects'
@@ -488,8 +488,12 @@
     env := SelectorEnvironment new.
     env addClass: method mclass selector: method selector.
 
-    rules := RBCompositeLintRule allRules 
-                select:[:rule | (rule isTaggedAs: #stc) and:[ rule severity == #error ]].
+    rulesApplied isNil ifTrue:[
+        rulesApplied := RBCompositeLintRule allRules 
+                    select:[:rule | (rule isTaggedAs: #stc) and:[ rule severity == #error ]].
+    ].
+    rules := rulesApplied.
+
     rules runOnEnvironment: env.
 
     violations := rules select:[:each | each result includesSelector: method selector in: method mclass ]. 
@@ -713,14 +717,14 @@
 !ProjectChecker class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectChecker.st,v 1.26 2014-07-31 08:49:55 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectChecker.st,v 1.27 2014-12-21 16:03:32 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectChecker.st,v 1.26 2014-07-31 08:49:55 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectChecker.st,v 1.27 2014-12-21 16:03:32 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: ProjectChecker.st,v 1.26 2014-07-31 08:49:55 vrany Exp $'
+    ^ '$Id: ProjectChecker.st,v 1.27 2014-12-21 16:03:32 cg Exp $'
 ! !