| OLD | NEW | 
|    1 // Copyright 2012 the V8 project authors. All rights reserved. |    1 // Copyright 2012 the V8 project authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 (function(global, utils) { |    5 (function(global, utils) { | 
|    6  |    6  | 
|    7 %CheckIsBootstrapping(); |    7 %CheckIsBootstrapping(); | 
|    8  |    8  | 
|    9 // ------------------------------------------------------------------- |    9 // ------------------------------------------------------------------- | 
|   10 // Imports |   10 // Imports | 
|   11  |   11  | 
|   12 var GlobalString = global.String; |   12 var GlobalString = global.String; | 
|   13 var matchSymbol = utils.ImportNow("match_symbol"); |   13 var matchSymbol = utils.ImportNow("match_symbol"); | 
|   14 var searchSymbol = utils.ImportNow("search_symbol"); |   14 var searchSymbol = utils.ImportNow("search_symbol"); | 
|   15  |   15  | 
|   16 //------------------------------------------------------------------- |   16 //------------------------------------------------------------------- | 
|   17  |   17  | 
|   18 // ECMA-262, section 15.5.4.6 |  | 
|   19 function StringConcat(other /* and more */) {  // length == 1 |  | 
|   20   "use strict"; |  | 
|   21   CHECK_OBJECT_COERCIBLE(this, "String.prototype.concat"); |  | 
|   22   var s = TO_STRING(this); |  | 
|   23   var len = arguments.length; |  | 
|   24   for (var i = 0; i < len; ++i) { |  | 
|   25     s = s + TO_STRING(arguments[i]); |  | 
|   26   } |  | 
|   27   return s; |  | 
|   28 } |  | 
|   29  |  | 
|   30  |  | 
|   31 // ES6 21.1.3.11. |   18 // ES6 21.1.3.11. | 
|   32 function StringMatchJS(pattern) { |   19 function StringMatchJS(pattern) { | 
|   33   CHECK_OBJECT_COERCIBLE(this, "String.prototype.match"); |   20   CHECK_OBJECT_COERCIBLE(this, "String.prototype.match"); | 
|   34  |   21  | 
|   35   if (!IS_NULL_OR_UNDEFINED(pattern)) { |   22   if (!IS_NULL_OR_UNDEFINED(pattern)) { | 
|   36     var matcher = pattern[matchSymbol]; |   23     var matcher = pattern[matchSymbol]; | 
|   37     if (!IS_UNDEFINED(matcher)) { |   24     if (!IS_UNDEFINED(matcher)) { | 
|   38       return %_Call(matcher, pattern, this); |   25       return %_Call(matcher, pattern, this); | 
|   39     } |   26     } | 
|   40   } |   27   } | 
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  281 // ------------------------------------------------------------------- |  268 // ------------------------------------------------------------------- | 
|  282  |  269  | 
|  283 // Set up the non-enumerable functions on the String object. |  270 // Set up the non-enumerable functions on the String object. | 
|  284 utils.InstallFunctions(GlobalString, DONT_ENUM, [ |  271 utils.InstallFunctions(GlobalString, DONT_ENUM, [ | 
|  285   "raw", StringRaw |  272   "raw", StringRaw | 
|  286 ]); |  273 ]); | 
|  287  |  274  | 
|  288 // Set up the non-enumerable functions on the String prototype object. |  275 // Set up the non-enumerable functions on the String prototype object. | 
|  289 utils.InstallFunctions(GlobalString.prototype, DONT_ENUM, [ |  276 utils.InstallFunctions(GlobalString.prototype, DONT_ENUM, [ | 
|  290   "codePointAt", StringCodePointAt, |  277   "codePointAt", StringCodePointAt, | 
|  291   "concat", StringConcat, |  | 
|  292   "match", StringMatchJS, |  278   "match", StringMatchJS, | 
|  293   "repeat", StringRepeat, |  279   "repeat", StringRepeat, | 
|  294   "search", StringSearch, |  280   "search", StringSearch, | 
|  295   "slice", StringSlice, |  281   "slice", StringSlice, | 
|  296  |  282  | 
|  297   "link", StringLink, |  283   "link", StringLink, | 
|  298   "anchor", StringAnchor, |  284   "anchor", StringAnchor, | 
|  299   "fontcolor", StringFontcolor, |  285   "fontcolor", StringFontcolor, | 
|  300   "fontsize", StringFontsize, |  286   "fontsize", StringFontsize, | 
|  301   "big", StringBig, |  287   "big", StringBig, | 
|  302   "blink", StringBlink, |  288   "blink", StringBlink, | 
|  303   "bold", StringBold, |  289   "bold", StringBold, | 
|  304   "fixed", StringFixed, |  290   "fixed", StringFixed, | 
|  305   "italics", StringItalics, |  291   "italics", StringItalics, | 
|  306   "small", StringSmall, |  292   "small", StringSmall, | 
|  307   "strike", StringStrike, |  293   "strike", StringStrike, | 
|  308   "sub", StringSub, |  294   "sub", StringSub, | 
|  309   "sup", StringSup |  295   "sup", StringSup | 
|  310 ]); |  296 ]); | 
|  311  |  297  | 
|  312 }) |  298 }) | 
| OLD | NEW |