--- a/Class.st Tue Jul 02 10:21:24 1996 +0200
+++ b/Class.st Tue Jul 02 20:31:37 1996 +0200
@@ -1775,7 +1775,15 @@
self isDoubles ifTrue:[
s := ' variableDoubleSubclass:#'
] ifFalse:[
- s := ' variableSubclass:#'
+ self isSignedWords ifTrue:[
+ s := ' variableSignedWordSubclass:#'
+ ] ifFalse:[
+ self isSignedLongs ifTrue:[
+ s := ' variableSignedLongSubclass:#'
+ ] ifFalse:[
+ s := ' variableSubclass:#'
+ ]
+ ]
]
]
]
@@ -3768,6 +3776,23 @@
poolDictionaries:s
category:cat
].
+ self isSignedWords ifTrue:[
+ ^ self
+ variableSignedWordSubclass:t
+ instanceVariableNames:f
+ classVariableNames:d
+ poolDictionaries:s
+ category:cat
+ ].
+ self isSignedLongs ifTrue:[
+ ^ self
+ variableSignedLongSubclass:t
+ instanceVariableNames:f
+ classVariableNames:d
+ poolDictionaries:s
+ category:cat
+ ].
+
^ self
variableSubclass:t
instanceVariableNames:f
@@ -3932,11 +3957,63 @@
category:cat
comment:nil
changed:true
+!
+
+variableSignedWordSubclass:t instanceVariableNames:f classVariableNames:d poolDictionaries:s category:cat
+ "create a new class as a subclass of an existing class (the receiver)
+ in which the subclass has indexable word-sized signed nonpointer variables"
+
+ self isVariable ifTrue:[
+ self isSignedWords ifFalse:[
+ ^ self error:
+ 'cannot make a variable signed word subclass of a variable non-word class'
+ ].
+ ].
+
+ ^ self class
+ name:t
+ inEnvironment:(Smalltalk currentNameSpace)
+ subclassOf:self
+ instanceVariableNames:f
+ variable:#signedWord
+ words:false
+ pointers:false
+ classVariableNames:d
+ poolDictionaries:s
+ category:cat
+ comment:nil
+ changed:true
+!
+
+variableSignedLongSubclass:t instanceVariableNames:f classVariableNames:d poolDictionaries:s category:cat
+ "create a new class as a subclass of an existing class (the receiver)
+ in which the subclass has indexable signed long-sized nonpointer variables"
+
+ self isVariable ifTrue:[
+ self isSignedLongs ifFalse:[
+ ^ self error:
+ 'cannot make a variable signed long subclass of a variable non-long class'
+ ].
+ ].
+
+ ^ self class
+ name:t
+ inEnvironment:(Smalltalk currentNameSpace)
+ subclassOf:self
+ instanceVariableNames:f
+ variable:#signedLong
+ words:false
+ pointers:false
+ classVariableNames:d
+ poolDictionaries:s
+ category:cat
+ comment:nil
+ changed:true
! !
!Class class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.161 1996-07-01 19:33:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.162 1996-07-02 18:31:37 cg Exp $'
! !
Class initialize!