Changeset 70

Show
Ignore:
Timestamp:
07/04/07 08:37:24 (1 year ago)
Author:
dan.lewis
Message:

Comment modifications to enhance DDoc output for Global and Object methods.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.9/documentation/methods.html

    r69 r70  
    2020<dl><dt><big>static Value  <u>Global_init</u>(); 
    2121</big></dt> 
    22 <dd>Global 
     22<dd><b>Standards:</b><br> 
     23non-standard, but acceptable in a conformant implementation of ECMA 262 
     24<br><br> 
     25<b>Arguments:</b><br> 
     26none 
     27<br><br> 
     28<b>Returns:</b><br> 
     29manipulates the static Global object before evaluating code, as necessary by the implementation. 
     30<br><br> 
     31<b>Synopsis:</b><br> 
     32Can be used to call any initialization code that needs to be executed before the source code is evaluated. 
     33    By default, Walnut provides most of the initial program structure in the structure.d file which doesn't require initialization code. 
     34    See Also: Global_eval 
     35<br><br> 
     36 
     37</dd> 
     38<dt><big>static Value  <u>Global_eval</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     39</big></dt> 
     40<dd><font color=red>BUGS:</font><br> 
     41incomplete! 
     42<br><br> 
     43<b>Standards:</b><br> 
     44ECMA 15.1.2.1 
     45<br><br> 
     46<b>Arguments:</b><br> 
     47[0] = string to be evaluated 
     48<br><br> 
     49<b>Throws:</b><br> 
     50EvalError 
     51<br><br> 
     52<b>Returns:</b><br> 
     53Value result of evaluated expression. 
     54<br><br> 
     55<b>Synopsis:</b><br> 
     56<u>Global_eval</u> is called to evaluate a buffer of source code.  The method is used even to evaluate file contents; the main script. 
     57<br><br> 
     58 
     59</dd> 
     60<dt><big>static Value  <u>Global_parseInt</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     61</big></dt> 
     62<dd><font color=red>BUGS:</font><br> 
     63Does not yet allow a non-decimal radix, or E notation. 
     64<br><br> 
     65<b>Standards:</b><br> 
     66ECMA 15.1.2.2 
     67<br><br> 
     68<b>Arguments:</b><br> 
     69[0] = string to be parsed 
     70<br><br> 
     71<b>Returns:</b><br> 
     72integer Value or NaN if the value is not a valid integer. 
     73<br><br> 
     74<b>Synopsis:</b><br> 
     75<u>Global_parseInt</u> is called to cast a string into an integer. 
     76<br><br> 
     77 
     78</dd> 
     79<dt><big>static Value  <u>Global_parseFloat</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     80</big></dt> 
     81<dd><font color=red>BUGS:</font><br> 
     82Does not yet allow a non-decimal radix, or E notation. 
     83<br><br> 
     84<b>Standards:</b><br> 
     85ECMA 15.1.2.3 
     86<br><br> 
     87<b>Arguments:</b><br> 
     88[0] = string to be parsed 
     89<br><br> 
     90<b>Returns:</b><br> 
     91double Value or NaN if the value is not a valid integer. 
     92<br><br> 
     93<b>Synopsis:</b><br> 
     94<u>Global_parseFloat</u> is called to cast a string into a double. 
     95<br><br> 
     96 
     97</dd> 
     98<dt><big>static Value  <u>Global_escape</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     99</big></dt> 
     100<dd><font color=red>BUGS:</font><br> 
     101Incomplete! 
     102<br><br> 
     103<b>Standards:</b><br> 
     104non-standard. 
     105<br><br> 
     106<b>Arguments:</b><br> 
     107[0] = string to be escaped 
     108<br><br> 
     109<b>Returns:</b><br> 
     110string with any characters needing an escape sequence converted to their escaped equivalent. 
     111<br><br> 
     112<b>Synopsis:</b><br> 
     113<br><br> 
     114 
     115</dd> 
     116<dt><big>static Value  <u>Global_unescape</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     117</big></dt> 
     118<dd><font color=red>BUGS:</font><br> 
     119Incomplete! 
     120<br><br> 
     121<b>Standards:</b><br> 
     122non-standard. 
     123<br><br> 
     124<b>Arguments:</b><br> 
     125[0] = string to be escaped 
     126<br><br> 
     127<b>Returns:</b><br> 
     128string with any escaped characters converted to the unescaped equivalent. 
     129<br><br> 
     130<b>Synopsis:</b><br> 
     131<br><br> 
     132 
     133</dd> 
     134<dt><big>static Value  <u>Global_isNaN</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     135</big></dt> 
     136<dd><b>Standards:</b><br> 
     137ECMA 15.1.2.4 
     138<br><br> 
     139<b>Arguments:</b><br> 
     140[0] = Value to be tested 
     141<br><br> 
     142<b>Returns:</b><br> 
     143boolean for whether or not the Value is a valid number that is not NaN. 
     144<br><br> 
     145<b>Synopsis:</b><br> 
     146<br><br> 
     147 
     148</dd> 
     149<dt><big>static Value  <u>Global_isFinite</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     150</big></dt> 
     151<dd><b>Standards:</b><br> 
     152ECMA 15.1.2.5 
     153<br><br> 
     154<b>Arguments:</b><br> 
     155[0] = Value to be tested 
     156<br><br> 
     157<b>Returns:</b><br> 
     158boolean for whether or not the Value is a finite number. 
     159<br><br> 
     160<b>Synopsis:</b><br> 
     161<br><br> 
     162 
     163</dd> 
     164<dt><big>static Value  <u>Global_decodeURI</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     165</big></dt> 
     166<dd><b>Standards:</b><br> 
     167ECMA 15.1.3.1 
     168<br><br> 
     169<b>Arguments:</b><br> 
     170[0] = URI string to be decoded 
     171<br><br> 
     172<b>Returns:</b><br> 
     173<br><br> 
     174<b>Synopsis:</b><br> 
     175<br><br> 
     176 
     177</dd> 
     178<dt><big>static Value  <u>Global_decodeURIComponent</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     179</big></dt> 
     180<dd><b>Standards:</b><br> 
     181ECMA 15.1.3.2 
     182<br><br> 
     183<b>Arguments:</b><br> 
     184[0] = URI component string to be decoded 
     185<br><br> 
     186<b>Returns:</b><br> 
     187<br><br> 
     188<b>Synopsis:</b><br> 
     189<br><br> 
     190 
     191</dd> 
     192<dt><big>static Value  <u>Global_encodeURI</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     193</big></dt> 
     194<dd><b>Standards:</b><br> 
     195ECMA 15.1.3.3 
     196<br><br> 
     197<b>Arguments:</b><br> 
     198[0] = URI string to be encoded. 
     199<br><br> 
     200<b>Returns:</b><br> 
     201<br><br> 
     202<b>Synopsis:</b><br> 
     203<br><br> 
     204 
     205</dd> 
     206<dt><big>static Value  <u>Global_encodeURIComponent</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     207</big></dt> 
     208<dd><b>Standards:</b><br> 
     209ECMA 15.1.3.4 
     210<br><br> 
     211<b>Arguments:</b><br> 
     212[0] = URI component string to be encoded 
     213<br><br> 
     214<b>Returns:</b><br> 
     215<br><br> 
     216<b>Synopsis:</b><br> 
    23217<br><br> 
    24218 
     
    26220<dt><big>static Value  <u>Global_Object</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
    27221</big></dt> 
    28 <dd>Object 
     222<dd><b>Standards:</b><br> 
     223ECMA 15.2.1 
     224<br><br> 
     225<b>Arguments:</b><br> 
     226any Value 
     227<br><br> 
     228<b>Returns:</b><br> 
     229The Object form of any Value, or a new Object when called without <i>arguments</i>. 
     230<br><br> 
     231<b>Synopsis:</b><br> 
     232<br><br> 
     233 
     234</dd> 
     235<dt><big>static Value  <u>Object_prototype_constructor</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     236</big></dt> 
     237<dd><b>Standards:</b><br> 
     238ECMA 15.2.2 
     239<br><br> 
     240<b>Arguments:</b><br> 
     241any Value 
     242<br><br> 
     243<b>Returns:</b><br> 
     244The Object form of any Value, or a new Object when called without <i>arguments</i>. 
     245<br><br> 
     246<b>Synopsis:</b><br> 
     247Is perfectly equivalent to "new Object()" 
     248<br><br> 
     249 
     250</dd> 
     251<dt><big>static Value  <u>Object_prototype_toString</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     252</big></dt> 
     253<dd>Standards ECMA 15.2.4.2, 15.2.4.3 
     254<br><br> 
     255<b>Arguments:</b><br> 
     256any Value 
     257<br><br> 
     258<b>Returns:</b><br> 
     259The string form of that Value 
     260<br><br> 
     261<b>Synopsis:</b><br> 
     262According to 15.2.4.3, calls to Object_prototype_toLocaleString() are to be directed to 
     263    <u>Object_prototype_toString</u>(), and the duplication kept for completeness so that toLocaleString() can be called 
     264    on all types. 
     265<br><br> 
     266 
     267</dd> 
     268<dt><big>static Value  <u>Object_prototype_toSource</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     269</big></dt> 
     270<dd>Standards non-standard 
     271<br><br> 
     272<b>Arguments:</b><br> 
     273none 
     274<br><br> 
     275<b>Returns:</b><br> 
     276Source code which, when eval'd will result in the creation of the equivalent Object 
     277<br><br> 
     278<b>Synopsis:</b><br> 
     279<br><br> 
     280 
     281</dd> 
     282<dt><big>static Value  <u>Object_prototype_valueOf</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     283</big></dt> 
     284<dd>Standards ECMA 15.2.4.4 
     285<br><br> 
     286<b>Arguments:</b><br> 
     287none 
     288<br><br> 
     289<b>Returns:</b><br> 
     290The primitive value of the Object.  For non-primitive Objects, this will return the argument itself. 
     291<br><br> 
     292<b>Synopsis:</b><br> 
     293<br><br> 
     294 
     295</dd> 
     296<dt><big>static Value  <u>Object_prototype_hasOwnProperty</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     297</big></dt> 
     298<dd>Standards ECMA 15.2.4.5 
     299<br><br> 
     300<b>Arguments:</b><br> 
     301[0] = String containing the property name to be found 
     302<br><br> 
     303<b>Returns:</b><br> 
     304boolean of whether this contains the property. 
     305<br><br> 
     306<b>Synopsis:</b><br> 
     307<br><br> 
     308 
     309</dd> 
     310<dt><big>static Value  <u>Object_prototype_isPrototypeOf</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     311</big></dt> 
     312<dd>Standards ECMA 15.2.4.6 
     313<br><br> 
     314<b>Arguments:</b><br> 
     315[0] = any Object 
     316<br><br> 
     317<b>Returns:</b><br> 
     318boolean of whether [0] is in this Object's prototype chain. 
     319<br><br> 
     320<b>Synopsis:</b><br> 
     321<br><br> 
     322 
     323</dd> 
     324<dt><big>static Value  <u>Object_prototype_propertyIsEnumerable</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
     325</big></dt> 
     326<dd>Standards ECMA 15.2.4.7 
     327<br><br> 
     328<b>Arguments:</b><br> 
     329[0] = String containing the property name to be examined 
     330<br><br> 
     331<b>Returns:</b><br> 
     332boolean of whether [0] is enumerable on this Object 
     333<br><br> 
     334<b>Synopsis:</b><br> 
    29335<br><br> 
    30336 
     
    32338<dt><big>static Value  <u>Global_Function</u>(inout Value <i>self</i>, inout Value <i>cc</i>, Value [] <i>arguments</i>...); 
    33339</big></dt> 
    34 <dd>ECMA 15.2.4.3: Object_prototype_toLocaleString() = Object_prototype_toString() 
    35 <br><br> 
    36 Function 
     340<dd>Function 
    37341<br><br> 
    38342 
  • branches/1.9/source/methods.d

    r67 r70  
    2020 
    2121 
    22 ///     Global 
     22/** 
     23    Standards: non-standard, but acceptable in a conformant implementation of ECMA 262 
     24    Arguments: none 
     25    Returns: manipulates the static Global object before evaluating code, as necessary by the implementation. 
     26    Synopsis: Can be used to call any initialization code that needs to be executed before the source code is evaluated. 
     27    By default, Walnut provides most of the initial program structure in the structure.d file which doesn't require initialization code. 
     28    See Also: Global_eval 
     29*/ 
    2330static Value Global_init(){ 
    24     /** 
    25         The Global_init() can be used to call any initialization 
    26         code that needs to be executed before the source code is 
    27         evaluated. 
    28      
    29         By default, Walnut provides most of the initial program 
    30         structure in the structure.d file which doesn't require 
    31         initialization code. 
    32     */ 
    3331    return Global; 
    3432} 
     33 
     34/** 
     35    Bugs: incomplete! 
     36    Standards: ECMA 15.1.2.1 
     37    Arguments: [0] = string to be evaluated 
     38    Throws: EvalError 
     39    Returns: Value result of evaluated expression. 
     40    Synopsis: Global_eval is called to evaluate a buffer of source code.  The method is used even to evaluate file contents; the main script. 
     41*/ 
    3542static Value Global_eval(inout Value self, inout Value cc, Value[] arguments ...) { 
    36     /** ECMA 15.1.2.1 
    37         Global_eval is called to evaluate a buffer of source code. 
    38         The method is used even to evaluate file contents; the main script. 
    39      
    40         See Also: Global_init 
    41     */ 
    42     return UNDEFINED; 
    43 
     43 
     44    return UNDEFINED; 
     45
     46 
     47/** 
     48    Bugs: Does not yet allow a non-decimal radix, or E notation. 
     49    Standards: ECMA 15.1.2.2 
     50    Arguments: [0] = string to be parsed 
     51    Returns: integer Value or NaN if the value is not a valid integer. 
     52    Synopsis: Global_parseInt is called to cast a string into an integer. 
     53*/ 
    4454static Value Global_parseInt(inout Value self, inout Value cc, Value[] arguments ...) { 
    45     /// ECMA 15.1.2.2 
    46     // BUG: this currently assumes a decimal value 
    4755    if(arguments.length) { 
    4856        return cast(Value) arguments[0].toInteger(); 
     
    5058    return NAN; 
    5159} 
     60 
     61/** 
     62    Bugs: Does not yet allow a non-decimal radix, or E notation. 
     63    Standards: ECMA 15.1.2.3 
     64    Arguments: [0] = string to be parsed 
     65    Returns: double Value or NaN if the value is not a valid integer. 
     66    Synopsis: Global_parseFloat is called to cast a string into a double. 
     67*/ 
    5268static Value Global_parseFloat(inout Value self, inout Value cc, Value[] arguments ...) { 
    53     /// ECMA 15.1.2.3 
    54     // BUG: this currently assumes a decimal value 
    5569    if(arguments.length) { 
    5670        return cast(Value) arguments[0].toDouble(); 
     
    5872    return NAN; 
    5973} 
     74 
     75/** 
     76    Bugs: Incomplete! 
     77    Standards: non-standard. 
     78    Arguments: [0] = string to be escaped 
     79    Returns: string with any characters needing an escape sequence converted to their escaped equivalent. 
     80    Synopsis:  
     81*/ 
    6082static Value Global_escape(inout Value self, inout Value cc, Value[] arguments ...) { 
    61     /// not defined in ECMA, but allowed in conformant implementations. 
    62     return UNDEFINED; 
    63 
     83    return UNDEFINED; 
     84
     85 
     86/** 
     87    Bugs: Incomplete! 
     88    Standards: non-standard. 
     89    Arguments: [0] = string to be escaped 
     90    Returns: string with any escaped characters converted to the unescaped equivalent. 
     91    Synopsis:  
     92*/ 
    6493static Value Global_unescape(inout Value self, inout Value cc, Value[] arguments ...) { 
    65     /// not defined in ECMA, but allowed in conformant implementations. 
    66     return UNDEFINED; 
    67 
     94    return UNDEFINED; 
     95
     96 
     97/** 
     98    Standards: ECMA 15.1.2.4 
     99    Arguments: [0] = Value to be tested 
     100    Returns: boolean for whether or not the Value is a valid number that is not NaN. 
     101    Synopsis:  
     102*/ 
    68103static Value Global_isNaN(inout Value self, inout Value cc, Value[] arguments ...) { 
    69     /// ECMA 15.1.2.4 
    70     return cast(Value) (arguments.length && arguments[0].toDouble != double.nan? true : false); 
    71 
     104    return cast(Value) (arguments.length && arguments[0].toDouble() != double.nan? true : false); 
     105
     106 
     107/** 
     108    Standards: ECMA 15.1.2.5 
     109    Arguments: [0] = Value to be tested 
     110    Returns: boolean for whether or not the Value is a finite number. 
     111    Synopsis:  
     112*/ 
    72113static Value Global_isFinite(inout Value self, inout Value cc, Value[] arguments ...) { 
    73     /// ECMA 15.1.2.5 
    74114    return cast(Value) (arguments.length && isfinite(arguments[0].toDouble)? true : false ); 
    75115} 
     116 
     117/** 
     118    Standards: ECMA 15.1.3.1 
     119    Arguments: [0] = URI string to be decoded 
     120    Returns: 
     121    Synopsis:  
     122*/ 
    76123static Value Global_decodeURI(inout Value self, inout Value cc, Value[] arguments ...) { 
    77     /// ECMA 15.1.3.1 
    78124    scope(failure) return UNDEFINED; 
    79125    return cast(Value) decode(arguments[0].toString()); 
    80126} 
     127 
     128/** 
     129    Standards: ECMA 15.1.3.2 
     130    Arguments: [0] = URI component string to be decoded 
     131    Returns: 
     132    Synopsis:  
     133*/ 
    81134static Value Global_decodeURIComponent(inout Value self, inout Value cc, Value[] arguments ...) { 
    82     /// ECMA 15.1.3.2 
    83135    scope(failure) return UNDEFINED; 
    84136    return cast(Value) decodeComponent(arguments[0].toString()); 
    85137} 
     138 
     139/** 
     140    Standards: ECMA 15.1.3.3 
     141    Arguments: [0] = URI string to be encoded. 
     142    Returns: 
     143    Synopsis:  
     144*/ 
    86145static Value Global_encodeURI(inout Value self, inout Value cc, Value[] arguments ...) { 
    87     /// ECMA 15.1.3.3 
    88146    scope(failure) return UNDEFINED; 
    89147    return cast(Value) encode(arguments[0].toString()); 
    90148} 
     149 
     150/** 
     151    Standards: ECMA 15.1.3.4 
     152    Arguments: [0] = URI component string to be encoded 
     153    Returns: 
     154    Synopsis:  
     155*/ 
    91156static Value Global_encodeURIComponent(inout Value self, inout Value cc, Value[] arguments ...) { 
    92     /// ECMA 15.1.3.4 
    93157    scope(failure) return UNDEFINED; 
    94158    return cast(Value) encodeComponent(arguments[0].toString()); 
    95159} 
    96160 
    97  
    98  
    99 ///     Object 
     161/** 
     162    Standards: ECMA 15.2.1 
     163    Arguments: any Value 
     164    Returns: The Object form of any Value, or a new Object when called without arguments. 
     165    Synopsis:  
     166*/ 
    100167static Value Global_Object(inout Value self, inout Value cc, Value[] arguments ...) { 
    101     /// ECMA 15.2.1.1 
    102168    Value v; 
    103169    return v; 
    104170} 
     171 
     172/** 
     173    Standards: ECMA 15.2.2 
     174    Arguments: any Value 
     175    Returns: The Object form of any Value, or a new Object when called without arguments. 
     176    Synopsis: Is perfectly equivalent to "new Object()" 
     177*/ 
    105178static Value Object_prototype_constructor(inout Value self, inout Value cc, Value[] arguments ...) { 
    106     /// ECMA 15.2.2 
    107179    Value v; 
    108180    return v; 
    109181} 
     182 
     183/** 
     184    Standards ECMA 15.2.4.2, 15.2.4.3 
     185    Arguments: any Value 
     186    Returns: The string form of that Value 
     187    Synopsis: According to 15.2.4.3, calls to Object_prototype_toLocaleString() are to be directed to 
     188    Object_prototype_toString(), and the duplication kept for completeness so that toLocaleString() can be called 
     189    on all types. 
     190*/ 
    110191static Value Object_prototype_toString(inout Value self, inout Value cc, Value[] arguments ...) { 
    111         /// ECMA 15.2.4.2 
    112192    return cast(Value) self.toString(); 
    113193} 
     194 
     195/** 
     196    Standards non-standard 
     197    Arguments: none 
     198    Returns: Source code which, when eval'd will result in the creation of the equivalent Object 
     199    Synopsis: 
     200*/ 
    114201static Value Object_prototype_toSource(inout Value self, inout Value cc, Value[] arguments ...) { 
    115     /// not specified in ECMA 3rd Edition, but allowed in conformant implementations 
    116202    char[] buffer = "{"; 
    117203    bool any = false; 
     
    127213    return cast(Value) buffer; 
    128214} 
     215 
     216/** 
     217    Standards ECMA 15.2.4.4 
     218    Arguments: none 
     219    Returns: The primitive value of the Object.  For non-primitive Objects, this will return the argument itself. 
     220    Synopsis: 
     221*/ 
    129222static Value Object_prototype_valueOf(inout Value self, inout Value cc, Value[] arguments ...) { 
    130     /// ECMA 15.2.4.4 
    131     return self; 
    132 
     223    return self; 
     224
     225 
     226/** 
     227    Standards ECMA 15.2.4.5 
     228    Arguments: [0] = String containing the property name to be found 
     229    Returns: boolean of whether this contains the property. 
     230    Synopsis: 
     231*/ 
    133232static Value Object_prototype_hasOwnProperty(inout Value self, inout Value cc, Value[] arguments ...) { 
    134     /// ECMA 15.2.4.5 
    135233    if(!arguments.length) 
    136234        return FALSE; 
    137235    return cast(Value) (arguments[0].toString() in self); 
    138236} 
     237 
     238/** 
     239    Standards ECMA 15.2.4.6 
     240    Arguments: [0] = any Object 
     241    Returns: boolean of whether [0] is in this Object's prototype chain. 
     242    Synopsis: 
     243*/ 
    139244static Value Object_prototype_isPrototypeOf(inout Value self, inout Value cc, Value[] arguments ...) { 
    140     /// ECMA 15.2.4.6 
    141245    if(self.type == TYPE.OBJECT && arguments.length) { 
    142246        Value current = arguments[0]; 
     
    149253    return FALSE; 
    150254} 
     255 
     256/** 
     257    Standards ECMA 15.2.4.7 
     258    Arguments: [0] = String containing the property name to be examined 
     259    Returns: boolean of whether [0] is enumerable on this Object 
     260    Synopsis: 
     261*/ 
    151262static Value Object_prototype_propertyIsEnumerable(inout Value self, inout Value cc, Value[] arguments ...) { 
    152     /// ECMA 15.2.4.7 
    153263    if(!arguments.length) 
    154264        return FALSE; 
    155265    return cast(Value) (self[arguments[0].toString()].access & ACCESS.ENUMERATE); 
    156266} 
    157 ///     ECMA 15.2.4.3: Object_prototype_toLocaleString() = Object_prototype_toString() 
    158267 
    159268 
     
    164273    return Function_prototype_constructor(self,cc,arguments); 
    165274} 
     275 
    166276static Value Function_prototype_constructor(inout Value self, inout Value cc, Value[] arguments ...) { 
    167277    /// ECMA 15.3.2.1 
    168278    return UNDEFINED; 
    169279} 
     280 
    170281static Value Function_prototype_apply(inout Value self, inout Value cc, Value[] arguments ...) { 
    171282    /// ECMA 15.3.4.3 
    172283    return UNDEFINED; 
    173284} 
     285 
    174286static Value Function_prototype_call(inout Value self, inout Value cc, Value[] arguments ...) { 
    175287    /// ECMA 15.3.4.4 
     
    184296    return Array_prototype_constructor(self,cc,arguments); 
    185297} 
     298 
    186299static Value Array_prototype_constructor(inout Value self, inout Value cc, Value[] arguments ...) { 
    187300    /// ECMA 15.4.2 
    188301    return UNDEFINED; 
    189302} 
     303 
    190304static Value Array_prototype_toLocaleString(inout Value self, inout Value cc, Value[] arguments ...) { 
    191305    /// ECMA 15.4.4.3 
    192306    return UNDEFINED; 
    193307} 
     308 
    194309static Value Array_prototype_toSource(inout Value self, inout Value cc, Value[] arguments ...) { 
    195310    /// not specified in ECMA 262 3rd Edition, but valid in a conformant implementation 
    196311    return UNDEFINED; 
    197312} 
     313 
    198314static Value Array_prototype_concat(inout Value self, inout Value cc, Value[] arguments ...) { 
    199315    /// ECMA 15.4.4.4 
    200316    return UNDEFINED; 
    201317} 
     318 
    202319static Value Array_prototype_join(inout Value self, inout Value cc, Value[] arguments ...) { 
    203320    /// ECMA 15.4.4.3 
    204321    return UNDEFINED; 
    205322} 
     323 
    206324static Value Array_prototype_pop(inout Value self, inout Value cc, Value[] arguments ...) { 
    207325    /// ECMA 15.4.4.6 
    208326    return UNDEFINED; 
    209327} 
     328 
    210329static Value Array_prototype_push(inout Value self, inout Value cc, Value[] arguments ...) { 
    211330    /// ECMA 15.4.4.7 
    212331    return UNDEFINED; 
    213332} 
     333 
    214334static Value Array_prototype_reverse(inout Value self, inout Value cc, Value[] arguments ...) { 
    215335    /// ECMA 15.4.4.8 
    216336    return UNDEFINED; 
    217337} 
     338 
    218339static Value Array_prototype_shift(inout Value self, inout Value cc, Value[] arguments ...) { 
    219340    /// ECMA 15.4.4.9 
    220341    return UNDEFINED; 
    221342} 
     343 
    222344static Value Array_prototype_slice(inout Value self, inout Value cc, Value[] arguments ...) { 
    223345    /// ECMA 15.4.4.10 
    224346    return UNDEFINED; 
    225347} 
     348 
    226349static Value Array_prototype_sort(inout Value self, inout Value cc, Value[] arguments ...) { 
    227350    /// ECMA 15.4.4.11 
    228351    return UNDEFINED; 
    229352} 
     353 
    230354static Value Array_prototype_splice(inout Value self, inout Value cc, Value[] arguments ...) { 
    231355    /// ECMA 15.4.4.12 
    232356    return UNDEFINED; 
    233357} 
     358 
    234359static Value Array_prototype_unshift(inout Value self, inout Value cc, Value[] arguments ...) { 
    235360    /// ECMA 15.4.4.13 
    236361    return UNDEFINED; 
    237362} 
    238  
    239  
    240363 
    241364///     String 
     
    244367    return UNDEFINED; 
    245368} 
     369 
    246370static Value String_prototype_constructor(inout Value self, inout Value cc, Value[] arguments ...) { 
    247371    /// ECMA 15.5.2.1 
    248372    return UNDEFINED; 
    249373} 
     374 
    250375static Value String_fromCharCode(inout Value self, inout Value cc, Value[] arguments ...) { 
    251376    /// ECMA 15.5.3.2 
    252377    return UNDEFINED; 
    253378} 
     379 
    254380static Value String_prototype_charAt(inout Value self, inout Value cc, Value[] arguments ...) { 
    255381    /// ECMA 15.5.4.4 
    256382    return UNDEFINED; 
    257383} 
     384 
    258385static Value String_prototype_charCodeAt(inout Value self, inout Value cc, Value[] arguments ...) { 
    259386    /// ECMA 15.5.4.5 
    260387    return UNDEFINED; 
    261388} 
     389 
    262390static Value String_prototype_concat(inout Value self, inout Value cc, Value[] arguments ...) { 
    263391    /// ECMA 15.5.4.6 
    264392    return UNDEFINED; 
    265393} 
     394 
    266395static Value String_prototype_indexOf(inout Value self, inout Value cc, Value[] arguments ...) { 
    267396    /// ECMA 15.5.4.7 
    268397    return UNDEFINED; 
    269398} 
     399 
    270400static Value String_prototype_lastIndexOf(inout Value self, inout Value cc, Value[] arguments ...) { 
    271401    /// ECMA 15.5.4.8 
    272402    return UNDEFINED; 
    273403} 
     404 
    274405static Value String_prototype_localeCompare(inout Value self, inout Value cc, Value[] arguments ...) { 
    275406    /// ECMA 15.5.4.9 
    276407    return UNDEFINED; 
    277408} 
     409 
    278410static Value String_prototype_match(inout Value self, inout Value cc, Value[] arguments ...) { 
    279411    /// ECMA 15.5.4.10 
    280412    return UNDEFINED; 
    281413} 
     414 
    282415static Value String_prototype_replace(inout Value self, inout Value cc, Value[] arguments ...) { 
    283416    /// ECMA 15.5.4.11 
    284417    return UNDEFINED; 
    285418} 
     419 
    286420static Value String_prototype_search(inout Value self, inout Value cc, Value[] arguments ...) { 
    287421    /// ECMA 15.5.4.12 
    288422    return UNDEFINED; 
    289423} 
     424 
    290425static Value String_prototype_slice(inout Value self, inout Value cc, Value[] arguments ...) { 
    291426    /// ECMA 15.5.4.13 
    292427    return UNDEFINED; 
    293428} 
     429 
    294430static Value String_prototype_split(inout Value self, inout Value cc, Value[] arguments ...) { 
    295431    /// ECMA 15.5.4.14 
    296432    return UNDEFINED; 
    297433} 
     434 
    298435static Value String_prototype_substr(inout Value self, inout Value cc, Value[] arguments ...) { 
    299436    /// ECMA 
    300437    return UNDEFINED; 
    301438} 
     439 
    302440static Value String_prototype_substring(inout Value self, inout Value cc, Value[] arguments ...) { 
    303441    /// ECMA 15.5.4.15 
    304442    return UNDEFINED; 
    305443} 
     444 
    306445static Value String_prototype_toLowerCase(inout Value self, inout Value cc, Value[] arguments ...) { 
    307446    /// ECMA 15.5.4.16 
    308447    return UNDEFINED; 
    309448} 
     449 
    310450static Value String_prototype_toLocaleLowerCase(inout Value self, inout Value cc, Value[] arguments ...) { 
    311451    /// ECMA 15.5.4.17 
    312452    return UNDEFINED; 
    313453} 
     454 
    314455static Value String_prototype_toUpperCase(inout Value self, inout Value cc, Value[] arguments ...) { 
    315456    /// ECMA 15.5.4.18 
    316457    return UNDEFINED; 
    317458} 
     459 
    318460static Value String_prototype_toLocaleUpperCase(inout Value self, inout Value cc, Value[] arguments ...) { 
    319461    /// ECMA 15.5.4.19 
     
    328470    return (arguments.length && arguments[0].b)? TRUE : FALSE; 
    329471} 
     472 
    330473static Value Boolean_prototype_constructor(inout Value self, inout Value cc, Value[] arguments ...){ 
    331474    /// ECMA 15.6.2