Changeset 130
- Timestamp:
- 01/15/08 06:07:47 (10 months ago)
- Files:
-
- branches/1.9/bin/walnut.exe (modified) (previous)
- branches/1.9/bin/walnut.lib (modified) (previous)
- branches/1.9/documentation/pad.dll (added)
- branches/1.9/source/interpreter.d (modified) (19 diffs)
- branches/1.9/source/methods.d (modified) (13 diffs)
- branches/1.9/source/structure.d (modified) (24 diffs)
- branches/1.9/source/text.d (modified) (1 diff)
- branches/1.9/source/value.d (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1.9/source/interpreter.d
r128 r130 3 3 methods, // for debugging only 4 4 structure, 5 text,5 TEXT = text, 6 6 value; 7 7 … … 34 34 context = cc; 35 35 36 parseOptionalWS();37 36 parseStatement(); 38 printf("%s\n",c); 39 // } while(c[0] != 0x00); 37 dumpTree(v, 1); 38 parseStatement(); 39 dumpTree(v, 1); 40 parseStatement(); 41 dumpTree(v, 1); 42 printf("?\n"); 43 parseStatement(); 40 44 dumpTree(v, 1); 41 45 } … … 125 129 // String literal 126 130 for(cMark = c++; c[0] != cMark[0]; c++) { 127 assert(c[0] != 0x00, MESSAGE_unterminated_string);131 assert(c[0] != 0x00, TEXT._unterminated_string); 128 132 if(c[0] == '\\') 129 133 c++; … … 137 141 // RegExp literal 138 142 for(cMark = c++; c[0] != cMark[0]; c++) { 139 assert(c[0] != 0x00, MESSAGE_bad_regexp);143 assert(c[0] != 0x00,TEXT._bad_regexp); 140 144 if(c[0] == '\\') 141 145 c++; … … 270 274 c++; 271 275 parseExpression(); 272 assert(c[0] == ')', MESSAGE_unmatched_parenthesis);276 assert(c[0] == ')', TEXT._unmatched_parenthesis); 273 277 c++; 274 278 return; … … 285 289 c++; 286 290 } 287 assert(c[0] == ']', MESSAGE_unmatched_parenthesis);291 assert(c[0] == ']', TEXT._unmatched_parenthesis); 288 292 c++; 289 293 v.a = buffer; … … 298 302 parseOptionalWS(); 299 303 parseOperand(); 300 assert(v.type == TYPE.IDENT || v.type == TYPE.STRING, MESSAGE_unexpected_token);304 assert(v.type == TYPE.IDENT || v.type == TYPE.STRING, TEXT._unexpected_token); 301 305 b1 ~= v.s; 302 306 len++; 303 307 parseOptionalWS(); 304 assert(c[0] == ':', MESSAGE_unexpected_token);308 assert(c[0] == ':', TEXT._unexpected_token); 305 309 c++; 306 310 parseOptionalWS(); … … 312 316 c++; 313 317 } 314 assert(c[0] == '}', MESSAGE_unmatched_parenthesis);318 assert(c[0] == '}', TEXT._unmatched_parenthesis); 315 319 c++; 316 320 v.length = len; … … 443 447 return; 444 448 } 445 assert(0, MESSAGE_unexpected_token);449 assert(0, TEXT._unexpected_token); 446 450 case '<': 447 451 if(c[1] == '<') { … … 570 574 parseOptionalWS(); 571 575 parseUnaryExpression(); 572 if(v != UNDEFINED, MESSAGE_unexpected_token) {576 if(v != UNDEFINED, TEXT._unexpected_token) { 573 577 do { 574 578 // printf("!%.*s\n",std.string.toString(v.type)); … … 585 589 parseOptionalWS(); 586 590 parseUnaryExpression(); 587 assert(v != UNDEFINED, MESSAGE_unexpected_token);591 assert(v != UNDEFINED, TEXT._unexpected_token); 588 592 } while(1); 589 593 … … 618 622 619 623 parseOptionalWS(); 620 for(cMark = c; 0x61 <= c[0] && c[0] <= 0x7A; c++) 624 cMark = c; 625 for(; 0x61 <= c[0] && c[0] <= 0x7A; c++) 621 626 {} 622 627 s = cMark[0..(c-cMark)]; 623 628 switch(s) { 624 case TEXT _break:629 case TEXT._break: 625 630 v.type = TYPE.KEYbreak; 626 631 buffer ~= v; … … 634 639 } 635 640 return; 636 case TEXT _case:641 case TEXT._case: 637 642 v.type = TYPE.KEYcase; 638 643 buffer ~= v; … … 640 645 parseOptionalWS(); 641 646 parseOperand(); 642 assert(v != UNDEFINED, MESSAGE_unexpected_token);643 buffer ~= v; 644 assert(c[0] == ':', MESSAGE_unexpected_token);647 assert(v != UNDEFINED, TEXT._unexpected_token); 648 buffer ~= v; 649 assert(c[0] == ':', TEXT._unexpected_token); 645 650 c++; 646 651 v.a = buffer; 647 652 v.type = TYPE.EXPRESSION; 648 653 return; 649 case TEXT _catch:654 case TEXT._catch: 650 655 v.type = TYPE.KEYcatch; 651 656 buffer ~= v; 652 657 v = UNDEFINED; 653 658 parseOptionalWS(); 654 assert(c[0] == '(', MESSAGE_unexpected_token);659 assert(c[0] == '(', TEXT._unexpected_token); 655 660 c++; 656 661 parseOptionalWS(); 657 662 parseOperand(); 658 assert(v.type == TYPE.IDENT, MESSAGE_unexpected_token);659 buffer ~= v; 660 parseOptionalWS(); 661 assert(c[0] == ')', MESSAGE_unexpected_token);663 assert(v.type == TYPE.IDENT, TEXT._unexpected_token); 664 buffer ~= v; 665 parseOptionalWS(); 666 assert(c[0] == ')', TEXT._unexpected_token); 662 667 c++; 663 668 parseOptionalWS(); 664 669 parseStatement(); 665 assert(v.type == TYPE.STATEMENTS, MESSAGE_unexpected_token);670 assert(v.type == TYPE.STATEMENTS, TEXT._unexpected_token); 666 671 buffer ~= v; 667 672 v.a = buffer; 668 673 v.type = TYPE.EXPRESSION; 669 674 return; 670 case TEXT _continue:675 case TEXT._continue: 671 676 v.type = TYPE.KEYcontinue; 672 677 buffer ~= v; … … 680 685 } 681 686 return; 682 case TEXT _default:687 case TEXT._default: 683 688 v.type = TYPE.KEYdefault; 684 689 return; 685 case TEXT _delete:690 case TEXT._delete: 686 691 v.type = TYPE.KEYdelete; 687 692 buffer ~= v; … … 689 694 parseOptionalWS(); 690 695 parseOperand(); 691 assert(v != UNDEFINED, MESSAGE_unexpected_token);696 assert(v != UNDEFINED, TEXT._unexpected_token); 692 697 buffer ~= v; 693 698 v.a = buffer; 694 699 v.type = TYPE.EXPRESSION; 695 700 return; 696 case TEXT _do:701 case TEXT._do: 697 702 v.type = TYPE.KEYdo; 698 703 return; 699 case TEXT _else:704 case TEXT._else: 700 705 v.type = TYPE.KEYelse; 701 706 return; 702 case TEXT _finally:707 case TEXT._finally: 703 708 v.type = TYPE.KEYfinally; 704 709 buffer ~= v; … … 709 714 v.type = TYPE.EXPRESSION; 710 715 return; 711 case TEXT _for:716 case TEXT._for: 712 717 v.type = TYPE.KEYfor; 713 718 return; 714 case TEXT _goto:719 case TEXT._goto: 715 720 v.type = TYPE.KEYgoto; 716 721 buffer ~= v; 717 722 parseOptionalWS(); 718 723 parseOperand(); 719 assert(v.type == TYPE.IDENT, MESSAGE_unexpected_token);724 assert(v.type == TYPE.IDENT, TEXT._unexpected_token); 720 725 buffer ~= v; 721 726 v.a = buffer; 722 727 v.type = TYPE.EXPRESSION; 723 728 return; 724 case TEXT _if:729 case TEXT._if: 725 730 v.type = TYPE.KEYif; 726 731 return; 727 case TEXT _instanceof:732 case TEXT._instanceof: 728 733 v.type = TYPE.KEYinstanceof; 729 734 return; 730 case TEXT _in:735 case TEXT._in: 731 736 v.type = TYPE.KEYin; 732 737 return; 733 case TEXT _new:738 case TEXT._new: 734 739 v.type = TYPE.KEYnew; 735 740 return; 736 case TEXT _return:741 case TEXT._return: 737 742 v.type = TYPE.KEYreturn; 738 743 return; 739 case TEXT _switch:744 case TEXT._switch: 740 745 v.type = TYPE.KEYswitch; 741 746 return; 742 case TEXT _throw:747 case TEXT._throw: 743 748 v.type = TYPE.KEYthrow; 744 749 return; 745 case TEXT _try:750 case TEXT._try: 746 751 v.type = TYPE.KEYtry; 747 752 buffer ~= v; … … 752 757 v.type = TYPE.EXPRESSION; 753 758 return; 754 case TEXT _typeof:759 case TEXT._typeof: 755 760 v.type = TYPE.KEYtypeof; 756 761 return; 757 case TEXT_var: 758 v.type = TYPE.KEYvar; 759 return; 760 case TEXT_void: 762 case TEXT._var: 763 Value v2; 764 v2.type = TYPE.KEYvar; 765 parseOptionalWS(); 766 parseExpression(); 767 v.a = v2 ~ v.a; 768 return; 769 case TEXT._void: 761 770 v.type = TYPE.KEYvoid; 762 771 return; 763 case TEXT _while:772 case TEXT._while: 764 773 v.type = TYPE.KEYwhile; 765 774 return; 766 case TEXT _with:775 case TEXT._with: 767 776 v.type = TYPE.KEYwith; 768 777 return; … … 781 790 c = cMark; 782 791 parseExpression(); 792 assert(v != UNDEFINED, TEXT._unexpected_token); 793 assert(c[0] != '}', TEXT._unmatched_parenthesis); 794 assert(c[0] != ']', TEXT._unmatched_parenthesis); 795 assert(c[0] != ')', TEXT._unmatched_parenthesis); 783 796 if(c[0] == ';') 784 797 c++; 785 assert(c[0] != '}', MESSAGE_unmatched_parenthesis); 786 assert(c[0] != ']', MESSAGE_unmatched_parenthesis); 787 assert(c[0] != ')', MESSAGE_unmatched_parenthesis); 788 assert(v != UNDEFINED, MESSAGE_unexpected_token); 798 return; 789 799 } 790 800 } branches/1.9/source/methods.d
r129 r130 9 9 interpreter, 10 10 structure, 11 text,11 TEXT = text, 12 12 value; 13 13 … … 93 93 } 94 94 static Value Object_prototype_valueOf(Value self, Value cc, Value[] arguments ...) { 95 return self[TEXT ___value__];95 return self[TEXT.___value__]; 96 96 } 97 97 static Value Object_prototype_hasOwnProperty(Value self, Value cc, Value[] arguments ...) { … … 104 104 Value current = arguments[0]; 105 105 while(current.type == TYPE.OBJECT) { 106 current = current[TEXT _prototype];106 current = current[TEXT._prototype]; 107 107 if(current == self) 108 108 return TRUE; … … 126 126 Value o, v; 127 127 o.type = TYPE.OBJECT; 128 o[TEXT _prototype] = Global[TEXT_Function][TEXT_prototype];129 o[TEXT ___value__].type = TYPE.FUNCTION;130 o[TEXT ___value__].f = null;128 o[TEXT._prototype] = Global[TEXT._Function][TEXT._prototype]; 129 o[TEXT.___value__].type = TYPE.FUNCTION; 130 o[TEXT.___value__].f = null; 131 131 return o; 132 132 } … … 151 151 v = arguments.dup; 152 152 o.type = TYPE.OBJECT; 153 o[TEXT _prototype] = Global[TEXT_Array][TEXT_prototype];154 o[TEXT ___value__] = cast(Value) v;153 o[TEXT._prototype] = Global[TEXT._Array][TEXT._prototype]; 154 o[TEXT.___value__] = cast(Value) v; 155 155 return o; 156 156 } … … 191 191 } 192 192 static Value Array_prototype_join(Value self, Value cc, Value[] arguments ...) { 193 const_string s = TEXT _;193 const_string s = TEXT._; 194 194 if(arguments.length) 195 195 s = arguments[0].toString(); … … 270 270 271 271 static Value Global_String(Value self, Value cc, Value[] arguments ...) { 272 return cast(Value) (arguments.length? arguments[0].toString() : TEXT _);272 return cast(Value) (arguments.length? arguments[0].toString() : TEXT._); 273 273 } 274 274 static Value String_prototype_constructor(Value self, Value cc, Value[] arguments ...) { 275 275 Value o; 276 276 o.type = TYPE.OBJECT; 277 o[TEXT _prototype] = Global[TEXT_String][TEXT_prototype];278 o[TEXT ___value__] = Global_String(self,cc,arguments);277 o[TEXT._prototype] = Global[TEXT._String][TEXT._prototype]; 278 o[TEXT.___value__] = Global_String(self,cc,arguments); 279 279 return o; 280 280 } … … 448 448 Value o; 449 449 o.type = TYPE.OBJECT; 450 o[TEXT _prototype] = Global[TEXT_Boolean][TEXT_prototype];451 o[TEXT ___value__] = Global_Boolean(self,cc,arguments);450 o[TEXT._prototype] = Global[TEXT._Boolean][TEXT._prototype]; 451 o[TEXT.___value__] = Global_Boolean(self,cc,arguments); 452 452 return o; 453 453 } … … 458 458 Value o; 459 459 o.type = TYPE.OBJECT; 460 o[TEXT _prototype] = Global[TEXT_Number][TEXT_prototype];461 o[TEXT ___value__] = cast(Value) (arguments.length? arguments[0].toDouble() : 0.0);460 o[TEXT._prototype] = Global[TEXT._Number][TEXT._prototype]; 461 o[TEXT.___value__] = cast(Value) (arguments.length? arguments[0].toDouble() : 0.0); 462 462 return o; 463 463 } … … 566 566 Value o; 567 567 o.type = TYPE.OBJECT; 568 o[TEXT _prototype] = Global[TEXT_Date][TEXT_prototype];568 o[TEXT._prototype] = Global[TEXT._Date][TEXT._prototype]; 569 569 570 570 d_time y,m,d,h,mn,s,ms,type; … … 581 581 if(y != d_time_nan && y >= 0 && y < 99) 582 582 y += 1900; 583 o[TEXT ___value__] = cast(Value) MakeDate(MakeDay(y,m,d),type);583 o[TEXT.___value__] = cast(Value) MakeDate(MakeDay(y,m,d),type); 584 584 break; 585 585 /// ECMA 15.9.3.2 586 case 1: o[TEXT ___value__] = cast(Value) arguments[0].toDate();586 case 1: o[TEXT.___value__] = cast(Value) arguments[0].toDate(); 587 587 break; 588 588 /// ECMA 15.9.3.3 589 case 0: o[TEXT ___value__] = cast(Value) getUTCtime();589 case 0: o[TEXT.___value__] = cast(Value) getUTCtime(); 590 590 } 591 591 return o; … … 1055 1055 Value o; 1056 1056 o.type = TYPE.OBJECT; 1057 o[TEXT _prototype] = Global[TEXT_RegExp][TEXT_prototype];1057 o[TEXT._prototype] = Global[TEXT._RegExp][TEXT._prototype]; 1058 1058 if(arguments.length) { 1059 1059 if(arguments.length > 1) 1060 o[TEXT ___value__] = cast(Value) new RegExp(arguments[0].toString(),arguments[1].toString());1060 o[TEXT.___value__] = cast(Value) new RegExp(arguments[0].toString(),arguments[1].toString()); 1061 1061 else 1062 o[TEXT ___value__] = cast(Value) new RegExp(arguments[0].toString());1062 o[TEXT.___value__] = cast(Value) new RegExp(arguments[0].toString()); 1063 1063 } 1064 1064 return o; … … 1089 1089 /// ECMA 15.11.2.1 1090 1090 Value error; 1091 error[TEXT _message] = cast(Value) arguments[0].toString();1091 error[TEXT._message] = cast(Value) arguments[0].toString(); 1092 1092 error.type = TYPE.ERROR; 1093 1093 error.access = 0x15; branches/1.9/source/structure.d
r129 r130 11 11 12 12 import 13 value,14 13 methods, 15 text; 14 TEXT = text, 15 value; 16 16 17 17 static import … … 31 31 done at no additional expense. 32 32 */ 33 33 34 Value ERROR = 34 35 { 35 36 length:2, 36 37 keys:[ 37 TEXT _prototype,38 TEXT ___value__,38 TEXT._prototype, 39 TEXT.___value__, 39 40 ], 40 41 values:[ … … 42 43 length:6, 43 44 keys:[ 44 TEXT _constructor,45 TEXT _toString,46 TEXT _name,47 TEXT _message,48 TEXT _description,49 TEXT _number,45 TEXT._constructor, 46 TEXT._toString, 47 TEXT._name, 48 TEXT._message, 49 TEXT._description, 50 TEXT._number, 50 51 ], 51 52 values:[ 52 53 { f:null, arity:1, type:TYPE.FUNCTION, 0x01 }, 53 54 { f:&Object_prototype_toString, arity:0, type:TYPE.FUNCTION, 0x01 }, 54 { s:cast(char[])TEXT _Error, type:TYPE.STRING, 0x01 },55 { s:cast(char[])TEXT _, type:TYPE.STRING, 0x01 },56 { s:cast(char[])TEXT _, type:TYPE.STRING, 0x01 },55 { s:cast(char[])TEXT._Error, type:TYPE.STRING, 0x01 }, 56 { s:cast(char[])TEXT._, type:TYPE.STRING, 0x01 }, 57 { s:cast(char[])TEXT._, type:TYPE.STRING, 0x01 }, 57 58 { d:0, type:TYPE.INT, 0x01 }, 58 59 ], … … 74 75 length:34, 75 76 keys:[ 76 TEXT _NaN, /// ECMA 15.1.1.177 TEXT _Infinity, /// ECMA 15.1.1.278 TEXT _undefined, /// ECMA 15.1.1.379 TEXT _null,80 TEXT _false,81 TEXT _true,82 TEXT _eval, /// ECMA 15.1.2.183 TEXT _parseInt, /// ECMA 15.1.2.284 TEXT _parseFloat, /// ECMA 15.1.2.385 TEXT _isNaN, /// ECMA 15.1.2.486 TEXT _isFinite, /// ECMA 15.1.2.587 TEXT _decodeURI, /// ECMA 15.1.3.188 TEXT _decodeURIComponent, /// ECMA 15.1.3.289 TEXT _encodeURI, /// ECMA 15.1.3.390 TEXT _encodeURIComponent, /// ECMA 15.1.3.491 TEXT _escape,92 TEXT _unescape,93 TEXT _Object, /// ECMA 15.1.4.194 TEXT _ActiveXObject,95 TEXT _Function, /// ECMA 15.1.4.296 TEXT _Array, /// ECMA 15.1.4.397 TEXT _String, /// ECMA 15.1.4.498 TEXT _Boolean, /// ECMA 15.1.4.599 TEXT _Number, /// ECMA 15.1.4.6100 TEXT _Math, /// ECMA 15.1.5.1101 TEXT _Date, /// ECMA 15.1.4.7102 TEXT _RegExp, /// ECMA 15.1.4.8103 TEXT _Error, /// ECMA 15.1.4.9104 TEXT _EvalError, /// ECMA 15.1.4.10105 TEXT _RangeError, /// ECMA 15.1.4.11106 TEXT _ReferenceError, /// ECMA 15.1.4.12107 TEXT _SyntaxError, /// ECMA 15.1.4.13108 TEXT _TypeError, /// ECMA 15.1.4.14109 TEXT _URIError, /// ECMA 15.1.4.1577 TEXT._NaN, /// ECMA 15.1.1.1 78 TEXT._Infinity, /// ECMA 15.1.1.2 79 TEXT._undefined, /// ECMA 15.1.1.3 80 TEXT._null, 81 TEXT._false, 82 TEXT._true, 83 TEXT._eval, /// ECMA 15.1.2.1 84 TEXT._parseInt, /// ECMA 15.1.2.2 85 TEXT._parseFloat, /// ECMA 15.1.2.3 86 TEXT._isNaN, /// ECMA 15.1.2.4 87 TEXT._isFinite, /// ECMA 15.1.2.5 88 TEXT._decodeURI, /// ECMA 15.1.3.1 89 TEXT._decodeURIComponent, /// ECMA 15.1.3.2 90 TEXT._encodeURI, /// ECMA 15.1.3.3 91 TEXT._encodeURIComponent, /// ECMA 15.1.3.4 92 TEXT._escape, 93 TEXT._unescape, 94 TEXT._Object, /// ECMA 15.1.4.1 95 TEXT._ActiveXObject, 96 TEXT._Function, /// ECMA 15.1.4.2 97 TEXT._Array, /// ECMA 15.1.4.3 98 TEXT._String, /// ECMA 15.1.4.4 99 TEXT._Boolean, /// ECMA 15.1.4.5 100 TEXT._Number, /// ECMA 15.1.4.6 101 TEXT._Math, /// ECMA 15.1.5.1 102 TEXT._Date, /// ECMA 15.1.4.7 103 TEXT._RegExp, /// ECMA 15.1.4.8 104 TEXT._Error, /// ECMA 15.1.4.9 105 TEXT._EvalError, /// ECMA 15.1.4.10 106 TEXT._RangeError, /// ECMA 15.1.4.11 107 TEXT._ReferenceError, /// ECMA 15.1.4.12 108 TEXT._SyntaxError, /// ECMA 15.1.4.13 109 TEXT._TypeError, /// ECMA 15.1.4.14 110 TEXT._URIError, /// ECMA 15.1.4.15 110 111 ], 111 112 values:[ … … 130 131 length:2, 131 132 keys:[ 132 TEXT _prototype,133 TEXT ___value__,133 TEXT._prototype, 134 TEXT.___value__, 134 135 ], 135 136 values:[ … … 137 138 length:8, 138 139 keys:[ 139 TEXT _constructor,140 TEXT _toString,141 TEXT _toLocaleString,142 TEXT _toSource,143 TEXT _valueOf,144 TEXT _hasOwnProperty,145 TEXT _isPrototypeOf,146 TEXT _propertyIsEnumerable,140 TEXT._constructor, 141 TEXT._toString, 142 TEXT._toLocaleString, 143 TEXT._toSource, 144 TEXT._valueOf, 145 TEXT._hasOwnProperty, 146 TEXT._isPrototypeOf, 147 TEXT._propertyIsEnumerable, 147 148 ], 148 149 values:[ … … 167 168 length:2, 168 169 keys:[ 169 TEXT _prototype,170 TEXT ___value__,170 TEXT._prototype, 171 TEXT.___value__, 171 172 ], 172 173 values:[ … … 180 181 length:2, 181 182 keys:[ 182 TEXT _prototype,183 TEXT ___value__,183 TEXT._prototype, 184 TEXT.___value__, 184 185 ], 185 186 values:[ … … 187 188 length:4, 188 189 keys:[ 189 TEXT _constructor,190 TEXT _toString,191 TEXT _apply,192 TEXT _call,190 TEXT._constructor, 191 TEXT._toString, 192 TEXT._apply, 193 TEXT._call, 193 194 ], 194 195 values:[ … … 209 210 length:2, 210 211 keys:[ 211 TEXT _prototype,212 TEXT ___value__,212 TEXT._prototype, 213 TEXT.___value__, 213 214 ], 214 215 values:[ … … 216 217 length:15, 217 218 keys:[ 218 TEXT _length,219 TEXT _constructor,220 TEXT _toString,221 TEXT _toLocaleString,222 TEXT _toSource,223 TEXT _concat,224 TEXT _join,225 TEXT _pop,226 TEXT _push,227 TEXT _reverse,228 TEXT _shift,229 TEXT _slice,230 TEXT _sort,231 TEXT _splice,232 TEXT _unshift,219 TEXT._length, 220 TEXT._constructor, 221 TEXT._toString, 222 TEXT._toLocaleString, 223 TEXT._toSource, 224 TEXT._concat, 225 TEXT._join, 226 TEXT._pop, 227 TEXT._push, 228 TEXT._reverse, 229 TEXT._shift, 230 TEXT._slice, 231 TEXT._sort, 232 TEXT._splice, 233 TEXT._unshift, 233 234 ], 234 235 values:[ … … 260 261 length:3, 261 262 keys:[ 262 TEXT _prototype,263 TEXT _fromCharCode,264 TEXT ___value__,263 TEXT._prototype, 264 TEXT._fromCharCode, 265 TEXT.___value__, 265 266 ], 266 267 values:[ … … 268 269 length:20, 269 270 keys:[ 270 TEXT _constructor,271 TEXT _toString,272 TEXT _valueOf,273 TEXT _charAt,274 TEXT _charCodeAt,275 TEXT _concat,276 TEXT _indexOf,277 TEXT _lastIndexOf,278 TEXT _localeCompare,279 TEXT _match,280 TEXT _replace,281 TEXT _search,282 TEXT _slice,283 TEXT _split,284 TEXT _substr,285 TEXT _substring,286 TEXT _toLowerCase,287 TEXT _toLocaleLowerCase,288 TEXT _toUpperCase,289 TEXT _toLocaleUpperCase,271 TEXT._constructor, 272 TEXT._toString, 273 TEXT._valueOf, 274 TEXT._charAt, 275 TEXT._charCodeAt, 276 TEXT._concat, 277 TEXT._indexOf, 278 TEXT._lastIndexOf, 279 TEXT._localeCompare, 280 TEXT._match, 281 TEXT._replace, 282 TEXT._search, 283 TEXT._slice, 284 TEXT._split, 285 TEXT._substr, 286 TEXT._substring, 287 TEXT._toLowerCase, 288 TEXT._toLocaleLowerCase, 289 TEXT._toUpperCase, 290 TEXT._toLocaleUpperCase, 290 291 ], 291 292 values:[ … … 323 324 length:2, 324 325 keys:[ 325 TEXT _prototype,326 TEXT ___value__,326 TEXT._prototype, 327 TEXT.___value__, 327 328 ], 328 329 values:[ … … 330 331 length:1, 331 332 keys:[ 332 TEXT _constructor,333 TEXT._constructor, 333 334 ], 334 335 values:[ … … 346 347 length:7, 347 348 keys:[ 348 TEXT _prototype,349 TEXT _MAX_VALUE,350 TEXT _MIN_VALUE,351 TEXT _NaN,352 TEXT _NEGATIVE_INFINITY,353 TEXT _POSITIVE_INFINITY,354 TEXT ___value__,349 TEXT._prototype, 350 TEXT._MAX_VALUE, 351 TEXT._MIN_VALUE, 352 TEXT._NaN, 353 TEXT._NEGATIVE_INFINITY, 354 TEXT._POSITIVE_INFINITY, 355 TEXT.___value__, 355 356 ], 356 357 values:[ … … 358 359 length:4, 359 360 keys:[ 360 TEXT _constructor,361 TEXT _toFixed,362 TEXT _toExponential,363 TEXT _toPrecision,361 TEXT._constructor, 362 TEXT._toFixed, 363 TEXT._toExponential, 364 TEXT._toPrecision, 364 365 ], 365 366 values:[ … … 385 386 length:26, 386 387 keys:[ 387 TEXT _E,388 TEXT _LN10,389 TEXT _LN2,390 TEXT _LOG2E,391 TEXT _LOG10E,392 TEXT _PI,393 TEXT _SQRT1_2,394 TEXT _SQRT2,395 TEXT _abs,396 TEXT _acos,397 TEXT _asin,398 TEXT _atan,399 TEXT _atan2,400 TEXT _ceil,401 TEXT _cos,402 TEXT _exp,403 TEXT _floor,404 TEXT _log,405 TEXT _max,406 TEXT _min,407 TEXT _pow,408 TEXT _random,409 TEXT _round,410 TEXT _sin,411 TEXT _sqrt,412 TEXT _tan,388 TEXT._E, 389 TEXT._LN10, 390 TEXT._LN2, 391 TEXT._LOG2E, 392 TEXT._LOG10E, 393 TEXT._PI, 394 TEXT._SQRT1_2, 395 TEXT._SQRT2, 396 TEXT._abs, 397 TEXT._acos, 398 TEXT._asin, 399 TEXT._atan, 400 TEXT._atan2, 401 TEXT._ceil, 402 TEXT._cos, 403 TEXT._exp, 404 TEXT._floor, 405 TEXT._log, 406 TEXT._max, 407 TEXT._min, 408 TEXT._pow, 409 TEXT._random, 410 TEXT._round, 411 TEXT._sin, 412 TEXT._sqrt, 413 TEXT._tan, 413 414 ], 414 415 values:[ … … 446 447 length:4, 447 448 keys:[ 448 TEXT _prototype, /// ECMA 15.9.4.1449 TEXT _parse, /// ECMA 15.9.4.2450 TEXT _UTC, /// ECMA 15.9.4.3451 TEXT ___value__,449 TEXT._prototype, /// ECMA 15.9.4.1 450 TEXT._parse, /// ECMA 15.9.4.2 451 TEXT._UTC, /// ECMA 15.9.4.3 452 TEXT.___value__, 452 453 ], 453 454 values:[ … … 455 456 length:42, 456 457 keys:[ 457 TEXT _constructor, /// ECMA 15.9.5.1458 TEXT _toString, /// ECMA 15.9.5.2459 TEXT _toDateString, /// ECMA 15.9.5.3460 TEXT _toTimeString, /// ECMA 15.9.5.4461 TEXT _toLocaleString, /// ECMA 15.9.5.5462 TEXT _toLocaleDateString, /// ECMA 15.9.5.6463 TEXT _toLocaleTimeString, /// ECMA 15.9.5.7464 TEXT _valueOf, /// ECMA 15.9.5.2465 TEXT _getTime, /// ECMA 15.9.5.9466 TEXT _getFullYear, /// ECMA 15.9.5.10467 TEXT _getUTCFullYear, /// ECMA 15.9.5.11468 TEXT _getMonth, /// ECMA 15.9.5.12469 TEXT _getUTCMonth, /// ECMA 15.9.5.13470 &nb
