# HG changeset patch # User Claus Gittinger # Date 1433896768 -7200 # Node ID d024e283fb6872a4e4442e68199cc251b6e1f266 # Parent edff93c290bb654c8f65225cefd10409ed82dc5f class: UndefinedObject changed: #subclass:instanceVariableNames:classVariableNames:poolDictionaries:privateIn: diff -r edff93c290bb -r d024e283fb68 UndefinedObject.st --- a/UndefinedObject.st Wed Jun 10 02:39:01 2015 +0200 +++ b/UndefinedObject.st Wed Jun 10 02:39:28 2015 +0200 @@ -11,6 +11,8 @@ " "{ Package: 'stx:libbasic' }" +"{ NameSpace: Smalltalk }" + Object subclass:#UndefinedObject instanceVariableNames:'' classVariableNames:'CreateMinimumProtocolInNewSubclassQuery' @@ -108,7 +110,6 @@ "Modified: 3.1.1997 / 15:06:15 / cg" ! ! - !UndefinedObject class methodsFor:'queries'! canBeSubclassed @@ -155,8 +156,6 @@ - - !UndefinedObject methodsFor:'converting'! asBoolean @@ -300,6 +299,7 @@ ^ 0 ! ! + !UndefinedObject methodsFor:'subclass creation'! nilSubclass:action @@ -453,10 +453,18 @@ !UndefinedObject methodsFor:'subclass creation-private'! -subclass:nameSymbol instanceVariableNames:instVarNameString classVariableNames:classVarString poolDictionaries:pool privateIn:ownerClass +subclass:nameSymbol instanceVariableNames:instVarNameString classVariableNames:classVarString poolDictionaries:pool privateIn:ownerClassArg "create a new private class which has nil as superclass - i.e. traps into #doesNotUnderstand: for all of its messages." + |category ownerClass| + + (ownerClass := ownerClassArg) isNil ifTrue:[ + self error:'Nil (undefined) owner class - proceed to define as global' mayProceed:true. + ] ifFalse:[ + category := ownerClassArg category + ]. + ^ self nilSubclass:[ Object class @@ -469,7 +477,7 @@ pointers:true classVariableNames:classVarString poolDictionaries:pool - category:ownerClass category + category:category comment:nil changed:true ] @@ -721,15 +729,14 @@ ^ aVisitor visitNilWith:aParameter ! ! - !UndefinedObject class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.78 2014-10-26 01:31:37 vrany Exp $' + ^ '$Header$' ! version_CVS - ^ '$Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.78 2014-10-26 01:31:37 vrany Exp $' + ^ '$Header$' ! !