CharacterEncoder.st
changeset 8127 7531ed2cdf35
parent 8126 33f9c4850e84
child 8128 4f4195d0a720
equal deleted inserted replaced
8126:33f9c4850e84 8127:7531ed2cdf35
   217                 ].
   217                 ].
   218             ].
   218             ].
   219         ].
   219         ].
   220 
   220 
   221         unicodeEncoderClasses := EncoderClassesByName at:#unicode.
   221         unicodeEncoderClasses := EncoderClassesByName at:#unicode.
   222         unicodeEncoderClasses keysAndValuesDo:[:eachEncodingAlias :eachEncoderClass |
   222         unicodeEncoderClasses notNil ifTrue:[
   223             (name matches:eachEncodingAlias) ifTrue:[
   223             unicodeEncoderClasses keysandvaluesdo:[:eachencodingalias :eachencoderclass |
   224                 ^ eachEncoderClass new.
   224                 (name matches:eachencodingalias) iftrue:[
       
   225                     ^ eachencoderclass new.
       
   226                 ].
   225             ].
   227             ].
   226         ].
   228         ].
   227         ^ exceptionValue value
   229         ^ exceptionValue value
   228     ].
   230     ].
   229 
   231 
   675 ! !
   677 ! !
   676 
   678 
   677 !CharacterEncoder class methodsFor:'private'!
   679 !CharacterEncoder class methodsFor:'private'!
   678 
   680 
   679 flushCode
   681 flushCode
   680     self flushSingletons.
   682     self initialize.
   681 
   683 
   682     self isAbstract ifFalse:[
   684     self isAbstract ifFalse:[
   683         (self mapFileURL1_relativePathName notNil
   685         (self mapFileURL1_relativePathName notNil
   684         or:[ self mapFileURL2_relativePathName notNil]) ifTrue:[
   686         or:[ self mapFileURL2_relativePathName notNil]) ifTrue:[
   685             self class removeSelector:#mapping.
   687             self class removeSelector:#mapping.
   686         ].
   688         ].
   687     ].
   689     ].
   688     self allSubclassesDo:[:cls | 
       
   689         cls isAbstract ifFalse:[
       
   690             cls flushCode 
       
   691         ]
       
   692     ].
       
   693     self allSubclassesDo:[:cls | 
       
   694         cls isAbstract ifFalse:[
       
   695             cls generateCode.
       
   696         ]
       
   697     ].
       
   698 
   690 
   699     "
   691     "
   700      self flushCode
   692      self flushCode
   701     "
       
   702 !
       
   703 
       
   704 flushSingletons
       
   705     EncoderClassesByName := IdentityDictionary new.
       
   706     EncodersByName := IdentityDictionary new.
       
   707 
       
   708     self allSubclassesDo:[:cls | cls flushSingletons].
       
   709 
       
   710     "
       
   711      self flushSingletons
       
   712     "
   693     "
   713 ! !
   694 ! !
   714 
   695 
   715 !CharacterEncoder class methodsFor:'private-mapping setup'!
   696 !CharacterEncoder class methodsFor:'private-mapping setup'!
   716 
   697 
  1211 ! !
  1192 ! !
  1212 
  1193 
  1213 !CharacterEncoder class methodsFor:'documentation'!
  1194 !CharacterEncoder class methodsFor:'documentation'!
  1214 
  1195 
  1215 version
  1196 version
  1216     ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.56 2004-03-09 00:02:08 cg Exp $'
  1197     ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.57 2004-03-09 00:08:33 cg Exp $'
  1217 ! !
  1198 ! !
  1218 
  1199 
  1219 CharacterEncoder initialize!
  1200 CharacterEncoder initialize!