Changeset 92

Show
Ignore:
Timestamp:
12/14/07 08:21:02 (1 year ago)
Author:
dan.lewis
Message:

Implemented String_prototype_constructor and Array_prototype_constructor.

Files:

Legend:

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

    r91 r92  
    417417<dt><big>static Value  <u>Array_prototype_constructor</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    418418</big></dt> 
    419 <dd><font color=red>BUGS:</font><br> 
    420 Incomplete! 
    421 <br><br> 
    422 <b>Standards:</b><br> 
     419<dd><b>Standards:</b><br> 
    423420ECMA 15.4.2 
    424421<br><br> 
     
    622619<br><br> 
    623620<b>Arguments:</b><br> 
    624 <br><br> 
    625 <b>Returns:</b><br> 
     621[0] = value to convert to string 
     622<br><br> 
     623<b>Returns:</b><br> 
     624String Value 
    626625<br><br> 
    627626<b>Synopsis:</b><br> 
     
    631630<dt><big>static Value  <u>String_prototype_constructor</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    632631</big></dt> 
     632<dd><b>Standards:</b><br> 
     633ECMA 15.5.2.1 
     634<br><br> 
     635<b>Arguments:</b><br> 
     636[0] = value to convert to string 
     637<br><br> 
     638<b>Returns:</b><br> 
     639String Object 
     640<br><br> 
     641<b>Synopsis:</b><br> 
     642<br><br> 
     643 
     644</dd> 
     645<dt><big>static Value  <u>String_fromCharCode</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
     646</big></dt> 
     647<dd><b>Standards:</b><br> 
     648ECMA 15.5.3.2 
     649<br><br> 
     650<b>Arguments:</b><br> 
     651<br><br> 
     652<b>Returns:</b><br> 
     653<br><br> 
     654<b>Synopsis:</b><br> 
     655<br><br> 
     656 
     657</dd> 
     658<dt><big>static Value  <u>String_prototype_charAt</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
     659</big></dt> 
     660<dd><b>Standards:</b><br> 
     661ECMA 15.5.4.4 
     662<br><br> 
     663<b>Arguments:</b><br> 
     664<br><br> 
     665<b>Returns:</b><br> 
     666<br><br> 
     667<b>Synopsis:</b><br> 
     668<br><br> 
     669 
     670</dd> 
     671<dt><big>static Value  <u>String_prototype_charCodeAt</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
     672</big></dt> 
     673<dd><b>Standards:</b><br> 
     674ECMA 15.5.4.5 
     675<br><br> 
     676<b>Arguments:</b><br> 
     677<br><br> 
     678<b>Returns:</b><br> 
     679<br><br> 
     680<b>Synopsis:</b><br> 
     681<br><br> 
     682 
     683</dd> 
     684<dt><big>static Value  <u>String_prototype_concat</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
     685</big></dt> 
     686<dd><b>Standards:</b><br> 
     687ECMA 15.5.4.6 
     688<br><br> 
     689<b>Arguments:</b><br> 
     690<br><br> 
     691<b>Returns:</b><br> 
     692<br><br> 
     693<b>Synopsis:</b><br> 
     694<br><br> 
     695 
     696</dd> 
     697<dt><big>static Value  <u>String_prototype_indexOf</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
     698</big></dt> 
     699<dd><b>Standards:</b><br> 
     700ECMA 15.5.4.7 
     701<br><br> 
     702<b>Arguments:</b><br> 
     703<br><br> 
     704<b>Returns:</b><br> 
     705<br><br> 
     706<b>Synopsis:</b><br> 
     707<br><br> 
     708 
     709</dd> 
     710<dt><big>static Value  <u>String_prototype_lastIndexOf</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
     711</big></dt> 
     712<dd><b>Standards:</b><br> 
     713ECMA 15.5.4.8 
     714<br><br> 
     715<b>Arguments:</b><br> 
     716<br><br> 
     717<b>Returns:</b><br> 
     718<br><br> 
     719<b>Synopsis:</b><br> 
     720<br><br> 
     721 
     722</dd> 
     723<dt><big>static Value  <u>String_prototype_localeCompare</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
     724</big></dt> 
    633725<dd><font color=red>BUGS:</font><br> 
    634726Incomplete! 
    635727<br><br> 
    636728<b>Standards:</b><br> 
    637 ECMA 15.5.2.1 
    638 <br><br> 
    639 <b>Arguments:</b><br> 
    640 <br><br> 
    641 <b>Returns:</b><br> 
    642 <br><br> 
    643 <b>Synopsis:</b><br> 
    644 <br><br> 
    645  
    646 </dd> 
    647 <dt><big>static Value  <u>String_fromCharCode</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    648 </big></dt> 
    649 <dd><b>Standards:</b><br> 
    650 ECMA 15.5.3.2 
    651 <br><br> 
    652 <b>Arguments:</b><br> 
    653 <br><br> 
    654 <b>Returns:</b><br> 
    655 <br><br> 
    656 <b>Synopsis:</b><br> 
    657 <br><br> 
    658  
    659 </dd> 
    660 <dt><big>static Value  <u>String_prototype_charAt</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    661 </big></dt> 
    662 <dd><b>Standards:</b><br> 
    663 ECMA 15.5.4.4 
    664 <br><br> 
    665 <b>Arguments:</b><br> 
    666 <br><br> 
    667 <b>Returns:</b><br> 
    668 <br><br> 
    669 <b>Synopsis:</b><br> 
    670 <br><br> 
    671  
    672 </dd> 
    673 <dt><big>static Value  <u>String_prototype_charCodeAt</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    674 </big></dt> 
    675 <dd><b>Standards:</b><br> 
    676 ECMA 15.5.4.5 
    677 <br><br> 
    678 <b>Arguments:</b><br> 
    679 <br><br> 
    680 <b>Returns:</b><br> 
    681 <br><br> 
    682 <b>Synopsis:</b><br> 
    683 <br><br> 
    684  
    685 </dd> 
    686 <dt><big>static Value  <u>String_prototype_concat</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    687 </big></dt> 
    688 <dd><b>Standards:</b><br> 
    689 ECMA 15.5.4.6 
    690 <br><br> 
    691 <b>Arguments:</b><br> 
    692 <br><br> 
    693 <b>Returns:</b><br> 
    694 <br><br> 
    695 <b>Synopsis:</b><br> 
    696 <br><br> 
    697  
    698 </dd> 
    699 <dt><big>static Value  <u>String_prototype_indexOf</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    700 </big></dt> 
    701 <dd><b>Standards:</b><br> 
    702 ECMA 15.5.4.7 
    703 <br><br> 
    704 <b>Arguments:</b><br> 
    705 <br><br> 
    706 <b>Returns:</b><br> 
    707 <br><br> 
    708 <b>Synopsis:</b><br> 
    709 <br><br> 
    710  
    711 </dd> 
    712 <dt><big>static Value  <u>String_prototype_lastIndexOf</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    713 </big></dt> 
    714 <dd><b>Standards:</b><br> 
    715 ECMA 15.5.4.8 
    716 <br><br> 
    717 <b>Arguments:</b><br> 
    718 <br><br> 
    719 <b>Returns:</b><br> 
    720 <br><br> 
    721 <b>Synopsis:</b><br> 
    722 <br><br> 
    723  
    724 </dd> 
    725 <dt><big>static Value  <u>String_prototype_localeCompare</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
     729ECMA 15.5.4.9 
     730<br><br> 
     731<b>Arguments:</b><br> 
     732<br><br> 
     733<b>Returns:</b><br> 
     734<br><br> 
     735<b>Synopsis:</b><br> 
     736<br><br> 
     737 
     738</dd> 
     739<dt><big>static Value  <u>String_prototype_match</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    726740</big></dt> 
    727741<dd><font color=red>BUGS:</font><br> 
     
    729743<br><br> 
    730744<b>Standards:</b><br> 
    731 ECMA 15.5.4.9 
    732 <br><br> 
    733 <b>Arguments:</b><br> 
    734 <br><br> 
    735 <b>Returns:</b><br> 
    736 <br><br> 
    737 <b>Synopsis:</b><br> 
    738 <br><br> 
    739  
    740 </dd> 
    741 <dt><big>static Value  <u>String_prototype_match</u>(ref Value <i>self</i>, ref Value <i>cc</i>, Value [] <i>arguments</i>...); 
    742 </big></dt> 
    743 <dd><font color=red>BUGS:</font><br> 
    744 Incomplete! 
    745 <br><br> 
    746 <b>Standards:</b><br> 
    747745ECMA 15.5.4.10 
    748746<br><br> 
     
    758756</big></dt> 
    759757<dd><font color=red>BUGS:</font><br> 
    760 Incomplete! 
     758Only works for string parameters (doesn't accept regular expressions) 
    761759<br><br> 
    762760<b>Standards:</b><br> 
  • branches/1.9/source/methods.d

    r91 r92  
    599599 
    600600/** 
    601     BUGS: Incomplete! 
    602601    Standards: ECMA 15.4.2 
    603602    Arguments: arguments[0] = amount of space to allocate <br />or<br />arguments[0..n] = sequential values of each Value in the Array. 
     
    606605*/ 
    607606static Value Array_prototype_constructor(inout Value self, inout Value cc, Value[] arguments ...) { 
    608     return UNDEFINED; 
     607    Value o; 
     608    Value[] v; 
     609    if(arguments.length == 1) 
     610        v.length = arguments[0].toInteger(); 
     611    else 
     612        v = arguments.dup; 
     613    o.type = TYPE.OBJECT; 
     614    o[TEXT_prototype] = Global[TEXT_Array][TEXT_prototype]; 
     615    o[TEXT___value__] = cast(Value) v; 
     616    return o; 
    609617} 
    610618 
     
    807815/** 
    808816    Standards: ECMA 15.5.1 
    809     Arguments:  
    810     Returns:  
     817    Arguments: [0] = value to convert to string 
     818    Returns: String Value 
    811819    Synopsis: 
    812820*/ 
     
    816824 
    817825/** 
    818     BUGS: Incomplete! 
    819826    Standards: ECMA 15.5.2.1 
    820     Arguments:  
    821     Returns:  
     827    Arguments: [0] = value to convert to string 
     828    Returns: String Object 
    822829    Synopsis: 
    823830*/ 
    824831static Value String_prototype_constructor(inout Value self, inout Value cc, Value[] arguments ...) { 
    825     return UNDEFINED; 
     832    Value o; 
     833    o.type = TYPE.OBJECT; 
     834    o[TEXT_prototype] = Global[TEXT_String][TEXT_prototype]; 
     835    o[TEXT___value__] = Global_String(self,cc,arguments); 
     836    return o; 
    826837} 
    827838