added #hasSharedInstances & tracing support
authorClaus Gittinger <cg@exept.de>
Wed, 01 Sep 1999 21:49:35 +0200
changeset 4652 8b3118a923d1
parent 4651 18a6ac30b36f
child 4653 b3d38149fbde
added #hasSharedInstances & tracing support
UndefObj.st
UndefinedObject.st
--- a/UndefObj.st	Wed Sep 01 21:48:24 1999 +0200
+++ b/UndefObj.st	Wed Sep 01 21:49:35 1999 +0200
@@ -120,7 +120,9 @@
 !
 
 hasImmediateInstances
-    "return true if this class has immediate instances.
+    "return true if this class has immediate instances
+     i.e. if the instances are represented in the pointer itself and
+     no real object header/storage is used for the object.
      Redefined from Behavior"
 
     ^ true
@@ -128,6 +130,17 @@
     "Created: 3.6.1997 / 12:01:39 / cg"
 !
 
+hasSharedInstances
+    "return true if this class has shared instances, that is, instances
+     with the same value are identical.
+     False is returned here, only redefined in classes which have unified
+     instances (or should be treated so)."
+
+    ^ true
+
+
+!
+
 isBuiltInClass
     "return true, if this class is known by the run-time-system,
      i.e. you cannot add/remove instance variables without recompiling
@@ -526,7 +539,7 @@
 !
 
 isLiteral
-    "return true, if the receiver can be used as a literal
+    "return true, if the receiver can be used as a literal constant in ST syntax
      (i.e. can be used in constant arrays)"
 
     ^ true
@@ -557,9 +570,19 @@
     ^ 0
 ! !
 
+!UndefinedObject methodsFor:'tracing'!
+
+traceInto:aRequestor level:level
+    "double dispatch into tracer, passing my type implicitely in the selector"
+
+    ^ aRequestor traceUndefinedObject:self level:level
+
+
+! !
+
 !UndefinedObject class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/UndefObj.st,v 1.41 1999-08-04 14:14:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/UndefObj.st,v 1.42 1999-09-01 19:49:35 cg Exp $'
 ! !
 UndefinedObject initialize!
--- a/UndefinedObject.st	Wed Sep 01 21:48:24 1999 +0200
+++ b/UndefinedObject.st	Wed Sep 01 21:49:35 1999 +0200
@@ -120,7 +120,9 @@
 !
 
 hasImmediateInstances
-    "return true if this class has immediate instances.
+    "return true if this class has immediate instances
+     i.e. if the instances are represented in the pointer itself and
+     no real object header/storage is used for the object.
      Redefined from Behavior"
 
     ^ true
@@ -128,6 +130,17 @@
     "Created: 3.6.1997 / 12:01:39 / cg"
 !
 
+hasSharedInstances
+    "return true if this class has shared instances, that is, instances
+     with the same value are identical.
+     False is returned here, only redefined in classes which have unified
+     instances (or should be treated so)."
+
+    ^ true
+
+
+!
+
 isBuiltInClass
     "return true, if this class is known by the run-time-system,
      i.e. you cannot add/remove instance variables without recompiling
@@ -526,7 +539,7 @@
 !
 
 isLiteral
-    "return true, if the receiver can be used as a literal
+    "return true, if the receiver can be used as a literal constant in ST syntax
      (i.e. can be used in constant arrays)"
 
     ^ true
@@ -557,9 +570,19 @@
     ^ 0
 ! !
 
+!UndefinedObject methodsFor:'tracing'!
+
+traceInto:aRequestor level:level
+    "double dispatch into tracer, passing my type implicitely in the selector"
+
+    ^ aRequestor traceUndefinedObject:self level:level
+
+
+! !
+
 !UndefinedObject class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.41 1999-08-04 14:14:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.42 1999-09-01 19:49:35 cg Exp $'
 ! !
 UndefinedObject initialize!