Kernel-Helpers.st 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. Smalltalk createPackage: 'Kernel-Helpers'!
  2. Trait named: #TIsInGroup
  3. package: 'Kernel-Helpers'!
  4. !TIsInGroup commentStamp!
  5. I contain all `isXxx` checking methods that check
  6. if receiver is part of some group of objects (`isBehavior` etc.)
  7. I should NOT contain tests for
  8. having a certain property (`isImmutable` etc.).!
  9. !TIsInGroup methodsFor: 'testing'!
  10. isBehavior
  11. ^ false
  12. !
  13. isBoolean
  14. ^ false
  15. !
  16. isClass
  17. ^ false
  18. !
  19. isCompiledMethod
  20. ^ false
  21. !
  22. isError
  23. ^ false
  24. !
  25. isMetaclass
  26. ^ false
  27. !
  28. isNumber
  29. ^ false
  30. !
  31. isPackage
  32. ^ false
  33. !
  34. isString
  35. ^ false
  36. !
  37. isSymbol
  38. ^ false
  39. !
  40. isThenable
  41. ^ false
  42. ! !
  43. Trait named: #TSubclassable
  44. package: 'Kernel-Helpers'!
  45. !TSubclassable methodsFor: 'class creation'!
  46. subclass: aString
  47. "Kept for file-in compatibility."
  48. ^ self subclass: aString slots: #() package: nil
  49. !
  50. subclass: aString instanceVariableNames: anotherString
  51. "Kept for file-in compatibility."
  52. ^ self subclass: aString instanceVariableNames: anotherString package: nil
  53. !
  54. subclass: aString instanceVariableNames: aString2 category: aString3
  55. "Kept for file-in compatibility."
  56. ^ self subclass: aString instanceVariableNames: aString2 package: aString3
  57. !
  58. subclass: aString instanceVariableNames: aString2 classVariableNames: classVars poolDictionaries: pools category: aString3
  59. "Kept for file-in compatibility. ignores class variables and pools."
  60. ^ self subclass: aString instanceVariableNames: aString2 package: aString3
  61. !
  62. subclass: aString instanceVariableNames: aString2 package: aString3
  63. "Kept for file-in compatibility."
  64. ^ self subclass: aString slots: aString2 instanceVariablesStringAsSlotList package: aString3
  65. !
  66. subclass: aString slots: aCollection
  67. "Kept for file-in compatibility."
  68. ^ self subclass: aString slots: aCollection package: nil
  69. !
  70. subclass: aString slots: aCollection classVariables: anObject package: anotherString
  71. "Kept for file-in compatibility. ignores class variables."
  72. ^ ClassBuilder new
  73. superclass: self subclass: aString slots: aCollection package: anotherString
  74. !
  75. subclass: aString slots: aCollection classVariables: anObject poolDictionaries: anotherObject package: anotherString
  76. "Kept for file-in compatibility. ignores class variables and pools."
  77. ^ ClassBuilder new
  78. superclass: self subclass: aString slots: aCollection package: anotherString
  79. !
  80. subclass: aString slots: aCollection package: anotherString
  81. ^ ClassBuilder new
  82. superclass: self subclass: aString slots: aCollection package: anotherString
  83. !
  84. subclass: aString uses: aTraitCompositionDescription
  85. "Kept for file-in compatibility."
  86. ^ self subclass: aString uses: aTraitCompositionDescription slots: #() package: nil
  87. !
  88. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: anotherString
  89. "Kept for file-in compatibility."
  90. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: anotherString package: nil
  91. !
  92. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 category: aString3
  93. "Kept for file-in compatibility."
  94. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  95. !
  96. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 classVariableNames: classVars poolDictionaries: pools category: aString3
  97. "Kept for file-in compatibility. ignores class variables and pools."
  98. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  99. !
  100. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  101. "Kept for file-in compatibility."
  102. ^ self subclass: aString uses: aTraitCompositionDescription slots: aString2 instanceVariablesStringAsSlotList package: aString3
  103. !
  104. subclass: aString uses: aTraitCompositionDescription slots: aCollection
  105. "Kept for file-in compatibility."
  106. ^ self subclass: aString uses: aTraitCompositionDescription slots: aCollection package: nil
  107. !
  108. subclass: aString uses: aTraitCompositionDescription slots: aCollection package: aString3
  109. | cls |
  110. cls := self subclass: aString slots: aCollection package: aString3.
  111. cls setTraitComposition: aTraitCompositionDescription asTraitComposition.
  112. ^ cls
  113. ! !