class: ProjectChecker
authorClaus Gittinger <cg@exept.de>
Tue, 10 Feb 2015 19:22:36 +0100
changeset 3780 d9c489fb2a98
parent 3779 a642b81f46d4
child 3781 40e218c6e5ff
class: ProjectChecker changed: #checkClassesAutoloadedSuperclasse:
ProjectChecker.st
--- a/ProjectChecker.st	Tue Feb 10 19:22:25 2015 +0100
+++ b/ProjectChecker.st	Tue Feb 10 19:22:36 2015 +0100
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libbasic3' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#ProjectChecker
 	instanceVariableNames:'packages currentPackage currentPackageDef classes methods
 		problems phase checkExtensionsOnly rulesApplied'
@@ -267,16 +269,17 @@
 
 checkClassesAutoloadedSuperclasse: aCollection"of Class"
     currentPackageDef classNamesAndAttributesDo:[:clsnm :attributes|
-        | cls |
+        | cls superclass |
 
         cls := Smalltalk at: clsnm.
         (aCollection includes: cls) ifTrue:[
             (attributes includes: #autoload) ifFalse:[
                 "/ Care for Object!!
-                cls superclass notNil ifTrue:[
-                    | superDef superNm |
+                superclass := cls superclass.
+                superclass notNil ifTrue:[
+                    | superDef |
 
-                    superDef := ProjectDefinition definitionClassForPackage: cls superclass package.
+                    superDef := ProjectDefinition definitionClassForPackage: superclass package.
                     superDef isNil ifTrue:[
                         problems add:
                             (ProjectProblem newClassIsCompiledButSuperclassProjectDefinitionIsMissing
@@ -284,17 +287,12 @@
                                             className: clsnm;
                                             yourself)   
                     ] ifFalse:[
-                        superNm := cls superclass name.
-                        superDef classNamesAndAttributesDo:[:clsnm2 :attributes2|
-                            clsnm2 == superNm ifTrue:[
-                                (attributes2 includes: #autoload) ifTrue:[
-                                    problems add:
-                                        (ProjectProblem newClassIsCompiledButSuperclassIsAutoloaded
-                                            package: currentPackage;
-                                            className: clsnm;
-                                            yourself)
-                                ].
-                            ].
+                        (superDef isAutoloaded:superclass) ifTrue:[
+                            problems add:
+                                (ProjectProblem newClassIsCompiledButSuperclassIsAutoloaded
+                                    package: currentPackage;
+                                    className: clsnm;
+                                    yourself)
                         ].
                     ]
                 ].
@@ -717,14 +715,14 @@
 !ProjectChecker class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectChecker.st,v 1.27 2014-12-21 16:03:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectChecker.st,v 1.28 2015-02-10 18:22:36 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectChecker.st,v 1.27 2014-12-21 16:03:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ProjectChecker.st,v 1.28 2015-02-10 18:22:36 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: ProjectChecker.st,v 1.27 2014-12-21 16:03:32 cg Exp $'
+    ^ '$Id: ProjectChecker.st,v 1.28 2015-02-10 18:22:36 cg Exp $'
 ! !