Kernel-Helpers.st 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. Smalltalk createPackage: 'Kernel-Helpers'!
  2. Trait named: #TSubclassable
  3. package: 'Kernel-Helpers'!
  4. !TSubclassable methodsFor: 'class creation'!
  5. subclass: aString
  6. "Kept for file-in compatibility."
  7. ^ self subclass: aString instanceVariableNames: '' package: nil
  8. !
  9. subclass: aString instanceVariableNames: anotherString
  10. "Kept for file-in compatibility."
  11. ^ self subclass: aString instanceVariableNames: anotherString package: nil
  12. !
  13. subclass: aString instanceVariableNames: aString2 category: aString3
  14. "Kept for file-in compatibility."
  15. ^ self subclass: aString instanceVariableNames: aString2 package: aString3
  16. !
  17. subclass: aString instanceVariableNames: aString2 classVariableNames: classVars poolDictionaries: pools category: aString3
  18. "Kept for file-in compatibility. ignores class variables and pools."
  19. ^ self subclass: aString instanceVariableNames: aString2 package: aString3
  20. !
  21. subclass: aString instanceVariableNames: aString2 package: aString3
  22. "Kept for file-in compatibility."
  23. ^ ClassBuilder new
  24. superclass: self subclass: aString asString slots: (self slotsFromInstanceVariablesString: aString2) package: aString3
  25. !
  26. subclass: aString uses: aTraitCompositionDescription
  27. "Kept for file-in compatibility."
  28. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: '' package: nil
  29. !
  30. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: anotherString
  31. "Kept for file-in compatibility."
  32. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: anotherString package: nil
  33. !
  34. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 category: aString3
  35. "Kept for file-in compatibility."
  36. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  37. !
  38. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 classVariableNames: classVars poolDictionaries: pools category: aString3
  39. "Kept for file-in compatibility. ignores class variables and pools."
  40. ^ self subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  41. !
  42. subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
  43. | cls |
  44. cls := self subclass: aString instanceVariableNames: aString2 package: aString3.
  45. cls setTraitComposition: aTraitCompositionDescription asTraitComposition.
  46. ^ cls
  47. ! !