2 * Copyright 2008 The Closure Compiler Authors
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * @fileoverview ECMAScript 3 Built-Ins. This include common extensions so this
19 * is actually ES3+Reality.
21 * @author stevey@google.com (Steve Yegge)
22 * @author nicksantos@google.com (Nick Santos)
23 * @author arv@google.com (Erik Arvidsson)
24 * @author johnlenz@google.com (John Lenz)
28 // These built-ins are still needed for compilation.
32 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments
34 function Arguments() {}
38 * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/callee
40 Arguments.prototype.callee;
43 * Use the non-standard {@see Function.prototype.caller} property of a function
46 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions/arguments/caller
49 Arguments.prototype.caller;
53 * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/length
55 Arguments.prototype.length;
59 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments
65 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Properties/Infinity
72 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Properties/NaN
79 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Properties/undefined
88 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/decodeURI
90 function decodeURI(uri) {}
96 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/decodeURIComponent
98 function decodeURIComponent(uri) {}
101 * @param {string} uri
104 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/encodeURI
106 function encodeURI(uri) {}
109 * @param {string} uri
112 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/encodeURIComponent
114 function encodeURIComponent(uri) {}
117 * Should only be used in browsers where encode/decodeURIComponent
118 * are not present, as the latter handle fancy Unicode characters.
119 * @param {string} str
122 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions
124 function escape(str) {}
127 * Should only be used in browsers where encode/decodeURIComponent
128 * are not present, as the latter handle fancy Unicode characters.
129 * @param {string} str
132 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions
134 function unescape(str) {}
140 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/isFinite
142 function isFinite(num) {}
148 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/isNaN
150 function isNaN(num) {}
156 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/parseFloat
158 function parseFloat(num) {}
161 * Parse an integer. Use of {@code parseInt} without {@code base} is strictly
162 * banned in Google. If you really want to parse octal or hex based on the
163 * leader, then pass {@code undefined} as the base.
166 * @param {number|undefined} base
169 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/parseInt
171 function parseInt(num, base) {}
174 * @param {string} code
176 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Functions/eval
178 function eval(code) {}
182 * @param {*=} opt_value
185 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object
187 function Object(opt_value) {}
190 * The constructor of the current object.
192 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/constructor
194 Object.prototype.constructor = function() {};
197 * Binds an object's property to a function to be called when that property is
201 * @param {string} sprop
202 * @param {Function} fun
204 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/defineGetter
206 Object.prototype.__defineGetter__ = function(sprop, fun) {};
209 * Binds an object's property to a function to be called when an attempt is made
210 * to set that property.
213 * @param {string} sprop
214 * @param {Function} fun
216 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/defineSetter
218 Object.prototype.__defineSetter__ = function(sprop, fun) {};
221 * Returns whether the object has a property with the specified name.
223 * @param {*} propertyName Implicitly cast to a string.
226 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/hasOwnProperty
228 Object.prototype.hasOwnProperty = function(propertyName) {};
231 * Returns whether an object exists in another object's prototype chain.
233 * @param {Object} other
236 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/isPrototypeOf
238 Object.prototype.isPrototypeOf = function(other) {};
241 * Return the function bound as a getter to the specified property.
244 * @param {string} sprop a string containing the name of the property whose
245 * getter should be returned
248 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/lookupGetter
250 Object.prototype.__lookupGetter__ = function(sprop) {};
253 * Return the function bound as a setter to the specified property.
256 * @param {string} sprop a string containing the name of the property whose
257 * setter should be returned.
260 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/lookupSetter
262 Object.prototype.__lookupSetter__ = function(sprop) {};
265 * Executes a function when a non-existent method is called on an object.
268 * @param {Function} fun
270 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/noSuchMethod
272 Object.prototype.__noSuchMethod__ = function(fun) {};
275 * Points to an object's context. For top-level objects, this is the e.g. window.
280 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/parent
282 Object.prototype.__parent__;
285 * Points to the object which was used as prototype when the object was instantiated.
288 * Will be null on Object.prototype.
291 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/proto
293 Object.prototype.__proto__;
296 * Determine whether the specified property in an object can be enumerated by a
297 * for..in loop, with the exception of properties inherited through the
300 * @param {string} propertyName
303 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/propertyIsEnumerable
305 Object.prototype.propertyIsEnumerable = function(propertyName) {};
308 * Returns a localized string representing the object.
311 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/toLocaleString
313 Object.prototype.toLocaleString = function() {};
316 * Returns a string representing the source code of the object.
320 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/toSource
322 Object.prototype.toSource = function() {};
325 * Returns a string representing the object.
329 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/toString
331 Object.prototype.toString = function() {};
334 * Removes a watchpoint set with the {@see Object.prototype.watch} method.
336 * @param {string} prop The name of a property of the object.
337 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/unwatch
339 Object.prototype.unwatch = function(prop) {};
342 * Returns the object's {@code this} value.
345 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/valueOf
347 Object.prototype.valueOf = function() {};
350 * Sets a watchpoint method.
352 * @param {string} prop The name of a property of the object.
353 * @param {Function} handler A function to call.
354 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/watch
356 Object.prototype.watch = function(prop, handler) {};
361 * @param {...*} var_args
364 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function
366 function Function(var_args) {}
369 * @param {...*} var_args
371 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/call
373 Function.prototype.call = function(var_args) {};
376 * @param {...*} var_args
378 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/apply
380 Function.prototype.apply = function(var_args) {};
382 Function.prototype.arguments;
387 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/arity
389 Function.prototype.arity;
392 * Nonstandard; Mozilla and JScript only.
394 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/caller
396 Function.prototype.caller;
401 * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName
403 Function.prototype.displayName;
406 * Expected number of arguments.
408 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/length
410 Function.prototype.length;
414 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/name
416 Function.prototype.name;
424 Function.prototype.toString = function() {};
429 * @param {...*} var_args
430 * @return {!Array.<?>}
433 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array
435 function Array(var_args) {}
440 * Returns a new array comprised of this array joined with other array(s)
443 * @param {...*} var_args
444 * @return {!Array.<?>}
447 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/concat
449 Array.prototype.concat = function(var_args) {};
452 * Joins all elements of an array into a string.
454 * @param {*=} opt_separator Specifies a string to separate each element of the
455 * array. The separator is converted to a string if necessary. If omitted,
456 * the array elements are separated with a comma.
458 * @this {{length: number}|string}
460 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/join
462 Array.prototype.join = function(opt_separator) {};
465 * Removes the last element from an array and returns that element.
468 * @this {{length: number}|Array.<T>}
471 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/pop
473 Array.prototype.pop = function() {};
476 * Mutates an array by appending the given elements and returning the new
477 * length of the array.
479 * @param {...T} var_args
480 * @return {number} The new length of the array.
481 * @this {{length: number}|Array.<T>}
484 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/push
486 Array.prototype.push = function(var_args) {};
489 * Transposes the elements of an array in place: the first array element becomes the
490 * last and the last becomes the first.
492 * @this {{length: number}}
494 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/reverse
496 Array.prototype.reverse = function() {};
499 * Removes the first element from an array and returns that element. This
500 * method changes the length of the array.
502 * @this {{length: number}|Array.<T>}
506 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/shift
508 Array.prototype.shift = function() {};
511 * Extracts a section of an array and returns a new array.
513 * @param {*=} opt_begin Zero-based index at which to begin extraction. A
514 * non-number type will be auto-cast by the browser to a number.
515 * @param {*=} opt_end Zero-based index at which to end extraction. slice
516 * extracts up to but not including end.
517 * @return {!Array.<T>}
518 * @this {{length: number}|Array.<T>|string}
521 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/slice
523 Array.prototype.slice = function(opt_begin, opt_end) {};
526 * Sorts the elements of an array in place.
528 * @param {function(T,T):number=} opt_compareFunction Specifies a function that
529 * defines the sort order.
530 * @this {{length: number}|Array.<T>}
532 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/sort
534 Array.prototype.sort = function(opt_compareFunction) {};
537 * Changes the content of an array, adding new elements while removing old
540 * @param {*=} opt_index Index at which to start changing the array. If negative,
541 * will begin that many elements from the end. A non-number type will be
542 * auto-cast by the browser to a number.
543 * @param {*=} opt_howMany An integer indicating the number of old array elements
545 * @param {...T} var_args
546 * @return {!Array.<T>}
547 * @this {{length: number}|Array.<T>}
550 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/splice
552 Array.prototype.splice = function(opt_index, opt_howMany, var_args) {};
558 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/toSource
560 Array.prototype.toSource;
568 Array.prototype.toString = function() {};
571 * Adds one or more elements to the beginning of an array and returns the new
572 * length of the array.
574 * @param {...*} var_args
575 * @return {number} The new length of the array
576 * @this {{length: number}}
578 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/unshift
580 Array.prototype.unshift = function(var_args) {};
583 * Apply a function simultaneously against two values of the array (from
584 * left-to-right) as to reduce it to a single value.
586 * @param {?function(?, T, number, !Array.<T>) : R} callback
587 * @param {*=} opt_initialValue
589 * @this {{length: number}|Array.<T>|string}
591 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/reduce
593 Array.prototype.reduce = function(callback, opt_initialValue) {};
596 * Apply a function simultaneously against two values of the array (from
597 * right-to-left) as to reduce it to a single value.
599 * @param {?function(?, T, number, !Array.<T>) : R} callback
600 * @param {*=} opt_initialValue
602 * @this {{length: number}|Array.<T>|string}
604 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/reduceRight
606 Array.prototype.reduceRight = function(callback, opt_initialValue) {};
609 * Available in ECMAScript 5, Mozilla 1.6+.
610 * @param {?function(this:S, T, number, !Array.<T>): ?} callback
611 * @param {S=} opt_thisobj
613 * @this {{length: number}|Array.<T>|string}
615 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/every
617 Array.prototype.every = function(callback, opt_thisobj) {};
620 * Available in ECMAScript 5, Mozilla 1.6+.
621 * @param {?function(this:S, T, number, !Array.<T>): ?} callback
622 * @param {S=} opt_thisobj
623 * @return {!Array.<T>}
624 * @this {{length: number}|Array.<T>|string}
626 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/filter
628 Array.prototype.filter = function(callback, opt_thisobj) {};
631 * Available in ECMAScript 5, Mozilla 1.6+.
632 * @param {?function(this:S, T, number, !Array.<T>): ?} callback
633 * @param {S=} opt_thisobj
634 * @this {{length: number}|Array.<T>|string}
636 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/forEach
638 Array.prototype.forEach = function(callback, opt_thisobj) {};
641 * Available in ECMAScript 5, Mozilla 1.6+.
643 * @param {number=} opt_fromIndex
645 * @this {{length: number}|Array.<T>|string}
648 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/indexOf
650 Array.prototype.indexOf = function(obj, opt_fromIndex) {};
653 * Available in ECMAScript 5, Mozilla 1.6+.
655 * @param {number=} opt_fromIndex
657 * @this {{length: number}|Array.<T>|string}
660 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/lastIndexOf
662 Array.prototype.lastIndexOf = function(obj, opt_fromIndex) {};
665 * Available in ECMAScript 5, Mozilla 1.6+.
666 * @param {?function(this:S, T, number, !Array.<T>): R} callback
667 * @param {S=} opt_thisobj
668 * @return {!Array.<R>}
669 * @this {{length: number}|Array.<T>|string}
671 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/map
673 Array.prototype.map = function(callback, opt_thisobj) {};
676 * Available in ECMAScript 5, Mozilla 1.6+.
677 * @param {?function(this:S, T, number, !Array.<T>): ?} callback
678 * @param {S=} opt_thisobj
680 * @this {{length: number}|Array.<T>|string}
682 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/some
684 Array.prototype.some = function(callback, opt_thisobj) {};
688 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/index
690 Array.prototype.index;
694 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/input
696 Array.prototype.input;
700 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/length
702 Array.prototype.length;
705 * @param {{length: number}|Array.<T>} arr
706 * @param {?function(this:S, T, number, ?) : ?} callback
707 * @param {S=} opt_context
711 Array.every = function(arr, callback, opt_context) {};
714 * @param {{length: number}|Array.<T>} arr
715 * @param {?function(this:S, T, number, ?) : ?} callback
716 * @param {S=} opt_context
717 * @return {!Array.<T>}
720 Array.filter = function(arr, callback, opt_context) {};
723 * @param {{length: number}|Array.<T>} arr
724 * @param {?function(this:S, T, number, ?) : ?} callback
725 * @param {S=} opt_context
728 Array.forEach = function(arr, callback, opt_context) {};
732 * @param {{length: number}|Array.<T>} arr
734 * @param {number=} opt_fromIndex
738 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/indexOf
740 Array.indexOf = function(arr, obj, opt_fromIndex) {};
744 * @param {{length: number}|Array.<T>} arr
746 * @param {number=} opt_fromIndex
750 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/lastIndexOf
752 Array.lastIndexOf = function(arr, obj, opt_fromIndex) {};
755 * @param {{length: number}|Array.<T>} arr
756 * @param {?function(this:S, T, number, !Array.<T>): R} callback
757 * @param {S=} opt_context
758 * @return {!Array.<R>}
761 Array.map = function(arr, callback, opt_context) {};
764 * @param {{length: number}|Array.<T>} arr
765 * @param {?function(this:S, T, number, ?) : ?} callback
766 * @param {S=} opt_context
770 Array.some = function(arr, callback, opt_context) {};
773 * Introduced in 1.8.5.
776 * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray
778 Array.isArray = function(arr) {};
782 * @param {*=} opt_value
785 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean
787 function Boolean(opt_value) {}
792 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean/toSource
795 Boolean.prototype.toSource = function() {};
798 * @this {boolean|Boolean}
803 Boolean.prototype.toString = function() {};
807 * @param {*=} opt_value
810 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number
812 function Number(opt_value) {}
815 * @this {Number|number}
816 * @param {number=} opt_fractionDigits
819 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/toExponential
821 Number.prototype.toExponential = function(opt_fractionDigits) {};
824 * @this {Number|number}
825 * @param {*=} opt_digits
828 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/toFixed
830 Number.prototype.toFixed = function(opt_digits) {};
833 * @this {Number|number}
834 * @param {number=} opt_precision
837 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/toPrecision
839 Number.prototype.toPrecision = function(opt_precision) {};
842 * Returns a string representing the number.
843 * @this {Number|number}
844 * @param {(number|Number)=} opt_radix An optional radix.
847 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/toString
850 Number.prototype.toString = function(opt_radix) {};
855 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/MAX_VALUE
861 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/MIN_VALUE
867 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/NaN
873 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/NEGATIVE_INFINITY
875 Number.NEGATIVE_INFINITY;
879 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/POSITIVE_INFINITY
881 Number.POSITIVE_INFINITY;
886 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math
894 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/abs
896 Math.abs = function(x) {};
902 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/acos
904 Math.acos = function(x) {};
910 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/asin
912 Math.asin = function(x) {};
918 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/atan
920 Math.atan = function(x) {};
927 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/atan2
929 Math.atan2 = function(y, x) {};
935 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/ceil
937 Math.ceil = function(x) {};
943 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/cos
945 Math.cos = function(x) {};
951 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/exp
953 Math.exp = function(x) {};
959 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/floor
961 Math.floor = function(x) {};
967 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/log
969 Math.log = function(x) {};
972 * @param {...*} var_args
975 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/max
977 Math.max = function(var_args) {};
980 * @param {...*} var_args
983 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/min
985 Math.min = function(var_args) {};
992 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/pow
994 Math.pow = function(x, y) {};
999 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/random
1001 Math.random = function() {};
1007 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/round
1009 Math.round = function(x) {};
1015 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/sin
1017 Math.sin = function(x) {};
1023 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/sqrt
1025 Math.sqrt = function(x) {};
1031 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/tan
1033 Math.tan = function(x) {};
1038 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/toSource
1040 Math.toSource = function() {};
1046 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/E
1052 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/LN2
1058 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/LN10
1064 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/LOG2E
1070 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/LOG10E
1076 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/PI
1082 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/SQRT1_2
1088 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Math/SQRT2
1094 * @param {?=} opt_yr_num
1095 * @param {?=} opt_mo_num
1096 * @param {?=} opt_day_num
1097 * @param {?=} opt_hr_num
1098 * @param {?=} opt_min_num
1099 * @param {?=} opt_sec_num
1100 * @param {?=} opt_ms_num
1104 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date
1106 function Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num,
1107 opt_sec_num, opt_ms_num) {}
1112 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/now
1114 Date.now = function() {};
1117 * Parses a string representation of a date, and returns the number
1118 * of milliseconds since January 1, 1970, 00:00:00, local time.
1122 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/parse
1124 Date.parse = function(date) {};
1127 * @param {number} year
1128 * @param {number} month
1129 * @param {number=} opt_date
1130 * @param {number=} opt_hours
1131 * @param {number=} opt_minute
1132 * @param {number=} opt_second
1133 * @param {number=} opt_ms
1136 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/UTC
1138 Date.UTC = function(year, month,
1139 opt_date, opt_hours, opt_minute, opt_second, opt_ms) {};
1144 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getDate
1146 Date.prototype.getDate = function() {};
1151 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getDay
1153 Date.prototype.getDay = function() {};
1158 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getMonth
1160 Date.prototype.getMonth = function() {};
1165 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getFullYear
1167 Date.prototype.getFullYear = function() {};
1172 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getYear
1174 Date.prototype.getYear = function() {};
1179 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getHours
1181 Date.prototype.getHours = function() {};
1186 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getMinutes
1188 Date.prototype.getMinutes = function() {};
1193 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getSeconds
1195 Date.prototype.getSeconds = function() {};
1200 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getMilliseconds
1202 Date.prototype.getMilliseconds = function() {};
1207 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getTime
1209 Date.prototype.getTime = function() {};
1214 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getTimezoneOffset
1216 Date.prototype.getTimezoneOffset = function() {};
1221 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getUTCDate
1223 Date.prototype.getUTCDate = function() {};
1228 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getUTCDay
1230 Date.prototype.getUTCDay = function() {};
1235 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getUTCMonth
1237 Date.prototype.getUTCMonth = function() {};
1242 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getUTCFullYear
1244 Date.prototype.getUTCFullYear = function() {};
1249 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getUTCHours
1251 Date.prototype.getUTCHours = function() {};
1256 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getUTCMinutes
1258 Date.prototype.getUTCMinutes = function() {};
1263 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getUTCSeconds
1265 Date.prototype.getUTCSeconds = function() {};
1270 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getUTCMilliseconds
1272 Date.prototype.getUTCMilliseconds = function() {};
1275 * Sets the day of the month for a specified date according to local time.
1277 * @param {number} dayValue
1279 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setDate
1281 Date.prototype.setDate = function(dayValue) {};
1284 * Set the month for a specified date according to local time.
1286 * @param {number} monthValue
1287 * @param {number=} opt_dayValue
1289 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setMonth
1291 Date.prototype.setMonth = function(monthValue, opt_dayValue) {};
1294 * Sets the full year for a specified date according to local time.
1296 * @param {number} yearValue
1297 * @param {number=} opt_monthValue
1298 * @param {number=} opt_dayValue
1300 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setFullYear
1302 Date.prototype.setFullYear =
1303 function(yearValue, opt_monthValue, opt_dayValue) {};
1306 * Sets the year for a specified date according to local time.
1308 * @param {number} yearValue
1311 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setYear
1313 Date.prototype.setYear = function(yearValue) {};
1316 * Sets the hours for a specified date according to local time.
1318 * @param {number} hoursValue
1319 * @param {number=} opt_minutesValue
1320 * @param {number=} opt_secondsValue
1321 * @param {number=} opt_msValue
1323 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setHours
1325 Date.prototype.setHours = function(hoursValue, opt_minutesValue,
1326 opt_secondsValue, opt_msValue) {};
1329 * Sets the minutes for a specified date according to local time.
1331 * @param {number} minutesValue
1332 * @param {number=} opt_secondsValue
1333 * @param {number=} opt_msValue
1335 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setMinutes
1337 Date.prototype.setMinutes =
1338 function(minutesValue, opt_secondsValue, opt_msValue) {};
1341 * Sets the seconds for a specified date according to local time.
1343 * @param {number} secondsValue
1344 * @param {number=} opt_msValue
1346 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setSeconds
1348 Date.prototype.setSeconds = function(secondsValue, opt_msValue) {};
1351 * Sets the milliseconds for a specified date according to local time.
1353 * @param {number} millisecondsValue
1355 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setMilliseconds
1357 Date.prototype.setMilliseconds = function(millisecondsValue) {};
1360 * Sets the Date object to the time represented by a number of milliseconds
1361 * since January 1, 1970, 00:00:00 UTC.
1363 * @param {number} timeValue
1365 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setTime
1367 Date.prototype.setTime = function(timeValue) {};
1370 * Sets the day of the month for a specified date according to universal time.
1372 * @param {number} dayValue
1374 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setUTCDate
1376 Date.prototype.setUTCDate = function(dayValue) {};
1379 * Sets the month for a specified date according to universal time.
1381 * @param {number} monthValue
1382 * @param {number=} opt_dayValue
1384 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setUTCMonth
1386 Date.prototype.setUTCMonth = function(monthValue, opt_dayValue) {};
1389 * Sets the full year for a specified date according to universal time.
1391 * @param {number} yearValue
1392 * @param {number=} opt_monthValue
1393 * @param {number=} opt_dayValue
1395 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setUTCFullYear
1397 Date.prototype.setUTCFullYear = function(yearValue, opt_monthValue,
1401 * Sets the hour for a specified date according to universal time.
1403 * @param {number} hoursValue
1404 * @param {number=} opt_minutesValue
1405 * @param {number=} opt_secondsValue
1406 * @param {number=} opt_msValue
1408 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setUTCHours
1410 Date.prototype.setUTCHours = function(hoursValue, opt_minutesValue,
1411 opt_secondsValue, opt_msValue) {};
1414 * Sets the minutes for a specified date according to universal time.
1416 * @param {number} minutesValue
1417 * @param {number=} opt_secondsValue
1418 * @param {number=} opt_msValue
1420 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setUTCMinutes
1422 Date.prototype.setUTCMinutes = function(minutesValue, opt_secondsValue,
1427 * Sets the seconds for a specified date according to universal time.
1429 * @param {number} secondsValue
1430 * @param {number=} opt_msValue
1432 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setUTCSeconds
1434 Date.prototype.setUTCSeconds = function(secondsValue, opt_msValue) {};
1437 * Sets the milliseconds for a specified date according to universal time.
1439 * @param {number} millisecondsValue
1441 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setUTCMilliseconds
1443 Date.prototype.setUTCMilliseconds = function(millisecondsValue) {};
1448 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toSource
1451 Date.prototype.toSource = function() {};
1456 * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString
1458 Date.prototype.toDateString = function() {};
1463 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toGMTString
1465 Date.prototype.toGMTString = function() {};
1470 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toTimeString
1472 Date.prototype.toTimeString = function() {};
1477 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toUTCString
1479 Date.prototype.toUTCString = function() {};
1482 * @param {(string|Array.<string>)=} opt_locales
1483 * @param {Object=} opt_options
1486 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toLocaleDateString
1488 Date.prototype.toLocaleDateString = function(opt_locales, opt_options) {};
1491 * @param {string} formatString
1494 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toLocaleFormat
1496 Date.prototype.toLocaleFormat = function(formatString) {};
1499 * @param {string|Array.<string>=} opt_locales
1500 * @param {Object=} opt_options
1503 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toLocaleString
1504 * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1
1507 Date.prototype.toLocaleString = function(opt_locales, opt_options) {};
1510 * @param {(string|Array.<string>)=} opt_locales
1511 * @param {Object=} opt_options
1514 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toLocaleTimeString
1516 Date.prototype.toLocaleTimeString = function(opt_locales, opt_options) {};
1524 Date.prototype.toString = function() {};
1529 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/valueOf
1531 Date.prototype.valueOf;
1535 * @param {*=} opt_str
1538 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String
1540 function String(opt_str) {}
1544 * @param {...number} var_args
1547 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/fromCharCode
1549 String.fromCharCode = function(var_args) {};
1552 * @this {String|string}
1555 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/anchor
1557 String.prototype.anchor = function() {};
1560 * @this {String|string}
1563 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/big
1565 String.prototype.big = function() {};
1568 * @this {String|string}
1571 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/blink
1573 String.prototype.blink = function() {};
1576 * @this {String|string}
1579 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/bold
1581 String.prototype.bold = function() {};
1584 * Returns the specified character from a string.
1586 * @this {String|string}
1587 * @param {number} index
1590 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/charAt
1592 String.prototype.charAt = function(index) {};
1595 * Returns a number indicating the Unicode value of the character at the given
1598 * @this {String|string}
1599 * @param {number=} opt_index
1602 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/charCodeAt
1604 String.prototype.charCodeAt = function(opt_index) {};
1607 * Combines the text of two or more strings and returns a new string.
1609 * @this {String|string}
1610 * @param {...*} var_args
1613 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/concat
1615 String.prototype.concat = function(var_args) {};
1618 * @this {String|string}
1621 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/fixed
1623 String.prototype.fixed = function() {};
1626 * @this {String|string}
1627 * @param {string} color
1630 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/fontcolor
1632 String.prototype.fontcolor = function(color) {};
1635 * @this {String|string}
1636 * @param {number} size
1639 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/fontsize
1641 String.prototype.fontsize = function(size) {};
1644 * Returns the index within the calling String object of the first occurrence
1645 * of the specified value, starting the search at fromIndex, returns -1 if the
1646 * value is not found.
1648 * @this {String|string}
1649 * @param {string|null} searchValue
1650 * @param {(number|null)=} opt_fromIndex
1653 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/indexOf
1655 String.prototype.indexOf = function(searchValue, opt_fromIndex) {};
1658 * @this {String|string}
1661 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/italics
1663 String.prototype.italics = function() {};
1666 * Returns the index within the calling String object of the last occurrence of
1667 * the specified value, or -1 if not found. The calling string is searched
1668 * backward, starting at fromIndex.
1670 * @this {String|string}
1671 * @param {string|null} searchValue
1672 * @param {(number|null)=} opt_fromIndex
1675 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/lastIndexOf
1677 String.prototype.lastIndexOf = function(searchValue, opt_fromIndex) {};
1680 * @this {String|string}
1681 * @param {string} hrefAttribute
1684 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/link
1686 String.prototype.link = function(hrefAttribute) {};
1689 * Returns a number indicating whether a reference string comes before or after
1690 * or is the same as the given string in sort order.
1693 * @param {?string} compareString
1694 * @param {string|Array.<string>=} locales
1695 * @param {Object=} options
1698 * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare
1699 * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1
1701 String.prototype.localeCompare = function(compareString, locales, options) {};
1704 * Used to retrieve the matches when matching a string against a regular
1707 * @this {String|string}
1709 * @return {Array.<string>} This should really return an Array with a few
1710 * special properties, but we do not have a good way to model this in
1711 * our type system. Also see Regexp.prototype.exec.
1712 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/match
1714 String.prototype.match = function(regexp) {};
1717 * @this {String|string}
1720 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/quote
1722 String.prototype.quote = function() {};
1725 * Finds a match between a regular expression and a string, and replaces the
1726 * matched substring with a new substring.
1728 * This may have side-effects if the replacement function has side-effects.
1730 * @this {String|string}
1731 * @param {RegExp|string} regex
1732 * @param {string|Function} str
1733 * @param {string=} opt_flags
1735 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/replace
1737 String.prototype.replace = function(regex, str, opt_flags) {};
1740 * Executes the search for a match between a regular expression and this String
1743 * @this {String|string}
1744 * @param {RegExp|string} regexp
1746 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/search
1748 String.prototype.search = function(regexp) {};
1751 * @this {String|string}
1752 * @param {number} begin
1753 * @param {number=} opt_end
1756 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/slice
1758 String.prototype.slice = function(begin, opt_end) {};
1761 * @this {String|string}
1764 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/small
1766 String.prototype.small = function() {};
1769 * @this {String|string}
1770 * @param {*=} opt_separator
1771 * @param {number=} opt_limit
1772 * @return {!Array.<string>}
1774 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/split
1776 String.prototype.split = function(opt_separator, opt_limit) {};
1781 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/strike
1783 String.prototype.strike = function() {};
1786 * @this {String|string}
1789 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/sub
1791 String.prototype.sub = function() {};
1794 * @this {String|string}
1795 * @param {number} start
1796 * @param {number=} opt_length
1797 * @return {string} The specified substring.
1799 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/substr
1801 String.prototype.substr = function(start, opt_length) {};
1804 * @this {String|string}
1805 * @param {number} start
1806 * @param {number=} opt_end
1807 * @return {string} The specified substring.
1809 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/substring
1811 String.prototype.substring = function(start, opt_end) {};
1814 * @this {String|string}
1817 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/sup
1819 String.prototype.sup = function() {};
1822 * @this {String|string}
1825 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/toLocaleUpperCase
1827 String.prototype.toLocaleUpperCase = function() {};
1830 * @this {String|string}
1833 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/toLocaleLowerCase
1835 String.prototype.toLocaleLowerCase = function() {};
1838 * @this {String|string}
1841 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/toLowerCase
1843 String.prototype.toLowerCase = function() {};
1846 * @this {String|string}
1849 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/toUpperCase
1851 String.prototype.toUpperCase = function() {};
1856 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/toSource
1859 String.prototype.toSource = function() {};
1862 * @this {string|String}
1867 String.prototype.toString = function() {};
1872 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/valueOf
1874 String.prototype.valueOf;
1878 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/length
1880 String.prototype.length;
1884 * @param {*=} opt_pattern
1885 * @param {*=} opt_flags
1888 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
1890 function RegExp(opt_pattern, opt_flags) {}
1893 * @param {*} pattern
1894 * @param {*=} opt_flags
1898 * @see http://msdn.microsoft.com/en-us/library/x9cswe0z(v=VS.85).aspx
1899 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/compile
1901 RegExp.prototype.compile = function(pattern, opt_flags) {};
1904 * @param {*} str The string to search.
1905 * @return {Array.<string>} This should really return an Array with a few
1906 * special properties, but we do not have a good way to model this in
1907 * our type system. Also see String.prototype.match.
1908 * @see http://msdn.microsoft.com/en-us/library/z908hy33(VS.85).aspx
1909 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/exec
1911 RegExp.prototype.exec = function(str) {};
1914 * @param {*} str The string to search.
1915 * @return {boolean} Whether the string was matched.
1916 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/test
1918 RegExp.prototype.test = function(str) {};
1926 RegExp.prototype.toString = function() {};
1928 // Constructor properties:
1931 * The string against which the last regexp was matched.
1933 * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_input.html
1938 * The last matched characters.
1940 * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastMatch.html
1945 * The last matched parenthesized substring, if any.
1947 * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastParen.html
1952 * The substring of the input up to the characters most recently matched.
1954 * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_leftContext.html
1959 * The substring of the input after the characters most recently matched.
1961 * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_rightContext.html
1963 RegExp.rightContext;
1967 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
1972 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
1977 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
1982 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
1987 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
1992 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
1997 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
2002 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
2007 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp
2011 // Prototype properties:
2014 * Whether to test the regular expression against all possible matches
2015 * in a string, or only against the first.
2017 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/global
2019 RegExp.prototype.global;
2022 * Whether to ignore case while attempting a match in a string.
2024 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/ignoreCase
2026 RegExp.prototype.ignoreCase;
2029 * The index at which to start the next match.
2031 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/lastIndex
2033 RegExp.prototype.lastIndex;
2036 * Whether or not to search in strings across multiple lines.
2038 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/multiline
2040 RegExp.prototype.multiline;
2043 * The text of the pattern.
2045 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/source
2047 RegExp.prototype.source;
2052 * @param {*=} opt_message
2053 * @param {*=} opt_file
2054 * @param {*=} opt_line
2057 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error
2059 function Error(opt_message, opt_file, opt_line) {}
2063 * Chrome/v8 specific, altering the maximum depth of the stack trace
2066 * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
2068 Error.stackTraceLimit;
2072 * Chrome/v8 specific, adds a stack trace to the error object. The optional
2073 * constructorOpt parameter allows you to pass in a function value. When
2074 * collecting the stack trace all frames above the topmost call to this
2075 * function, including that call, will be left out of the stack trace.
2076 * @param {Object} error The object to add the stack trace to.
2077 * @param {Function=} opt_constructor A function in the stack trace
2078 * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
2080 Error.captureStackTrace = function(error, opt_constructor){};
2086 * @see http://msdn.microsoft.com/en-us/library/2w6a45b5.aspx
2088 Error.prototype.description;
2094 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error/lineNumber
2096 Error.prototype.lineNumber;
2101 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error/fileName
2103 Error.prototype.fileName;
2107 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error/name
2109 Error.prototype.name;
2113 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error/message
2115 Error.prototype.message;
2118 * Doesn't seem to exist, but closure/debug.js references it.
2120 Error.prototype.sourceURL;
2122 /** @type {string} */
2123 Error.prototype.stack;
2129 * @param {*=} opt_message
2130 * @param {*=} opt_file
2131 * @param {*=} opt_line
2132 * @return {!EvalError}
2134 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/EvalError
2136 function EvalError(opt_message, opt_file, opt_line) {}
2141 * @param {*=} opt_message
2142 * @param {*=} opt_file
2143 * @param {*=} opt_line
2144 * @return {!RangeError}
2146 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RangeError
2148 function RangeError(opt_message, opt_file, opt_line) {}
2153 * @param {*=} opt_message
2154 * @param {*=} opt_file
2155 * @param {*=} opt_line
2156 * @return {!ReferenceError}
2158 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/ReferenceError
2160 function ReferenceError(opt_message, opt_file, opt_line) {}
2165 * @param {*=} opt_message
2166 * @param {*=} opt_file
2167 * @param {*=} opt_line
2168 * @return {!SyntaxError}
2170 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/SyntaxError
2172 function SyntaxError(opt_message, opt_file, opt_line) {}
2177 * @param {*=} opt_message
2178 * @param {*=} opt_file
2179 * @param {*=} opt_line
2180 * @return {!TypeError}
2182 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/TypeError
2184 function TypeError(opt_message, opt_file, opt_line) {}
2189 * @param {*=} opt_message
2190 * @param {*=} opt_file
2191 * @param {*=} opt_line
2192 * @return {!URIError}
2194 * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/URIError
2196 function URIError(opt_message, opt_file, opt_line) {}
2199 // JScript extensions.
2200 // @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx
2203 * @param {string} progId
2204 * @param {string=} opt_location
2206 * @see http://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx
2208 function ActiveXObject(progId, opt_location) {}
2213 * @see http://msdn.microsoft.com/en-us/library/9k34bww2(VS.80).aspx
2215 function ScriptEngine() {}
2220 * @see http://msdn.microsoft.com/en-us/library/yf25ky07(VS.80).aspx
2222 function ScriptEngineMajorVersion() {}
2227 * @see http://msdn.microsoft.com/en-us/library/wx3812cz(VS.80).aspx
2229 function ScriptEngineMinorVersion() {}
2234 * @see http://msdn.microsoft.com/en-us/library/e98hsk2f(VS.80).aspx
2236 function ScriptEngineBuildVersion() {}