Kernel-Helpers.st 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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. Trait named: #TSubclassable
  41. package: 'Kernel-Helpers'!
  42. !TSubclassable methodsFor: 'class creation'!
  43. subclass: aString
  44. "Kept for file-in compatibility."
  45. ^ self subclass: aString slots: #() package: nil
  46. !
  47. subclass: aString instanceVariableNames: anotherString
  48. "Kept for file-in compatibility."
  49. ^ self subclass: aString instanceVariableNames: anotherString package: nil
  50. !
  51. subclass: aString instanceVariableNames: aString2 category: aString3
  52. "Kept for file-in compatibility."
  53. ^ self subclass: aString instanceVariableNames: aString2 package: aString3
  54. !
  55. subclass: aString instanceVariableNames: aString2 classVariableNames: classVars poolDictionaries: pools category: aString3
  56. "Kept for file-in compatibility. ignores class variables and pools."
  57. ^ self subclass: aString instanceVariableNames: aString2 package: aString3
  58. !
  59. subclass: aString instanceVariableNames: aString2 package: aString3
  60. "Kept for file-in compatibility."
  61. ^ self subclass: aString slots: aString2 instanceVariablesStringAsSlotList package: aString3
  62. !
  63. subclass: aString slots: aCollection
  64. "Kept for file-in compatibility."
  65. ^ self subclass: aString slots: aCollection package: nil
  66. !
  67. subclass: aString slots: aCollection classVariables: anObject package: anotherString
  68. "Kept for file-in compatibility. ignores class variables."
  69. ^ ClassBuilder new
  70. superclass: self subclass: aString slots: aCollection package: anotherString
  71. !
  72. subclass: aString slots: aCollection classVariables: anObject poolDictionaries: anotherObject package: anotherString
  73. "Kept for file-in compatibility. ignores class variables and pools."
  74. ^ ClassBuilder new
  75. superclass: self subclass: aString slots: aCollection package: anotherString
  76. !
  77. subclass: aString slots: aCollection package: anotherString
  78. ^ ClassBuilder new
  79. superclass: self subclass: aString slots: aCollection package: anotherString
  80. !
  81. subclass: aString uses: aTraitCompositionDescription
  82. "Kept for file-in compatibility."
  83. ^ self subclass: aString uses: aTraitCompositionDescription slots: #() package: nil
  84. !
  85. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: anotherString
  86. "Kept for file-in compatibility."
  87. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: anotherString package: nil
  88. !
  89. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 category: aString3
  90. "Kept for file-in compatibility."
  91. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  92. !
  93. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 classVariableNames: classVars poolDictionaries: pools category: aString3
  94. "Kept for file-in compatibility. ignores class variables and pools."
  95. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  96. !
  97. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  98. "Kept for file-in compatibility."
  99. ^ self subclass: aString uses: aTraitCompositionDescription slots: aString2 instanceVariablesStringAsSlotList package: aString3
  100. !
  101. subclass: aString uses: aTraitCompositionDescription slots: aCollection
  102. "Kept for file-in compatibility."
  103. ^ self subclass: aString uses: aTraitCompositionDescription slots: aCollection package: nil
  104. !
  105. subclass: aString uses: aTraitCompositionDescription slots: aCollection package: aString3
  106. | cls |
  107. cls := self subclass: aString slots: aCollection package: aString3.
  108. cls setTraitComposition: aTraitCompositionDescription asTraitComposition.
  109. ^ cls
  110. ! !