--- a/False.st Thu Apr 25 20:29:09 1996 +0200
+++ b/False.st Fri Apr 26 09:12:36 1996 +0200
@@ -46,6 +46,9 @@
(redefining ifTrue: to something else will probably crash the smalltalk
world anyway ...)
+ [see also:]
+ True
+
[author:]
Claus Gittinger
"
@@ -155,4 +158,4 @@
!False class methodsFor:'documentation'!
version
-^ '$Header: /cvs/stx/stx/libbasic/False.st,v 1.16 1996-04-25 16:51:48 cg Exp $'! !
+^ '$Header: /cvs/stx/stx/libbasic/False.st,v 1.17 1996-04-26 07:11:48 cg Exp $'! !
--- a/True.st Thu Apr 25 20:29:09 1996 +0200
+++ b/True.st Fri Apr 26 09:12:36 1996 +0200
@@ -46,6 +46,9 @@
(redefining ifTrue: to something else will probably crash the smalltalk
world anyway ...)
+ [see also:]
+ False
+
[author:]
Claus Gittinger
"
@@ -155,5 +158,5 @@
!True class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/True.st,v 1.17 1996-04-25 16:51:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/True.st,v 1.18 1996-04-26 07:12:22 cg Exp $'
! !
--- a/UndefObj.st Thu Apr 25 20:29:09 1996 +0200
+++ b/UndefObj.st Fri Apr 26 09:12:36 1996 +0200
@@ -35,16 +35,26 @@
documentation
"
- there is only one instance of this class: nil, representing an undefined
- or otherwise unspecified object.
+ there is only one instance of this class: nil,
+ representing an undefined or otherwise unspecified object.
All instance variables, array elements and even method/block local
variables are initially set to nil.
- Since in Smalltalk/X, nil is represented by a special pointer value,
+
+ Since in Smalltalk/X, nil is represented by a special pointer value (NULL),
there can be only one instance of UndefinedObject, and no subclassing is
possible.
- (to be exact: subclassing is technically possible, but instances of it
- would not be recognized as being nil - therefore, subclassing is blocked)
+ (to be exact: subclassing UndefinedObject is technically possible,
+ but instances of it would not be recognized as being nil
+ - therefore, subclassing is blocked and an error is raised when it is tried)
+
+ For advanced users:
+ Beside the above role, nil can be subclassed (!!).
+ This creates a class which inherits no protocol whatsoever - not even
+ the basic interfaces as defined by the Object class. Subclasses of nil
+ are useful if all messages send to instances should trap into the
+ #doesNotUnderstand: method. For example, proxy objects are typically defined
+ this way.
[author:]
Claus Gittinger
@@ -286,5 +296,5 @@
!UndefinedObject class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/UndefObj.st,v 1.22 1996-04-25 16:53:16 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/UndefObj.st,v 1.23 1996-04-26 07:12:36 cg Exp $'
! !
--- a/UndefinedObject.st Thu Apr 25 20:29:09 1996 +0200
+++ b/UndefinedObject.st Fri Apr 26 09:12:36 1996 +0200
@@ -35,16 +35,26 @@
documentation
"
- there is only one instance of this class: nil, representing an undefined
- or otherwise unspecified object.
+ there is only one instance of this class: nil,
+ representing an undefined or otherwise unspecified object.
All instance variables, array elements and even method/block local
variables are initially set to nil.
- Since in Smalltalk/X, nil is represented by a special pointer value,
+
+ Since in Smalltalk/X, nil is represented by a special pointer value (NULL),
there can be only one instance of UndefinedObject, and no subclassing is
possible.
- (to be exact: subclassing is technically possible, but instances of it
- would not be recognized as being nil - therefore, subclassing is blocked)
+ (to be exact: subclassing UndefinedObject is technically possible,
+ but instances of it would not be recognized as being nil
+ - therefore, subclassing is blocked and an error is raised when it is tried)
+
+ For advanced users:
+ Beside the above role, nil can be subclassed (!!).
+ This creates a class which inherits no protocol whatsoever - not even
+ the basic interfaces as defined by the Object class. Subclasses of nil
+ are useful if all messages send to instances should trap into the
+ #doesNotUnderstand: method. For example, proxy objects are typically defined
+ this way.
[author:]
Claus Gittinger
@@ -286,5 +296,5 @@
!UndefinedObject class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.22 1996-04-25 16:53:16 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.23 1996-04-26 07:12:36 cg Exp $'
! !