mirror of https://github.com/tc39/test262.git
320 lines
16 KiB
XML
320 lines
16 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<esSpec name="ECMA-262" version="5">
|
|
<sec id="7" name="Lexical Conventions">
|
|
<sec id="7.0" name="Introduction"/>
|
|
<sec id="7.1" name="Unicode Format-Control Characters"/>
|
|
<sec id="7.2" name="White Space"/>
|
|
<sec id="7.3" name="Line Terminators"/>
|
|
<sec id="7.4" name="Comments"/>
|
|
<sec id="7.5" name="Tokens"/>
|
|
<sec id="7.6" name="Identifier Names and Identifiers">
|
|
<sec id="7.6.1" name="Reserved Words"/>
|
|
</sec>
|
|
<sec id="7.7" name="Punctuators"/>
|
|
<sec id="7.8" name="Literals">
|
|
<sec id="7.8.1" name="Null Literals"/>>
|
|
<sec id="7.8.2" name="Boolean Literals"/>
|
|
<sec id="7.8.3" name="Numeric Literals"/>
|
|
<sec id="7.8.4" name="String Literals"/>
|
|
<sec id="7.8.5" name="Regular Expression Literals"/>
|
|
</sec>
|
|
<sec id="7.9" name="Automatic Semicolon Insertion">
|
|
<sec id="7.9.1" name="Rules of Automatic Semicolon Insertion"/>
|
|
<sec id="7.9.2" name="Examples of Automatic Semicolon Insertion"/>
|
|
</sec>
|
|
</sec>
|
|
<sec id="8" name="Types">
|
|
<sec id="8.0" name="Introduction"/>
|
|
<sec id="8.1" name="The Undefined Type"/>
|
|
<sec id="8.2" name="The Null Type"/>
|
|
<sec id="8.3" name="The Boolean Type"/>
|
|
<sec id="8.4" name="The String Type"/>
|
|
<sec id="8.5" name="The Number Type"/>
|
|
<sec id="8.6" name="The Object Type">
|
|
<sec id="8.6.1" name="Property Attributes"/>
|
|
<sec id="8.6.2" name="Object Internal Properties and Methods"/>
|
|
</sec>
|
|
<sec id="8.7" name="The Reference Specification Type">
|
|
<sec id="8.7.1" name="GetValue (V)"/>
|
|
<sec id="8.7.2" name="PutValue (V, W)"/>
|
|
</sec>
|
|
<sec id="8.8" name="The List Specification Type"/>
|
|
<sec id="8.9" name="The Completion Specification Type"/>
|
|
<sec id="8.10" name="The Property Descriptor and Property Identifier Specification Types">
|
|
<sec id="8.10.1" name="IsAccessorDescriptor ( Desc )"/>
|
|
<sec id="8.10.2" name="IsDataDescriptor ( Desc )"/>
|
|
<sec id="8.10.3" name="IsGenericDescriptor ( Desc )"/>
|
|
<sec id="8.10.4" name="FromPropertyDescriptor ( Desc )"/>
|
|
<sec id="8.10.5" name="ToPropertyDescriptor ( Obj )"/>
|
|
</sec>
|
|
<sec id="8.11" name="The Lexical Environment and Environment Record Specification Types"/>
|
|
<sec id="8.12" name="Algorithms for Object Internal Methods">
|
|
<sec id="8.12.1" name="[[GetOwnProperty]] (P)"/>
|
|
<sec id="8.12.2" name="[[GetProperty]] (P)"/>
|
|
<sec id="8.12.3" name="[[Get]] (P)"/>
|
|
<sec id="8.12.4" name="[[CanPut]] (P)"/>
|
|
<sec id="8.12.5" name="[[Put]] ( P, V, Throw )"/>
|
|
<sec id="8.12.6" name="[[HasProperty]] (P)"/>
|
|
<sec id="8.12.7" name="[[Delete]] (P, Throw)"/>
|
|
<sec id="8.12.8" name="[[DefaultValue]] (hint)"/>
|
|
<sec id="8.12.9" name="[[DefineOwnProperty]] (P, Desc, Throw)"/>
|
|
</sec>
|
|
</sec>
|
|
<sec id="9" name="Type Conversion and Testing">
|
|
<sec id="9.0" name="Introduction"/>
|
|
<sec id="9.1" name="ToPrimitive"/>
|
|
<sec id="9.2" name="ToBoolean"/>
|
|
<sec id="9.3" name="ToNumber">
|
|
<sec id="9.3.1" name="ToNumber Applied to the String Type"/>
|
|
</sec>
|
|
<sec id="9.4" name="ToInteger"/>
|
|
<sec id="9.5" name="ToInt32: (Signed 32 Bit Integer)"/>
|
|
<sec id="9.6" name="ToUint32: (Unsigned 32 Bit Integer)"/>
|
|
<sec id="9.7" name="ToUint16: (Unsigned 16 Bit Integer)"/>
|
|
<sec id="9.8" name="ToString">
|
|
<sec id="9.8.1" name="ToString Applied to the Number Type"/>
|
|
</sec>
|
|
<sec id="9.9" name="ToObject"/>
|
|
<sec id="9.10" name="CheckObjectCoercible"/>
|
|
<sec id="9.11" name="IsCallable"/>
|
|
<sec id="9.12" name="The SameValue Algorithm"/>
|
|
</sec>
|
|
<sec id="10" name="Executable Code and Execution Contexts">
|
|
<sec id="10.0" name="Introduction"/>
|
|
<sec id="10.1" name="Types of Executable Code">
|
|
<sec id="10.1.1" name="Strict Mode Code"/>
|
|
</sec>
|
|
<sec id="10.2" name="Lexical Environments">
|
|
<sec id="10.2.1" name="Environment Records"/>
|
|
<sec id="10.2.2" name="Lexical Environment Operations"/>
|
|
<sec id="10.2.3" name="The Global Environment"/>
|
|
</sec>
|
|
<sec id="10.3" name="Execution Contexts">
|
|
<sec id="10.3.1" name="Identifier Resolution"/>
|
|
</sec>
|
|
<sec id="10.4" name="Establishing an Execution Context">
|
|
<sec id="10.4.1" name="Entering Global Code"/>
|
|
<sec id="10.4.2" name="Entering Eval Code"/>
|
|
<sec id="10.4.3" name="Entering Function Code"/>
|
|
</sec>
|
|
<sec id="10.5" name="Declaration Binding Instantiation"/>
|
|
<sec id="10.6" name="Arguments Object"/>
|
|
</sec>
|
|
<sec id="11" name="Expressions">
|
|
<sec id="11.0" name="Introduction"/>
|
|
<sec id="11.1" name="Primary Expressions">
|
|
<sec id="11.1.1" name="The this Keyword"/>
|
|
<sec id="11.1.2" name="Identifier Reference"/>
|
|
<sec id="11.1.3" name="Literal Reference"/>
|
|
<sec id="11.1.4" name="Array Initialiser"/>
|
|
<sec id="11.1.5" name="Object Initialiser"/>
|
|
<sec id="11.1.6" name="The Grouping Operator"/>
|
|
</sec>
|
|
<sec id="11.2" name="Left-Hand-Side Expressions">
|
|
<sec id="11.2.1" name="Property Accessors"/>
|
|
<sec id="11.2.2" name="The new Operator"/>
|
|
<sec id="11.2.3" name="Function Calls"/>
|
|
<sec id="11.2.4" name="Argument Lists"/>
|
|
<sec id="11.2.5" name="Function Expressions"/>
|
|
</sec>
|
|
<sec id="11.3" name="Postfix Expressions">
|
|
<sec id="11.3.1" name="Postfix Increment Operator"/>
|
|
<sec id="11.3.2" name="Postfix Decrement Operator"/>
|
|
</sec>
|
|
<sec id="11.4" name="Unary Operators">
|
|
<sec id="11.4.1" name="The delete Operator"/>
|
|
<sec id="11.4.2" name="The void Operator"/>
|
|
<sec id="11.4.3" name="The typeof Operator"/>
|
|
<sec id="11.4.4" name="Prefix Increment Operator"/>
|
|
<sec id="11.4.5" name="Prefix Decrement Operator"/>
|
|
<sec id="11.4.6" name="Unary + Operator"/>
|
|
<sec id="11.4.7" name="Unary - Operator"/>
|
|
<sec id="11.4.8" name="Bitwise NOT Operator ( ~ )"/>
|
|
<sec id="11.4.9" name="Logical NOT Operator ( ! )"/>
|
|
</sec>
|
|
<sec id="11.5" name="Multiplicative Operators">
|
|
<sec id="11.5.1" name="Applying the * Operator"/>
|
|
<sec id="11.5.2" name="Applying the / Operator"/>
|
|
<sec id="11.5.3" name="Applying the % Operator"/>
|
|
</sec>
|
|
<sec id="11.6" name="Additive Operators">
|
|
<sec id="11.6.1" name="The Addition operator ( + )"/>
|
|
<sec id="11.6.2" name="The Subtraction Operator ( - )"/>
|
|
<sec id="11.6.3" name="Applying the Additive Operators to Numbers"/>
|
|
</sec>
|
|
<sec id="11.7" name="Bitwise Shift Operators">
|
|
<sec id="11.7.1" name="The Left Shift Operator"/>
|
|
<sec id="11.7.2" name="The Signed Right Shift Operator ( >> )"/>
|
|
<sec id="11.7.3" name="The Unsigned Right Shift Operator ( >>> )"/>
|
|
</sec>
|
|
<sec id="11.8" name="Relational Operators">
|
|
<sec id="11.8.1" name="The Less-than Operator"/>
|
|
<sec id="11.8.2" name="The Greater-than Operator"/>
|
|
<sec id="11.8.3" name="The Less-than-or-equal Operator"/>
|
|
<sec id="11.8.4" name="The Greater-than-or-equal Operator"/>
|
|
<sec id="11.8.5" name="The Abstract Relational Comparison Algorithm"/>
|
|
<sec id="11.8.6" name="The instanceof operator"/>
|
|
<sec id="11.8.7" name="The in operator"/>
|
|
</sec>
|
|
<sec id="11.9" name="Equality Operators">
|
|
<sec id="11.9.1" name="The Equals Operator ( == )"/>
|
|
<sec id="11.9.2" name="The Does-not-equals Operator ( != )"/>
|
|
<sec id="11.9.3" name="The Abstract Equality Comparison Algorithm"/>
|
|
<sec id="11.9.4" name="The Strict Equals Operator ( === )"/>
|
|
<sec id="11.9.5" name="The Strict Does-not-equal Operator ( !== )"/>
|
|
<sec id="11.9.6" name="The Strict Equality Comparison Algorithm"/>
|
|
</sec>
|
|
<sec id="11.10" name="Binary Bitwise Operators"/>
|
|
<sec id="11.11" name="Binary Logical Operators"/>
|
|
<sec id="11.12" name="Conditional Operator ( ? : )"/>
|
|
<sec id="11.13" name="Assignment Operators">
|
|
<sec id="11.13.1" name="Simple Assignment ( = )"/>
|
|
<sec id="11.13.2" name="Compound Assignment ( op= )"/>
|
|
</sec>
|
|
<sec id="11.14" name="Comma Operator ( , )"/>
|
|
</sec>
|
|
<sec id="12" name="Statements">
|
|
<sec id="12.0" name="Introduction"/>
|
|
<sec id="12.1" name="Block"/>
|
|
<sec id="12.2" name="Variable Statement">
|
|
<sec id="12.2.1" name="Strict Mode Restrictions"/>
|
|
</sec>
|
|
<sec id="12.3" name="Empty Statement"/>
|
|
<sec id="12.4" name="Expression Statement"/>
|
|
<sec id="12.5" name="The if Statement"/>
|
|
<sec id="12.6" name="Iteration Statements">
|
|
<sec id="12.6.1" name="The do-while Statement"/>
|
|
<sec id="12.6.2" name="The while Statement"/>
|
|
<sec id="12.6.3" name="The for Statement"/>
|
|
<sec id="12.6.4" name="The for-in Statement"/>
|
|
</sec>
|
|
<sec id="12.7" name="The continue Statement"/>
|
|
<sec id="12.8" name="The break Statement"/>
|
|
<sec id="12.9" name="The return Statement"/>
|
|
<sec id="12.10" name="The with Statement">
|
|
<sec id="12.10.1" name="Strict Mode Restrictions"/>
|
|
</sec>
|
|
<sec id="12.11" name="The switch Statement"/>
|
|
<sec id="12.12" name="Labelled Statements"/>
|
|
<sec id="12.13" name="The throw Statement"/>
|
|
<sec id="12.14" name="The try Statement">
|
|
<sec id="12.14.1" name="Strict Mode Restrictions">
|
|
</sec>
|
|
<sec id="12.15" name="The debugger statement"/>
|
|
</sec>
|
|
</sec>
|
|
<sec id="13" name="Function Definition">
|
|
<sec id="13.0" name="Introduction"/>
|
|
<sec id="13.1" name="Strict Mode Restrictions"/>
|
|
<sec id="13.2" name="Creating Function Objects">
|
|
<sec id="13.2.1" name="[[Call]]"/>
|
|
<sec id="13.2.2" name="[[Construct]]"/>
|
|
<sec id="13.2.3" name="The [[ThrowTypeError]] Function Object"/>
|
|
</sec>
|
|
</sec>
|
|
<sec id="14" name="Program">
|
|
<sec id="14.0" name="Introduction"/>
|
|
<sec id="14.1" name="Directive Prologues and the Use Strict Directive"/>
|
|
</sec>
|
|
<sec id="15" name="Standard Built-in ECMAScript Objects">
|
|
<sec id="15.0" name="Introduction"/>
|
|
<sec id="15.1" name="The Global Object">
|
|
<sec id="15.1.1" name="Value Properties of the Global Object"/>
|
|
<sec id="15.1.2" name="Function Properties of the Global Object"/>
|
|
<sec id="15.1.3" name="URI Handling Function Properties"/>
|
|
<sec id="15.1.4" name="Constructor Properties of the Global Object"/>
|
|
<sec id="15.1.5" name="Other Properties of the Global Object"/>
|
|
</sec>
|
|
<sec id="15.2" name="Object Objects">
|
|
<sec id="15.2.1" name="The Object Constructor Called as a Function"/>
|
|
<sec id="15.2.2" name="The Object Constructor"/>
|
|
<sec id="15.2.3" name="Properties of the Object Constructor"/>
|
|
<sec id="15.2.4" name="Properties of the Object Prototype Object"/>
|
|
<sec id="15.2.5" name="Properties of Object Instances"/>
|
|
</sec>
|
|
<sec id="15.3" name="Function Objects">
|
|
<sec id="15.3.1" name="The Function Constructor Called as a Function"/>
|
|
<sec id="15.3.2" name="The Function Constructor"/>
|
|
<sec id="15.3.3" name="Properties of the Function Constructor"/>
|
|
<sec id="15.3.4" name="Properties of the Function Prototype Object"/>
|
|
<sec id="15.3.5" name="Properties of Function Instances"/>
|
|
</sec>
|
|
<sec id="15.4" name="Array Objects">
|
|
<sec id="15.4.1" name="The Array Constructor Called as a Function"/>
|
|
<sec id="15.4.2" name="The Array Constructor"/>
|
|
<sec id="15.4.3" name="Properties of the Array Constructor"/>
|
|
<sec id="15.4.4" name="Properties of the Array Prototype Object"/>
|
|
<sec id="15.4.5" name="Properties of Array Instances"/>
|
|
</sec>
|
|
<sec id="15.5" name="String Objects">
|
|
<sec id="15.5.1" name="The String Constructor Called as a Function"/>
|
|
<sec id="15.5.2" name="The String Constructor"/>
|
|
<sec id="15.5.3" name="Properties of the String Constructor"/>
|
|
<sec id="15.5.4" name="Properties of the String Prototype Object"/>
|
|
<sec id="15.5.5" name="Properties of String Instances"/>
|
|
</sec>
|
|
<sec id="15.6" name="Boolean Objects">
|
|
<sec id="15.6.1" name="The Boolean Constructor Called as a Function"/>
|
|
<sec id="15.6.2" name="The Boolean Constructor"/>
|
|
<sec id="15.6.3" name="Properties of the Boolean Constructor"/>
|
|
<sec id="15.6.4" name="Properties of the Boolean Prototype Object"/>
|
|
<sec id="15.6.5" name="Properties of Boolean Instances"/>
|
|
</sec>
|
|
<sec id="15.7" name="Number Objects">
|
|
<sec id="15.7.1" name="The Number Constructor Called as a Function"/>
|
|
<sec id="15.7.2" name="The Number Constructor"/>
|
|
<sec id="15.7.3" name="Properties of the Number Constructor"/>
|
|
<sec id="15.7.4" name="Properties of the Number Prototype Object"/>
|
|
<sec id="15.7.5" name="Properties of Number Instances"/>
|
|
</sec>
|
|
<sec id="15.8" name="The Math Object">
|
|
<sec id="15.8.1" name="Value Properties of the Math Object"/>
|
|
<sec id="15.8.2" name="Function Properties of the Math Object"/>
|
|
</sec>
|
|
<sec id="15.9" name="Date Objects">
|
|
<sec id="15.9.1" name="Overview of Date Objects and Definitions of Abstract Operators"/>
|
|
<sec id="15.9.2" name="The Date Constructor Called as a Function"/>
|
|
<sec id="15.9.3" name="The Date Constructor"/>
|
|
<sec id="15.9.4" name="Properties of the Date Constructor"/>
|
|
<sec id="15.9.5" name="Properties of the Date Prototype Object"/>
|
|
<sec id="15.9.6" name="Properties of Date Instances"/>
|
|
</sec>
|
|
<sec id="15.10" name="RegExp (Regular Expression) Objects">
|
|
<sec id="15.10.1" name="Patterns"/>
|
|
<sec id="15.10.2" name="Pattern Semantics"/>
|
|
<sec id="15.10.3" name="The RegExp Constructor Called as a Function"/>
|
|
<sec id="15.10.4" name="The RegExp Constructor"/>
|
|
<sec id="15.10.5" name="Properties of the RegExp Constructor"/>
|
|
<sec id="15.10.6" name="Properties of the RegExp Prototype Object"/>
|
|
<sec id="15.10.7" name="Properties of RegExp Instances"/>
|
|
</sec>
|
|
<sec id="15.11" name="Error Objects">
|
|
<sec id="15.11.1" name="The Error Constructor Called as a Function"/>
|
|
<sec id="15.11.2" name="The Error Constructor"/>
|
|
<sec id="15.11.3" name="Properties of the Error Constructor"/>
|
|
<sec id="15.11.4" name="Properties of the Error Prototype Object"/>
|
|
<sec id="15.11.5" name="Properties of Error Instances"/>
|
|
<sec id="15.11.6" name="Native Error Types Used in This Standard"/>
|
|
<sec id="15.11.7" name="NativeError Object Structure"/>
|
|
</sec>
|
|
<sec id="15.12" name="The JSON Object">
|
|
<sec id="15.12.1" name="The JSON Grammar"/>
|
|
<sec id="15.12.2" name="parse ( text [ , reviver ] )"/>
|
|
<sec id="15.12.3" name="stringify ( value [ , replacer [ , space ] ] )"/>
|
|
</sec>
|
|
</sec>
|
|
<sec id="B" name="Annex B (informative) Compatibility">
|
|
<sec id="B.1" name="Additional Syntax">
|
|
<sec id="B.1.1" name="Numeric Literals"/>
|
|
<sec id="B.1.2" name="String Literals"/>
|
|
</sec>
|
|
<sec id="B.2" name="Additional Properties">
|
|
<sec id="B.2.1" name="escape"/>
|
|
<sec id="B.2.2" name="unescape"/>
|
|
<sec id="B.2.3" name="String.prototype.substr"/>
|
|
<sec id="B.2.4" name="Date.prototype.getYear"/>
|
|
<sec id="B.2.5" name="Date.prototype.setYear"/>
|
|
<sec id="B.2.6" name="Date.prototype.toGMTString"/>
|
|
</sec>
|
|
</sec>
|
|
</esSpec> |