@@ -42,7 +42,7 @@ export class String {
4242 ) ;
4343 } else {
4444 code -= 0x10000 ;
45- let hi : u32 = ( code >>> 10 ) + 0xD800 ;
45+ let hi : u32 = ( code >>> 10 ) + 0xD800 ;
4646 let lo : u32 = ( code & 0x3FF ) + 0xDC00 ;
4747 store < u32 > (
4848 changetype < usize > ( out ) ,
@@ -110,9 +110,9 @@ export class String {
110110 assert ( this !== null ) ;
111111 if ( other === null ) other = changetype < String > ( "null" ) ;
112112
113- var thisLen : isize = this . length ;
113+ var thisLen : isize = this . length ;
114114 var otherLen : isize = other . length ;
115- var outLen : usize = thisLen + otherLen ;
115+ var outLen : usize = thisLen + otherLen ;
116116 if ( outLen == 0 ) return changetype < String > ( "" ) ;
117117 var out = allocateUnsafe ( outLen ) ;
118118 copyUnsafe ( out , 0 , this , 0 , thisLen ) ;
@@ -141,6 +141,11 @@ export class String {
141141 return ! compareUnsafe ( left , 0 , right , 0 , leftLength ) ;
142142 }
143143
144+ @operator . prefix ( "!" )
145+ private static __not ( str : String ) : bool {
146+ return str === null || ! str . length ;
147+ }
148+
144149 @operator ( "!=" )
145150 private static __ne ( left : String , right : String ) : bool {
146151 return ! this . __eq ( left , right ) ;
@@ -345,8 +350,8 @@ export class String {
345350 var out = allocateUnsafe ( targetLength ) ;
346351 if ( len > padLen ) {
347352 let count = ( len - 1 ) / padLen ;
348- let base = count * padLen ;
349- let rest = len - base ;
353+ let base = count * padLen ;
354+ let rest = len - base ;
350355 repeatUnsafe ( out , 0 , padString , count ) ;
351356 if ( rest ) copyUnsafe ( out , base , padString , 0 , rest ) ;
352357 } else {
@@ -394,9 +399,9 @@ export class String {
394399 }
395400
396401 slice ( beginIndex : i32 , endIndex : i32 = i32 . MAX_VALUE ) : String {
397- var len = this . length ;
402+ var len = this . length ;
398403 var begin = beginIndex < 0 ? max ( beginIndex + len , 0 ) : min ( beginIndex , len ) ;
399- var end = endIndex < 0 ? max ( endIndex + len , 0 ) : min ( endIndex , len ) ;
404+ var end = endIndex < 0 ? max ( endIndex + len , 0 ) : min ( endIndex , len ) ;
400405 len = end - begin ;
401406 if ( len <= 0 ) return changetype < String > ( "" ) ;
402407 var out = allocateUnsafe ( len ) ;
@@ -512,7 +517,7 @@ export class String {
512517 cp = (
513518 ( cp & 7 ) << 18 |
514519 ( load < u8 > ( ptr + ptrPos ++ ) & 63 ) << 12 |
515- ( load < u8 > ( ptr + ptrPos ++ ) & 63 ) << 6 |
520+ ( load < u8 > ( ptr + ptrPos ++ ) & 63 ) << 6 |
516521 load < u8 > ( ptr + ptrPos ++ ) & 63
517522 ) - 0x10000 ;
518523 store < u16 > ( buf + bufPos , 0xD800 + ( cp >> 10 ) ) ;
@@ -523,7 +528,7 @@ export class String {
523528 assert ( ptrPos + 2 <= len ) ;
524529 store < u16 > ( buf + bufPos ,
525530 ( cp & 15 ) << 12 |
526- ( load < u8 > ( ptr + ptrPos ++ ) & 63 ) << 6 |
531+ ( load < u8 > ( ptr + ptrPos ++ ) & 63 ) << 6 |
527532 load < u8 > ( ptr + ptrPos ++ ) & 63
528533 ) ;
529534 bufPos += 2 ;
@@ -548,8 +553,8 @@ export class String {
548553 ++ off ; ++ pos ;
549554 } else if ( c1 < 2048 ) {
550555 let ptr = buf + off ;
551- store < u8 > ( ptr , c1 >> 6 | 192 ) ;
552- store < u8 > ( ptr , c1 & 63 | 128 , 1 ) ;
556+ store < u8 > ( ptr , c1 >> 6 | 192 ) ;
557+ store < u8 > ( ptr , c1 & 63 | 128 , 1 ) ;
553558 off += 2 ; ++ pos ;
554559 } else {
555560 let ptr = buf + off ;
@@ -559,15 +564,15 @@ export class String {
559564 c1 = 0x10000 + ( ( c1 & 0x03FF ) << 10 ) + ( c2 & 0x03FF ) ;
560565 store < u8 > ( ptr , c1 >> 18 | 240 ) ;
561566 store < u8 > ( ptr , c1 >> 12 & 63 | 128 , 1 ) ;
562- store < u8 > ( ptr , c1 >> 6 & 63 | 128 , 2 ) ;
567+ store < u8 > ( ptr , c1 >> 6 & 63 | 128 , 2 ) ;
563568 store < u8 > ( ptr , c1 & 63 | 128 , 3 ) ;
564569 off += 4 ; pos += 2 ;
565570 continue ;
566571 }
567572 }
568- store < u8 > ( ptr , c1 >> 12 | 224 ) ;
569- store < u8 > ( ptr , c1 >> 6 & 63 | 128 , 1 ) ;
570- store < u8 > ( ptr , c1 & 63 | 128 , 2 ) ;
573+ store < u8 > ( ptr , c1 >> 12 | 224 ) ;
574+ store < u8 > ( ptr , c1 >> 6 & 63 | 128 , 1 ) ;
575+ store < u8 > ( ptr , c1 & 63 | 128 , 2 ) ;
571576 off += 3 ; ++ pos ;
572577 }
573578 }
0 commit comments