class: ClassChange
authorClaus Gittinger <cg@exept.de>
Wed, 27 Mar 2013 19:18:35 +0100
changeset 3151 7b9ea70d52bf
parent 3150 10fa70a50dfa
child 3152 1bef57aa5c95
class: ClassChange added: #localClassName
ClassChange.st
--- a/ClassChange.st	Wed Mar 27 19:18:21 2013 +0100
+++ b/ClassChange.st	Wed Mar 27 19:18:35 2013 +0100
@@ -189,6 +189,20 @@
     "Modified: 15.7.1996 / 09:28:35 / cg"
 !
 
+className
+    |ns|
+
+    "/ used to be ^ className;
+    "/
+    "/ now include a translation from vw namespace to stx nameSpace
+
+    ns := self nameSpaceName.
+    (ns isNil or:[ns = 'Smalltalk']) ifTrue:[^ className].
+    ^ ns , '::' , (self classNameWithoutNamespace)
+
+    "Modified: / 29-01-2011 / 11:33:26 / cg"
+!
+
 className:aString 
     "set the className of the change"
 
@@ -234,6 +248,57 @@
     "Modified: / 06-10-2011 / 16:58:34 / cg"
 !
 
+fullClassName
+    |ns|
+
+    "/ used to be ^ className;
+    "/
+    "/ now include a translation from vw namespace to stx nameSpace
+
+    ns := self nameSpaceName.
+    (ns isNil or:[ns = 'Smalltalk']) ifTrue:[^ self className].
+
+    ^ ns , '::' , self className
+!
+
+localClassName
+    "for private classes, this returns the name relative to its owner;
+     for non-private ones, this is the regular name.
+     Notice that className always returns the full name (incl. any owner prefix)"
+
+    ^self className
+!
+
+nameSpace
+    |nsName nameSpace|
+
+    (nsName := self nameSpaceName) notNil ifTrue:[
+        ^ NameSpace name:nsName.
+    ].
+    ^ Smalltalk
+!
+
+nameSpaceName
+    |ns cnm idx|
+
+    className isNil ifTrue:[^ nil].
+
+    (idx := className indexOf:$:) ~~ 0 ifTrue:[
+        "/ in a namespace
+        ^ className copyTo:(idx - 1).
+    ].
+    (idx := className indexOf:$.) ~~ 0 ifTrue:[
+        "/ in a namespace
+        ns := className copyTo:(idx - 1).
+        cnm := className copyFrom:(idx + 1).
+        "cheat: VW namespaces"
+        ^ self nameSpaceForVWNamespace:ns class:cnm ifAbsent:ns
+    ].
+    ^ nil
+
+    "Modified: / 03-08-2006 / 02:04:03 / cg"
+!
+
 nameSpaceOverride
     |ns|
 
@@ -304,63 +369,6 @@
 "/    ].
 
     "Modified: / 29-01-2011 / 12:28:03 / cg"
-!
-
-className
-    |ns|
-
-    "/ used to be ^ className;
-    "/
-    "/ now include a translation from vw namespace to stx nameSpace
-
-    ns := self nameSpaceName.
-    (ns isNil or:[ns = 'Smalltalk']) ifTrue:[^ className].
-    ^ ns , '::' , (self classNameWithoutNamespace)
-
-    "Modified: / 29-01-2011 / 11:33:26 / cg"
-!
-
-fullClassName
-    |ns|
-
-    "/ used to be ^ className;
-    "/
-    "/ now include a translation from vw namespace to stx nameSpace
-
-    ns := self nameSpaceName.
-    (ns isNil or:[ns = 'Smalltalk']) ifTrue:[^ self className].
-
-    ^ ns , '::' , self className
-!
-
-nameSpace
-    |nsName nameSpace|
-
-    (nsName := self nameSpaceName) notNil ifTrue:[
-        ^ NameSpace name:nsName.
-    ].
-    ^ Smalltalk
-!
-
-nameSpaceName
-    |ns cnm idx|
-
-    className isNil ifTrue:[^ nil].
-
-    (idx := className indexOf:$:) ~~ 0 ifTrue:[
-        "/ in a namespace
-        ^ className copyTo:(idx - 1).
-    ].
-    (idx := className indexOf:$.) ~~ 0 ifTrue:[
-        "/ in a namespace
-        ns := className copyTo:(idx - 1).
-        cnm := className copyFrom:(idx + 1).
-        "cheat: VW namespaces"
-        ^ self nameSpaceForVWNamespace:ns class:cnm ifAbsent:ns
-    ].
-    ^ nil
-
-    "Modified: / 03-08-2006 / 02:04:03 / cg"
 ! !
 
 !ClassChange methodsFor:'printing & storing'!
@@ -436,10 +444,10 @@
 !ClassChange class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/ClassChange.st,v 1.68 2013-03-25 23:47:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ClassChange.st,v 1.69 2013-03-27 18:18:35 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/ClassChange.st,v 1.68 2013-03-25 23:47:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ClassChange.st,v 1.69 2013-03-27 18:18:35 cg Exp $'
 ! !