Fixed ProjectDefinition>>#classNamesByCategory jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 18 Apr 2013 21:31:04 +0200
branchjv
changeset 18048 dc8e0423e235
parent 18047 e4a0ea191f5b
child 18049 5b83e8406d5d
Fixed ProjectDefinition>>#classNamesByCategory When computing package dependencies, also take private classe's shared pools into an account. In other words, class A must be before class B aslo if A is a pool and one of B's private classes uses pool A. This is the case of stx_libjava (JavaVMData & JavaRelease)
ProjectDefinition.st
--- a/ProjectDefinition.st	Thu Apr 18 21:12:01 2013 +0200
+++ b/ProjectDefinition.st	Thu Apr 18 21:31:04 2013 +0200
@@ -3784,6 +3784,7 @@
         mustComeBefore ifFalse:[
             pivateClassesOfB := pivateClassesOf at:b ifAbsent:[ #() ].
             pivateClassesOfB do:[:eachClassInB |
+                mustComeBefore := mustComeBefore or:[(a isSharedPool and:[(eachClassInB sharedPoolNames includes: a name)])].
                 mustComeBefore := mustComeBefore or:[eachClassInB isSubclassOf:a]
             ].
         ].
@@ -3829,10 +3830,12 @@
      stx_libbasic classNamesByCategory
      stx_libbasic3 classNamesByCategory
      stx_libview classNamesByCategory
+     stx_libjava classNamesByCategory
     "
 
     "Created: / 09-08-2006 / 11:24:39 / fm"
     "Modified: / 25-11-2011 / 16:41:47 / cg"
+    "Modified: / 18-04-2013 / 21:27:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 commonSymbolsFlag