@@ -63,9 +63,7 @@ export class String {
6363 changetype < usize > ( this ) + ( ( < usize > pos + 1 ) << 1 ) ,
6464 HEADER_SIZE
6565 ) ;
66- if ( second < 0xDC00 || second > 0xDFFF ) {
67- return first ;
68- }
66+ if ( second < 0xDC00 || second > 0xDFFF ) return first ;
6967 return ( ( first - 0xD800 ) << 10 ) + ( second - 0xDC00 ) + 0x10000 ;
7068 }
7169
@@ -83,16 +81,19 @@ export class String {
8381 var outLen : usize = thisLen + otherLen ;
8482 if ( outLen == 0 ) return EMPTY ;
8583 var out = allocate ( outLen ) ;
84+
8685 move_memory (
8786 changetype < usize > ( out ) + HEADER_SIZE ,
8887 changetype < usize > ( this ) + HEADER_SIZE ,
8988 thisLen << 1
9089 ) ;
90+
9191 move_memory (
9292 changetype < usize > ( out ) + HEADER_SIZE + ( thisLen << 1 ) ,
9393 changetype < usize > ( other ) + HEADER_SIZE ,
9494 otherLen << 1
9595 ) ;
96+
9697 return out ;
9798 }
9899
@@ -102,9 +103,7 @@ export class String {
102103 var end : isize = < isize > min ( max ( endPosition , 0 ) , this . length ) ;
103104 var searchLength : isize = searchString . length ;
104105 var start : isize = end - searchLength ;
105- if ( start < 0 ) {
106- return false ;
107- }
106+ if ( start < 0 ) return false ;
108107 return ! compare_memory (
109108 changetype < usize > ( this ) + HEADER_SIZE + ( start << 1 ) ,
110109 changetype < usize > ( searchString ) + HEADER_SIZE ,
@@ -116,8 +115,10 @@ export class String {
116115 private static __eq ( left : String , right : String ) : bool {
117116 if ( left === null ) return right === null ;
118117 else if ( right === null ) return false ;
118+
119119 var leftLength = left . length ;
120120 if ( leftLength != right . length ) return false ;
121+
121122 return ! compare_memory (
122123 changetype < usize > ( left ) + HEADER_SIZE ,
123124 changetype < usize > ( right ) + HEADER_SIZE ,
@@ -132,9 +133,7 @@ export class String {
132133
133134 @operator ( ">" )
134135 private static __gt ( left : String , right : String ) : bool {
135- if ( ! changetype < usize > ( left ) || ! changetype < usize > ( right ) ) {
136- return false ;
137- }
136+ if ( left === null || right === null ) return false ;
138137
139138 var leftLength = left . length ;
140139 var rightLength = right . length ;
@@ -152,9 +151,8 @@ export class String {
152151
153152 @operator ( ">=" )
154153 private static __gte ( left : String , right : String ) : bool {
155- if ( ! changetype < usize > ( left ) || ! changetype < usize > ( right ) ) {
156- return false ;
157- }
154+ if ( left === null ) return right === null ;
155+ else if ( right === null ) return false ;
158156
159157 var leftLength = left . length ;
160158 var rightLength = right . length ;
@@ -172,9 +170,7 @@ export class String {
172170
173171 @operator ( "<" )
174172 private static __lt ( left : String , right : String ) : bool {
175- if ( ! changetype < usize > ( left ) || ! changetype < usize > ( right ) ) {
176- return false ;
177- }
173+ if ( left === null || right === null ) return false ;
178174
179175 var leftLength = left . length ;
180176 var rightLength = right . length ;
@@ -192,9 +188,8 @@ export class String {
192188
193189 @operator ( "<=" )
194190 private static __lte ( left : String , right : String ) : bool {
195- if ( ! changetype < usize > ( left ) || ! changetype < usize > ( right ) ) {
196- return false ;
197- }
191+ if ( left === null ) return right === null ;
192+ else if ( right === null ) return false ;
198193
199194 var leftLength = left . length ;
200195 var rightLength = right . length ;
0 commit comments