]>
Commit | Line | Data |
---|---|---|
beadf464 | 1 | lol |
e0dc20ec | 2 | unicode identifier support (native and \u) |
d63c39cc | 3 | support unions (right now 0-1 fields parsed as struct) |
365abb0a | 4 | look into what String is, and whether to bridge it |
0226d428 | 5 | think about bridging NSNumber with Number prototype |
d3760804 | 6 | some JS callbacks don't use exception pointers at all... |
b92ceddb JF |
7 | a newline needs to not be allowed after a unary * |
8 | finish implementing default xml namespace statement | |
6ff42d7b | 9 | encode newlines in history for later replay (psql uses ^A) |
0fe90592 | 10 | |
b1bff474 JF |
11 | consider replacing regex literals with constructors |
12 | https://bugzilla.mozilla.org/show_bug.cgi?id=98409 | |
13 | numerification needs to use specific precision values | |
14 | https://bugzilla.mozilla.org/show_bug.cgi?id=5856 | |
15 | consider a mode where unicode string content is saved | |
16 | https://bugzilla.mozilla.org/show_bug.cgi?id=274152 | |
0fe90592 | 17 | |
0226d428 | 18 | NSDictionaries that have NSNumber keys don't getProperty |
0fe90592 | 19 | errors in another process aren't displayed; to fix this, parse errors should get converted to exceptions and thrown |
cb079cbb JF |
20 | CYPoolTry/Catch now carefully save the exception after it /no longer needs the exception/... uhh... wtf? |
21 | throw CYJSError should probably be replaced with CYThrow() across the board | |
bc60fb46 | 22 | figure out what to do about global context refs: I really really want to retain the bastards |
2fd4c9a9 | 23 | the concept of NULL pooling is entirely incorrect and sad... bad... evil... need to work on this... really |
5a6a8fff | 24 | NSArray's .toString() and .toLocaleString() fail hard, as Array.prototype.to*String are Array-specific |
9561f209 | 25 | applyOnMainThread, when done at console, loops the cyonifier |
a86e34d0 | 26 | special work needs to be done to correctly handle the "arguments" symbol: Declare("arguments", ...Special) |
2c81c6df | 27 | at the Program level I seem to be eating away all of the var statements |
ecf94af8 | 28 | function pointers are ?; note that blocks are currently block_P = '?' |
7e5391fd | 29 | I should probably attempt to use the auto_ flag somehow to not do contexts_ push when compiling |
4cb8aa43 | 30 | Object_callAsFunction_toCYON should be implemented |
13315b92 JF |
31 | |
32 | [NSString stringWithString:""] crashes, on linux, not on mac | |
e360efbb | 33 | GS #defines should be _finline |
eed4f174 JF |
34 | |
35 | replace procmod g+s with gdb's macosx_get_task_for_pid_rights | |
e360efbb JF |
36 | non-local return prologue is not being Replace()d: multipass compiler! |
37 | interpretation of documentation comments should be compiler-only and off by default | |
047355d5 | 38 | don't ever generate $ CYWith, in particular for CYLet... use CYFunctionExpression |
71e8b682 | 39 | |
1b2613d3 | 40 | semi-colon insertion warnings should mark after the previous token, not on the current one: makes a /lot/ more sense |
71e8b682 | 41 | new for pools should take a reference, not a pointer |
6e51aaf8 JF |
42 | |
43 | output errors during Trampoline to some kind of log file | |
6aeaa7d2 | 44 | |
6aeaa7d2 JF |
45 | there is a reinterpret_cast<> that I replaced with an old-style cast on the output of dladdr |
46 | ||
47 | why do I never deallocate ffi closures? | |
48 | ||
6aeaa7d2 JF |
49 | make a reference holder for namearrays |
50 | rename names to accumulator when it is a name accumulator, and retake names for subset | |
51 | I believe calls to mutableCopy will leak memory | |
52 | consider pointerTo instead of toPointer | |
53 | store the last exception in a variable | |
54 | should WebUndefined be @undefined? | |
55 | ||
56 | if something is a function, it should be output differently | |
57 | evaluate usages of CYTry in ObjectiveC/Library for CYObjectiveTry | |
58 | verify name targets of "incorrect number of arguments to" | |
eef35e84 JF |
59 | maybe support __objc_{yes,no} intrinisic primitives |
60 | ||
61 | support new objective-c subscript notation: | |
62 | id key = ...; | |
63 | id value = object[key]; | |
64 | -> id value = [object objectForKeyedSubscript:key]; | |
65 | object[key] = newValue; | |
66 | -> [object setObject:newValue forKeyedSubscript:key]; | |
67 | and: | |
68 | NSUInteger idx = ...; | |
69 | id value = object[idx]; | |
70 | -> id value = [object objectAtIndexedSubscript:idx]; | |
71 | object[idx] = newValue; | |
72 | -> [object setObject:newValue atIndexedSubscript:idx]; | |
1b2613d3 JF |
73 | |
74 | use JSObjectMakeError to build exception objects | |
75 | replace cy$getProperty's return value with JSValueRef | |
76 | flatten compound expressions made up of compound expressions | |
77 | ||
78 | cy# {{5,6};6;{7;{8;5}}} | |
79 | got: {5,6;6;{7;8,5}} | |
80 | wanted: 5,6,6,7,8,5 | |
81 | ||
82 | cy# for each (var i = 9 in [1, 2]) system.print(i); | |
83 | got: {i=9;(function(e,t){for(t in e){i=e[t];system.print(i)}})([1,2])} | |
84 | wanted: i=9,function(e,t){for(t in e)i=e[t],system.print(i)}([1,2]) | |
85 | ||
86 | with is being translated in a manner that doesn't handle variables | |
87 | cy# function b() { for each (var t in a) {} } | |
88 | function b(){var e,t,n;with({t:a,n:undefined})for(n in t)e=t[n]} | |
89 | ||
e23a9070 JF |
90 | [[self description] cy$toCYON:] seems like a poor implementation of toCYON |
91 | implement cy$toJSON:inContext: for NSDictionary and NSArray | |
1b2613d3 JF |
92 | |
93 | the non-local transform used for let is ludicrous... :( :( | |
94 | ||
95 | cy# function q(e) { } | |
96 | function q(e){var e} | |
97 | ||
98 | CYCompound needs to be able to replace itself away without causing multiple Replace | |
99 | fat arrows are currently output with too much verbosity | |
100 | ||
101 | CYJSString <- wrap JavaScript strings and provide them back to Objective-C | |
102 | ruby blocks need to return their last thing | |
103 | Objective-C strings might should be cyonified using double-quotes | |
104 | ||
105 | apparently you can have random escape sequences in strings, like \! | |
106 | cycript -p with processes that have spaces doesn't work | |
d3b63265 | 107 | CYDriver uses std::istream, but it should use std::streambuf |
74296173 | 108 | the mechanism I used to autodetect readline is horrible: use autoconf |
fbc17268 JF |
109 | |
110 | constant flags on types are encoded using something horribly wrong | |
111 | http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html | |
112 | http://gcc.gnu.org/onlinedocs/gcc/Type-encoding.html | |
113 | http://gcc.gnu.org/onlinedocs/gcc/Legacy-type-encoding.html | |
21d5f610 JF |
114 | |
115 | using .withName from the grammar is a horrible hack that makes other uses impossible | |
56e02e5b JF |
116 | |
117 | blocks should be allowed to return blocks/functions: ModifiedType needs to go | |
118 | instead, TypedParameterList should be folded into a TypeModifier with the other types |