|
Class: ClassChange
Object
|
+--Change
|
+--ClassChange
|
+--ClassCategoryChange
|
+--ClassClassVariableChange
|
+--ClassCommentChange
|
+--ClassDefinitionChange
|
+--ClassInitializeChange
|
+--ClassInstVarDefinitionChange
|
+--ClassOtherChange
|
+--ClassPrimitiveChange
|
+--ClassRemoveChange
|
+--ClassRenameChange
|
+--MethodCategoryRenameChange
|
+--MethodChange
- Package:
- stx:libbasic3
- Category:
- System-Changes
- Version:
- rev:
1.81
date: 2018/05/24 12:56:23
- user: cg
- file: ClassChange.st directory: libbasic3
- module: stx stc-classLibrary: libbasic3
- Author:
- Claus Gittinger
- Jan Vrany
Abstract superclass for class related changes
They are typically held in a ChangeSet.
[:instvars] incomplete
className <String> ............ the class name *without* namespace,
but including all owners (if the class
is private)
owningClassName <String|nil> .. class name of the owning class if any
nameSpaceName <String|nil> .... namespace name of the change or nil, if
class is in no namespace.
nameSpaceOverride <NameSpace|nil> enforced namespace in which the class will
should be installed.
instance creation
-
class: aClass
-
-
class: aClass source: source
-
-
className: aClassName
-
-
className: aClassName source: source
-
accessing
-
changeClass
-
the class of the change (nil if not present).
Take care for changes from foreign Smalltalks having
a different Namespace definition syntax
-
changeClass: aClass
-
set the class of the change
-
class: aClass
-
set the class of the change
-
class: aClass source: newSource
-
set both class and source of the change
-
classBaseName
-
return the className of the change.
This is without *any* prefix (namespace or private-owner)
-
className
-
Returns class name of the class as it was present in the original change.
For changes from a file with namespace override, this will be the
className *without* toplevel namespace, but with all owning classes
(if the change class is a private class).
For changes generated internally (by the browser), this will be the full name,
and the namespace override will be nil.
cg: this is all very confusing and needs some cleanup.
However it will be done, any change here needs checks in all users of this code.
-
className: aString
-
set the className of the change
-
className: newClassName source: newSource
-
set both className and source of the change
-
classNameForWellKnownVisualWorksNamespaceClass: className
-
-
classNameWithoutNamespace
-
return the className of the change
-
fullClassName
-
Returns the fully qualified class name, i.e., including namespace in which the
class should be installed
(i.e., the override namespace (if any) rather than original namespace (of any))
-
fullOwningClassName
-
Returns fully qualified owner's class name, i.e., including namespace in which the
class should be found (i.e., the override namespace (if any) rather than
original namespace (of any))
-
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)
but *without* any namespace prefix
-
nameSpace
-
-
nameSpace: aNameSpace
-
-
nameSpaceName
-
Return the namespace in which the class should be installed.
If the user enforces a namespace using nameSpaceOverride or
using query signal, then the enforced namespace is returned.
Otherwise, changes's original namespace is returned, if any.
-
nameSpaceName: aString
-
-
nameSpaceOverride
-
Return namespace enforced by the caller.
NOTE: This code used to use `Class nameSpaceQuerySignal` to
allow enforcing namespace by query. This made the code more
complicated and was used only by Tools::ChangeSetBrowser2 so
it was removed.
To apply change in particular namespace, use nameSpaceOverride:.
You may use applyWithNameSpaceOverride: for your convenience.
-
nameSpaceOverride: aNamespaceOrString
-
-
nonMetaClassName
-
-
owningClassName
-
-
owningClassName: aStringOrSymbol
-
-
package
-
return the value of the instance variable 'package' (automatically generated)
-
package: something
-
set the value of the instance variable 'package' (automatically generated)
applying
-
apply
-
apply the change
-
applyWithNameSpaceOverride: nameSpaceOrNameSpaceName
-
Apply the change, overriding a namespace to given one
printing & storing
-
printOn: aStream
-
append a user printed representation of the receiver to aStream.
The format is suitable for a human - not meant to be read back.
queries
-
cutMyNameSpaceOf: aString
-
-
cutNameSpaceOf: aString
-
-
isForMeta
-
-
nameSpaceForVWNamespace: ns class: className ifAbsent: default
-
map the namespace for a given class - hack; only works for some
testing
-
isClassChange
-
|