+100
I do not think that there should be restrictions on the number of :: separators.
Modified to allow #A::B::Object etc..
-------------------------------
isValidGlobalName
self ifEmpty: [ ^ false ].
"reserverd default names"
self = #NameOfSubclass ifTrue: [ ^ false ].
self = #TNameOfTrait ifTrue: [ ^ false ].
(self splitOn: '::') allSatisfy: [: part |
Character supportsNonASCII ifTrue: [
(part first isLetter
and: [ part first isUppercase])
and: [ part allSatisfy: [:character |
character isAlphaNumeric or: [ character = $_ ]]]
]
ifFalse: [
(part first between: $A and: $Z) and: [
part allSatisfy: [:character |
(character between: $a and: $z) or: [
(character between: $A and: $Z) or: [
(character between: $0 and: $9) or: [
character = $_]]]]]
]
]
-------------------------------------
As long as the :: only serve as a visual separator between "namespace(s)" and
class name then it should not be harder much more harder than to do a
#copyReplaceAll: '::' with: '' when filing in|out the class to use in a system
that do not allow :: in class names.
Best regards,
Henrik
-----Opprinnelig melding-----
Fra: Pharo-dev [mailto:[email protected]] På vegne av Torsten
Bergmann
Sendt: 02 January 2017 12:57
Til: Pharo Development List <[email protected]>
Emne: Re: [Pharo-dev] :: Separator in class names
First of all: happy new year to all Pharo supporters!
Not many of you answered this thread in 2016. Maybe I have more luck in 2017 ;)
So please tell me about the requested change of #isValidGlobalName to allow an
optional separator in class names. I already communicated possible usages and
still do not share the fears of Dale that we easily get unportable code with
that. I guess it will allow us to experiment much easier.
Thanks for taking the time to response and share your own thoughts!
Bye
Torsten