--- a/ProjectChecker.st Thu Sep 19 10:20:01 2013 +0100
+++ b/ProjectChecker.st Fri Sep 20 11:37:11 2013 +0100
@@ -261,6 +261,38 @@
"Modified: / 31-10-2012 / 17:40:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+checkClassesAutoloadedSuperclasse: aCollection"of Class"
+ packageDef classNamesAndAttributesDo:[:clsnm :attributes|
+ | cls |
+
+ cls := Smalltalk at: clsnm.
+ (aCollection includes: cls) ifTrue:[
+ (attributes includes: #autoload) ifFalse:[
+ "/ Care for Object!!
+ cls superclass notNil ifTrue:[
+ | superDef superNm |
+
+ superDef := ProjectDefinition definitionClassForPackage: cls superclass package.
+ superNm := cls superclass name.
+ superDef classNamesAndAttributesDo:[:clsnm2 :attributes2|
+ clsnm2 == superNm ifTrue:[
+ (attributes2 includes: #autoload) ifTrue:[
+ problems add:
+ (ProjectProblem newClassIsCompiledButSuperclassIsAutoloaded
+ package: package;
+ className: clsnm;
+ yourself)
+ ].
+ ].
+ ]
+ ].
+ ].
+ ].
+ ].
+
+ "Created: / 20-09-2013 / 11:08:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
checkClassesForMethodsInNoProject:classesToCheck
| checker |
@@ -517,8 +549,10 @@
self checkClassesListedInProjectDefinition: classesToCheck.
self checkClassesForMethodsInNoProject:classesToCheck.
self checkClassesForNonQualifiedSharedPools:classesToCheck.
+ self checkClassesAutoloadedSuperclasse:classesToCheck.
"Created: / 13-02-2012 / 18:18:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-09-2013 / 11:08:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
checkMethod: method