1
0
mirror of https://github.com/robertkrimen/otto synced 2025-10-12 20:27:30 +08:00
Commit Graph

136 Commits

Author SHA1 Message Date
Robert Krimen
42233ac62f Add Object.create, Object.defineProperties 2012-10-27 09:48:11 -07:00
Robert Krimen
6f5ca7cc0d Beef up _property, remove _defineProperty
Remove uneeded _valueProperty
Rename to propertyMode_{write,enumerate,configure}
.Can* => writeable, enumerable, configureable
Privatize _property
Get rid of _defineProperty
2012-10-27 08:59:38 -07:00
Robert Krimen
b6f98935d4 Add Object.defineProperty( ... ) 2012-10-26 16:34:34 -07:00
Robert Krimen
36edc1f921 Move defineOwnProperty back into _object 2012-10-26 16:09:42 -07:00
Robert Krimen
3c93384f5c Cleanup of stash, property, and object
Use octal to designate write/enumerate/configure (experimental)
Move extensibility responsibility into the stash
Rename propertyStash => objectStash (be congruent with arrayStash, etc.)
Get rid of a bunch of useless methods
Privatize everything ([A-Z] => [a-z_])
gofmt
2012-10-26 15:47:19 -07:00
Robert Krimen
c1a21812fe Fix trying to call a non-function as a function 2012-10-22 14:29:14 -07:00
Robert Krimen
820c21423f Bypass a little bit more of the gauntlet (for now) 2012-10-20 23:52:34 -07:00
Robert Krimen
68943ba1e4 More (complex) RegExp => RE2 transforming and tests
The unescaping of that which does not need escaping
2012-10-20 23:32:30 -07:00
Robert Krimen
bf38778ba2 Get rid of .import crutch 2012-10-20 15:04:19 -07:00
Robert Krimen
aec6bef65d Tweak .test262 2012-10-20 15:01:22 -07:00
Robert Krimen
33d9cbf707 Add a few regular expression tests 2012-10-20 15:00:25 -07:00
Robert Krimen
2390419e97 Add backreferencing "test" :( 2012-10-20 13:57:13 -07:00
Robert Krimen
cd4f36ce98 Fix not skipping /* & // after encountering them 2012-10-20 13:45:58 -07:00
Robert Krimen
d291bdadca Swap order of found/width in lexer.read return 2012-10-20 13:45:17 -07:00
Robert Krimen
3a6dcf46ef Don't expose re2 regular expression via //.source 2012-10-20 12:55:29 -07:00
Robert Krimen
1975167037 Fix handling of EscapeSequence: "\0" => 0x0000 2012-10-20 12:29:15 -07:00
Robert Krimen
6a91dad4c9 Adjust the test262 testing environment 2012-10-20 12:26:02 -07:00
Robert Krimen
05ee181c34 Fix parsing of null, etc. on Object intialization
true, false, etc.
2012-10-19 16:24:14 -07:00
Robert Krimen
d6bb7b6285 Adjust test262 Makefile 2012-10-19 13:29:12 -07:00
Robert Krimen
f842eda638 Add a String.substr implementation
This will fix #6
2012-10-19 13:26:22 -07:00
Robert Krimen
512c48831e Have newNumberNode use stringToFloat 2012-10-19 12:26:38 -07:00
Robert Krimen
1728c036d4 Partial rewrite of lexer
- Better identifier scanning
- Less repetition in decoding the stream (cached in readIn)
- Method privitization
2012-10-19 12:24:53 -07:00
Robert Krimen
fd7a49a778 Add shim.js for better test262 testing 2012-10-18 15:09:49 -07:00
Robert Krimen
fdc619c393 Classify "const" as a keyword 2012-10-18 14:59:51 -07:00
Robert Krimen
d2fd2fc31d Classify "debugger" as a keyword 2012-10-18 14:56:42 -07:00
Robert Krimen
2a1b3aaaca Add rudimentary Math.pow builtin 2012-10-18 11:30:45 -07:00
Robert Krimen
9afeb64d67 Fix toFloat to parse hexadecimal properly 2012-10-18 11:16:25 -07:00
Robert Krimen
24e71588dd Add String.fromCharCode 2012-10-18 10:58:23 -07:00
Robert Krimen
7982fa0fac Fix scanning \r, \b, \f, \v as \t
Copy and paste error of epic proportions?

This will fix #5
2012-10-17 18:57:48 -07:00
Robert Krimen
9e83d4daaf test262: Can't handle the UTF-16 right now 2012-10-17 12:13:02 -07:00
Robert Krimen
ed98144c35 Remarks on UTF-8/16 2012-10-17 11:54:04 -07:00
Robert Krimen
474a473e36 Convert _syntaxError to SyntaxError (eval) 2012-10-17 10:27:22 -07:00
Robert Krimen
32cbffe7b8 Avoid backing up when checking for line terminator 2012-10-17 01:05:52 -07:00
Robert Krimen
a780c85861 Fill out switch, for, for-in labelling
This and the previous commit fix #4
2012-10-16 23:11:35 -07:00
Robert Krimen
58cf2a4b67 Add break capability to switch 2012-10-16 22:57:25 -07:00
Robert Krimen
e3211c0351 Scan FORM FEED (U+000C) as whitespace 2012-10-16 16:42:03 -07:00
Robert Krimen
b729c55d84 Scan VERTICAL TAB (U+000B) as whitespace 2012-10-16 16:38:19 -07:00
Robert Krimen
3dcc92af9b Gauntlet system for test262 (run until failing) 2012-10-16 16:33:38 -07:00
Robert Krimen
d4fadea2fc Make sure to grab tests that "failed as expected" 2012-10-16 16:11:08 -07:00
Robert Krimen
38a017b0dd Better test262 test procedure 2012-10-16 15:53:01 -07:00
Robert Krimen
f5540f1472 Scan NO-BREAK SPACE (U+00A0) as whitespace 2012-10-16 12:03:59 -07:00
Robert Krimen
1254d21f2a WIP v8-centric, test262 suite culling 2012-10-16 12:01:24 -07:00
Robert Krimen
6e533b9e67 Require identifier for declared functions 2012-10-16 10:27:20 -07:00
Robert Krimen
d4c606a2a0 Add test262 testing environment
http://test262.ecmascript.org/
2012-10-16 10:07:04 -07:00
Robert Krimen
defac5b22e Fix prototype property being read-only
Fix #3
2012-10-15 22:12:36 -07:00
Robert Krimen
235c19bd71 Substitute undefined for failed captures in String.replace
When String.replace(...) is called with a replacement function.
Again, similar to the scenario in #2.
2012-10-14 22:50:17 -07:00
Robert Krimen
b718c5ec2a Handle missing captures gracefully in String.replace
This is related to #2
2012-10-14 22:33:22 -07:00
Robert Krimen
a12391834e Sometimes RegExp captures can fail, detect this
Fix #2 (In .exec so far)
2012-10-14 21:45:38 -07:00
Robert Krimen
89e26f042e Allow empty test/update in for statements
Fix #1
2012-10-14 10:42:06 -07:00
Robert Krimen
7dfbf6ab13 Better regular expression syntax checking
And a limitation elaboration
2012-10-12 18:55:41 -07:00