Object.st
changeset 23417 c00a7d62d686
parent 23416 bcf56209c667
child 23454 4d4b9bd174b3
equal deleted inserted replaced
23416:bcf56209c667 23417:c00a7d62d686
   257     "Modified: / 22.1.1998 / 21:23:40 / av"
   257     "Modified: / 22.1.1998 / 21:23:40 / av"
   258     "Modified: / 3.2.1998 / 18:55:09 / cg"
   258     "Modified: / 3.2.1998 / 18:55:09 / cg"
   259     "Modified: / 4.8.1999 / 08:54:06 / stefan"
   259     "Modified: / 4.8.1999 / 08:54:06 / stefan"
   260 ! !
   260 ! !
   261 
   261 
       
   262 
   262 !Object class methodsFor:'Compatibility-ST80'!
   263 !Object class methodsFor:'Compatibility-ST80'!
   263 
   264 
   264 rootError
   265 rootError
   265     "return the signal used for error/error: - handling.
   266     "return the signal used for error/error: - handling.
   266      Same as errorSignal for ST80 compatibility."
   267      Same as errorSignal for ST80 compatibility."
   495      messages. The default is true."
   496      messages. The default is true."
   496 
   497 
   497     InfoPrinting := aBoolean
   498     InfoPrinting := aBoolean
   498 ! !
   499 ! !
   499 
   500 
       
   501 
   500 !Object class methodsFor:'queries'!
   502 !Object class methodsFor:'queries'!
   501 
   503 
   502 isAbstract
   504 isAbstract
   503     "Return if this class is an abstract class.
   505     "Return if this class is an abstract class.
   504      True is returned for Object here; false for subclasses.
   506      True is returned for Object here; false for subclasses.
   518     "Modified: 23.4.1996 / 16:00:07 / cg"
   520     "Modified: 23.4.1996 / 16:00:07 / cg"
   519 ! !
   521 ! !
   520 
   522 
   521 
   523 
   522 
   524 
       
   525 
       
   526 
       
   527 
       
   528 
   523 !Object methodsFor:'Compatibility-GNU'!
   529 !Object methodsFor:'Compatibility-GNU'!
   524 
   530 
   525 display
   531 display
   526     "print the receiver on the standard output stream (which is not the Transcript).
   532     "print the receiver on the standard output stream (which is not the Transcript).
   527      Added for GNU-ST compatibility"
   533      Added for GNU-ST compatibility"
   533     "print the receiver followed by a cr on the standard output stream (which is not the Transcript).
   539     "print the receiver followed by a cr on the standard output stream (which is not the Transcript).
   534      Added for GNU-ST compatibility"
   540      Added for GNU-ST compatibility"
   535 
   541 
   536     self printCR
   542     self printCR
   537 ! !
   543 ! !
       
   544 
   538 
   545 
   539 !Object methodsFor:'Compatibility-ST80'!
   546 !Object methodsFor:'Compatibility-ST80'!
   540 
   547 
   541 isMetaclass
   548 isMetaclass
   542     "same as isMeta for ST80/Squeak and VW compatibility.
   549     "same as isMeta for ST80/Squeak and VW compatibility.
   617     "VW compatibility"
   624     "VW compatibility"
   618 
   625 
   619     "/ kept in libbasic package, because it is used by the refactory code
   626     "/ kept in libbasic package, because it is used by the refactory code
   620     self errorKeyNotFound:aKey.
   627     self errorKeyNotFound:aKey.
   621 ! !
   628 ! !
       
   629 
   622 
   630 
   623 !Object methodsFor:'accessing'!
   631 !Object methodsFor:'accessing'!
   624 
   632 
   625 _at:index
   633 _at:index
   626     "experimental:
   634     "experimental:
  1714       'abcdef' copy nilAllInstvars
  1722       'abcdef' copy nilAllInstvars
  1715       100 factorial nilAllInstvars
  1723       100 factorial nilAllInstvars
  1716     "
  1724     "
  1717 ! !
  1725 ! !
  1718 
  1726 
       
  1727 
       
  1728 
  1719 !Object methodsFor:'attributes access'!
  1729 !Object methodsFor:'attributes access'!
  1720 
  1730 
  1721 objectAttributeAt:attributeKey
  1731 objectAttributeAt:attributeKey
  1722     "return the attribute for a given key or nil if not found.
  1732     "return the attribute for a given key or nil if not found.
  1723      Such attributes behave like dynamically addable slots in languages like JavaScript.
  1733      Such attributes behave like dynamically addable slots in languages like JavaScript.
  1856 
  1866 
  1857     "Created: / 22-01-1998 / 21:29:39 / av"
  1867     "Created: / 22-01-1998 / 21:29:39 / av"
  1858     "Modified: / 18-02-2000 / 11:32:19 / cg"
  1868     "Modified: / 18-02-2000 / 11:32:19 / cg"
  1859     "Modified: / 15-03-2017 / 17:25:12 / stefan"
  1869     "Modified: / 15-03-2017 / 17:25:12 / stefan"
  1860 ! !
  1870 ! !
       
  1871 
       
  1872 
  1861 
  1873 
  1862 
  1874 
  1863 !Object methodsFor:'change & update'!
  1875 !Object methodsFor:'change & update'!
  1864 
  1876 
  1865 broadcast:aSelectorSymbol
  1877 broadcast:aSelectorSymbol
  7361       Dictionary new elementDescriptorForNonNilInstanceVariables
  7373       Dictionary new elementDescriptorForNonNilInstanceVariables
  7362       (5 @ nil) elementDescriptorForNonNilInstanceVariables
  7374       (5 @ nil) elementDescriptorForNonNilInstanceVariables
  7363     "
  7375     "
  7364 ! !
  7376 ! !
  7365 
  7377 
       
  7378 
  7366 !Object methodsFor:'printing & storing'!
  7379 !Object methodsFor:'printing & storing'!
  7367 
  7380 
  7368 _errorPrint
  7381 _errorPrint
  7369     "Do not use this in user code.
  7382     "Do not use this in user code.
  7370      Prints on stderr, regardless of any redirection to a logger.
  7383      Prints on stderr, regardless of any redirection to a logger.
  8354     ^ self class
  8367     ^ self class
  8355 !
  8368 !
  8356 
  8369 
  8357 speciesForCompare
  8370 speciesForCompare
  8358     "return a class to determine if two objects can be compared.
  8371     "return a class to determine if two objects can be compared.
  8359      The fallback here is my species; only redefined by some timestamp classes"
  8372      The fallback here is my species; only redefined by some timestamp classes.
       
  8373      FIXME: not all classes (actually currently only one) use this in their #= method
       
  8374      (i.e. it needs to be done eg in Dictionary as well)"
  8360      
  8375      
  8361     ^ self species
  8376     ^ self species
       
  8377 
       
  8378     "Modified (comment): / 10-10-2018 / 18:22:05 / Claus Gittinger"
  8362 !
  8379 !
  8363 
  8380 
  8364 speciesForCopy
  8381 speciesForCopy
  8365     "return a class which is the receiver's class, except for readonly objects,
  8382     "return a class which is the receiver's class, except for readonly objects,
  8366      such as immutable collections.
  8383      such as immutable collections.
  8372 yourself
  8389 yourself
  8373     "return the receiver - used for cascades to return self at the end"
  8390     "return the receiver - used for cascades to return self at the end"
  8374 
  8391 
  8375     ^ self
  8392     ^ self
  8376 ! !
  8393 ! !
       
  8394 
  8377 
  8395 
  8378 !Object methodsFor:'secure message sending'!
  8396 !Object methodsFor:'secure message sending'!
  8379 
  8397 
  8380 ?:selector
  8398 ?:selector
  8381     "try to send a message to the receiver;
  8399     "try to send a message to the receiver;
  9035 
  9053 
  9036     "Created: / 13-07-2017 / 18:12:34 / cg"
  9054     "Created: / 13-07-2017 / 18:12:34 / cg"
  9037     "Modified: / 30-07-2018 / 09:02:13 / Stefan Vogel"
  9055     "Modified: / 30-07-2018 / 09:02:13 / Stefan Vogel"
  9038 ! !
  9056 ! !
  9039 
  9057 
       
  9058 
  9040 !Object methodsFor:'synchronized evaluation'!
  9059 !Object methodsFor:'synchronized evaluation'!
  9041 
  9060 
  9042 freeSynchronizationSemaphore
  9061 freeSynchronizationSemaphore
  9043     "free synchronizationSemaphore. May be used, to save memory when
  9062     "free synchronizationSemaphore. May be used, to save memory when
  9044      an object is no longer used synchronized."
  9063      an object is no longer used synchronized."
 10882      Subclasses redefine this to pass their type in the message name (i.e. visitXXX:)"
 10901      Subclasses redefine this to pass their type in the message name (i.e. visitXXX:)"
 10883 
 10902 
 10884     ^ aVisitor visitObject:self with:aParameter
 10903     ^ aVisitor visitObject:self with:aParameter
 10885 ! !
 10904 ! !
 10886 
 10905 
       
 10906 
       
 10907 
       
 10908 
 10887 !Object class methodsFor:'documentation'!
 10909 !Object class methodsFor:'documentation'!
 10888 
 10910 
 10889 version
 10911 version
 10890     ^ '$Header$'
 10912     ^ '$Header$'
 10891 !
 10913 !