+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


Reply via email to