confusion between actual classname and expected className fixed.
authorClaus Gittinger <cg@exept.de>
Mon, 21 Apr 2008 19:07:59 +0200
changeset 10970 13a0fb6641ee
parent 10969 046b204c6ea2
child 10971 7452375e37eb
confusion between actual classname and expected className fixed.
ProjectDefinition.st
--- a/ProjectDefinition.st	Sat Apr 19 15:06:11 2008 +0200
+++ b/ProjectDefinition.st	Mon Apr 21 19:07:59 2008 +0200
@@ -2040,7 +2040,7 @@
 
                     cls := Smalltalk classNamed:eachClassName.
                     cls isNil ifTrue:[
-                        fn := (Smalltalk fileNameForClass:eachClassName) asFilename withoutSuffix.
+                        fn := (self filenameForClassNamed:eachClassName) asFilename withoutSuffix.
                         fn suffix notEmptyOrNil ifTrue:[
                             fn := fn withoutSuffix
                         ].
@@ -2175,12 +2175,12 @@
                 s nextPutLine:'  ''' , eachClass classBaseFilename, ''''.    
             ].
             classNamesUnloaded do:[:nm |
-                s nextPutLine:'  ''' , (Smalltalk fileNameForClass: nm) asFilename baseName, ''''.    
+                s nextPutLine:'  ''' , (self filenameForClassNamed:nm) asFilename baseName, ''''.    
             ].
 
             self namesAndAttributesIn:(self additionalClassNamesAndAttributes) do:[:nm :attr |
                 (attr isEmptyOrNil or:[(attr includes:#autoload) not]) ifTrue:[
-                    s nextPutLine:'  ''' , (Smalltalk fileNameForClass: nm) asFilename baseName, ''''.    
+                    s nextPutLine:'  ''' , (self filenameForClassNamed:nm) asFilename baseName, ''''.    
                 ].
             ].
 
@@ -2546,6 +2546,23 @@
     "Created: / 19-09-2006 / 22:47:43 / cg"
 !
 
+filenameForClassNamed:className
+    |class|
+
+    class := Smalltalk classNamed:className.
+    class notNil ifTrue:[
+        "/ the actual name
+        ^ class classFilename asFilename withoutSuffix baseName
+    ] ifFalse:[
+        "/ the expected name
+        ^ Smalltalk fileNameForClass:className
+    ].
+
+    "Created: / 08-08-2006 / 20:17:28 / fm"
+    "Modified: / 09-08-2006 / 18:26:52 / fm"
+    "Modified: / 20-10-2006 / 16:22:58 / cg"
+!
+
 make_dot_proto_mappings
     ^ Dictionary new
         at: 'TAB' put: ( Character tab asString );
@@ -2587,9 +2604,8 @@
 !
 
 objectLine_make_dot_spec_mappings: aClassName
-
     ^ Dictionary new                                               
-        at: 'CLASSFILE' put:(Smalltalk fileNameForClass:aClassName);
+        at: 'CLASSFILE' put:(self filenameForClassNamed:aClassName);
         yourself
 
     "Created: / 08-08-2006 / 20:17:28 / fm"
@@ -3020,7 +3036,7 @@
 
         self namesAndAttributesIn:(self additionalClassNamesAndAttributes) do: [:nm :attr |
             (attr isEmptyOrNil or:[(attr includes:#autoload) not]) ifTrue:[
-                s nextPutLine:('    $(OUTDIR)',(Smalltalk fileNameForClass:nm),'.$(O) \'). 
+                s nextPutLine:('    $(OUTDIR)',(self filenameForClassNamed:nm),'.$(O) \'). 
             ].
         ].
 
@@ -3979,7 +3995,7 @@
 !ProjectDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.179 2008-04-09 08:20:59 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.180 2008-04-21 17:07:59 cg Exp $'
 ! !
 
 ProjectDefinition initialize!