ProjectDefinition.st
changeset 14045 2a6a76d7b7f6
parent 14042 05b7b61d7e59
child 14060 cefb6d8205e4
equal deleted inserted replaced
14044:1a21e789f373 14045:2a6a76d7b7f6
  6596         ].
  6596         ].
  6597         (Dialog confirm:'The set of classes in the image is different from the listed classes in the project definition.\\Proceed?' withCRs) ifFalse:[
  6597         (Dialog confirm:'The set of classes in the image is different from the listed classes in the project definition.\\Proceed?' withCRs) ifFalse:[
  6598             AbortSignal raiseRequest
  6598             AbortSignal raiseRequest
  6599         ]
  6599         ]
  6600     ].
  6600     ].
  6601     self validateOrderOfClasses
  6601 "/    self validateOrderOfClasses
  6602 
  6602 
  6603     "
  6603     "
  6604      squeak_vmMaker validateDescription
  6604      squeak_vmMaker validateDescription
  6605     "
  6605     "
  6606 
  6606 
  6607     "Modified: / 05-03-2012 / 12:16:08 / cg"
  6607     "Modified: / 06-03-2012 / 11:31:37 / cg"
  6608 !
  6608 !
  6609 
  6609 
  6610 validateOrderOfClasses
  6610 validateOrderOfClasses
  6611     "check if the project's classes are listed in the correct dependency order in the classList.
  6611     "check if the project's classes are listed in the correct dependency order in the classList.
  6612      This is required, because the generated makefile will compile files in that order,
  6612      This would be required, if the generated makefile would compile files in that order,
  6613      and superclasses must be compiled before subclasses (for the header files)"
  6613      and superclasses must be compiled before subclasses (for the header files).
       
  6614      However, the makefile list is generated by a separate mechanism, so that is not requiered."
  6614 
  6615 
  6615     |classesInDescriptionInOrder classesInProject already|
  6616     |classesInDescriptionInOrder classesInProject already|
  6616 
  6617 
  6617     classesInDescriptionInOrder := OrderedCollection new.
  6618     classesInDescriptionInOrder := OrderedCollection new.
  6618     classesInDescriptionInOrder := 
  6619     classesInDescriptionInOrder := 
  6630     already := Set new.
  6631     already := Set new.
  6631     classesInDescriptionInOrder do:[:eachClass |
  6632     classesInDescriptionInOrder do:[:eachClass |
  6632         eachClass allSuperclassesDo:[:superclass |
  6633         eachClass allSuperclassesDo:[:superclass |
  6633             (classesInProject includes:superclass) ifTrue:[
  6634             (classesInProject includes:superclass) ifTrue:[
  6634                 "/ if in the set, it must have been already listed
  6635                 "/ if in the set, it must have been already listed
  6635                 self assert:(already includes:superclass) message:'superclass not compiled before'
  6636                 self 
       
  6637                     assert:(already includes:superclass) 
       
  6638                     message:('superclass "%1" not compiled before "%2"'
       
  6639                                     bindWith:superclass name
       
  6640                                     with:eachClass name).
  6636             ].
  6641             ].
  6637         ].
  6642         ].
  6638         already add:eachClass.
  6643         already add:eachClass.
  6639     ].
  6644     ].
  6640 
  6645 
  6713 ! !
  6718 ! !
  6714 
  6719 
  6715 !ProjectDefinition class methodsFor:'documentation'!
  6720 !ProjectDefinition class methodsFor:'documentation'!
  6716 
  6721 
  6717 version
  6722 version
  6718     ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.382 2012-03-05 12:00:02 cg Exp $'
  6723     ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.383 2012-03-06 10:32:41 cg Exp $'
  6719 !
  6724 !
  6720 
  6725 
  6721 version_CVS
  6726 version_CVS
  6722     ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.382 2012-03-05 12:00:02 cg Exp $'
  6727     ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.383 2012-03-06 10:32:41 cg Exp $'
  6723 !
  6728 !
  6724 
  6729 
  6725 version_SVN
  6730 version_SVN
  6726     ^ '§ Id: ProjectDefinition.st 10645 2011-06-09 15:28:45Z vranyj1  §'
  6731     ^ '§ Id: ProjectDefinition.st 10645 2011-06-09 15:28:45Z vranyj1  §'
  6727 ! !
  6732 ! !