]>
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 |
d3760804 | 5 | some JS callbacks don't use exception pointers at all... |
b92ceddb JF |
6 | a newline needs to not be allowed after a unary * |
7 | finish implementing default xml namespace statement | |
6ff42d7b | 8 | encode newlines in history for later replay (psql uses ^A) |
0fe90592 | 9 | |
b1bff474 JF |
10 | consider replacing regex literals with constructors |
11 | https://bugzilla.mozilla.org/show_bug.cgi?id=98409 | |
12 | numerification needs to use specific precision values | |
13 | https://bugzilla.mozilla.org/show_bug.cgi?id=5856 | |
14 | consider a mode where unicode string content is saved | |
15 | https://bugzilla.mozilla.org/show_bug.cgi?id=274152 | |
0fe90592 | 16 | |
0226d428 | 17 | NSDictionaries that have NSNumber keys don't getProperty |
cb079cbb JF |
18 | CYPoolTry/Catch now carefully save the exception after it /no longer needs the exception/... uhh... wtf? |
19 | throw CYJSError should probably be replaced with CYThrow() across the board | |
bc60fb46 | 20 | figure out what to do about global context refs: I really really want to retain the bastards |
2fd4c9a9 | 21 | the concept of NULL pooling is entirely incorrect and sad... bad... evil... need to work on this... really |
5a6a8fff | 22 | NSArray's .toString() and .toLocaleString() fail hard, as Array.prototype.to*String are Array-specific |
9561f209 | 23 | applyOnMainThread, when done at console, loops the cyonifier |
a86e34d0 | 24 | special work needs to be done to correctly handle the "arguments" symbol: Declare("arguments", ...Special) |
2c81c6df | 25 | at the Program level I seem to be eating away all of the var statements |
7e5391fd | 26 | I should probably attempt to use the auto_ flag somehow to not do contexts_ push when compiling |
4cb8aa43 | 27 | Object_callAsFunction_toCYON should be implemented |
13315b92 JF |
28 | |
29 | [NSString stringWithString:""] crashes, on linux, not on mac | |
e360efbb | 30 | GS #defines should be _finline |
eed4f174 JF |
31 | |
32 | replace procmod g+s with gdb's macosx_get_task_for_pid_rights | |
e360efbb JF |
33 | non-local return prologue is not being Replace()d: multipass compiler! |
34 | interpretation of documentation comments should be compiler-only and off by default | |
71e8b682 | 35 | |
1b2613d3 | 36 | semi-colon insertion warnings should mark after the previous token, not on the current one: makes a /lot/ more sense |
6e51aaf8 JF |
37 | |
38 | output errors during Trampoline to some kind of log file | |
6aeaa7d2 | 39 | |
6aeaa7d2 JF |
40 | there is a reinterpret_cast<> that I replaced with an old-style cast on the output of dladdr |
41 | ||
42 | why do I never deallocate ffi closures? | |
43 | ||
6aeaa7d2 JF |
44 | make a reference holder for namearrays |
45 | rename names to accumulator when it is a name accumulator, and retake names for subset | |
46 | I believe calls to mutableCopy will leak memory | |
47 | consider pointerTo instead of toPointer | |
48 | store the last exception in a variable | |
49 | should WebUndefined be @undefined? | |
50 | ||
51 | if something is a function, it should be output differently | |
6aeaa7d2 | 52 | verify name targets of "incorrect number of arguments to" |
eef35e84 JF |
53 | maybe support __objc_{yes,no} intrinisic primitives |
54 | ||
55 | support new objective-c subscript notation: | |
56 | id key = ...; | |
57 | id value = object[key]; | |
58 | -> id value = [object objectForKeyedSubscript:key]; | |
59 | object[key] = newValue; | |
60 | -> [object setObject:newValue forKeyedSubscript:key]; | |
61 | and: | |
62 | NSUInteger idx = ...; | |
63 | id value = object[idx]; | |
64 | -> id value = [object objectAtIndexedSubscript:idx]; | |
65 | object[idx] = newValue; | |
66 | -> [object setObject:newValue atIndexedSubscript:idx]; | |
1b2613d3 JF |
67 | |
68 | use JSObjectMakeError to build exception objects | |
69 | replace cy$getProperty's return value with JSValueRef | |
1b2613d3 JF |
70 | |
71 | cy# {{5,6};6;{7;{8;5}}} | |
72 | got: {5,6;6;{7;8,5}} | |
73 | wanted: 5,6,6,7,8,5 | |
74 | ||
75 | cy# for each (var i = 9 in [1, 2]) system.print(i); | |
203b5fc4 JF |
76 | cy= {i=9;(function($cys,$cyt){for($cyt in $cys){i=$cys[$cyt];system.print(i)}})([1,2])} |
77 | cy# {i=9;(function($cys,$cyt){for($cyt in $cys){i=$cys[$cyt];system.print(i)}})([1,2])} | |
78 | cy= i=9,function(e,t){var e,t;for(t in e)i=e[t],system.print(i)}([1,2]) | |
1b2613d3 JF |
79 | wanted: i=9,function(e,t){for(t in e)i=e[t],system.print(i)}([1,2]) |
80 | ||
81 | with is being translated in a manner that doesn't handle variables | |
82 | cy# function b() { for each (var t in a) {} } | |
83 | function b(){var e,t,n;with({t:a,n:undefined})for(n in t)e=t[n]} | |
84 | ||
e23a9070 JF |
85 | [[self description] cy$toCYON:] seems like a poor implementation of toCYON |
86 | implement cy$toJSON:inContext: for NSDictionary and NSArray | |
203b5fc4 | 87 | probably should use toll-free bridging and CF to check for boolean-ness |
1b2613d3 JF |
88 | |
89 | the non-local transform used for let is ludicrous... :( :( | |
90 | ||
91 | cy# function q(e) { } | |
92 | function q(e){var e} | |
93 | ||
1b2613d3 JF |
94 | fat arrows are currently output with too much verbosity |
95 | ||
96 | CYJSString <- wrap JavaScript strings and provide them back to Objective-C | |
97 | ruby blocks need to return their last thing | |
98 | Objective-C strings might should be cyonified using double-quotes | |
99 | ||
100 | apparently you can have random escape sequences in strings, like \! | |
101 | cycript -p with processes that have spaces doesn't work | |
d3b63265 | 102 | CYDriver uses std::istream, but it should use std::streambuf |
fbc17268 JF |
103 | |
104 | constant flags on types are encoded using something horribly wrong | |
105 | http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html | |
106 | http://gcc.gnu.org/onlinedocs/gcc/Type-encoding.html | |
107 | http://gcc.gnu.org/onlinedocs/gcc/Legacy-type-encoding.html | |
21d5f610 | 108 | |
56e02e5b JF |
109 | blocks should be allowed to return blocks/functions: ModifiedType needs to go |
110 | instead, TypedParameterList should be folded into a TypeModifier with the other types | |
d10cbac7 | 111 | |
203b5fc4 JF |
112 | look up identifiers in the bridge for highlighting (and remove special case tokens) |
113 | ||
114 | when ?bypass, you are unable to send multi-line commands | |
115 | the current line-extension detector doesn't handle multi-line tokens | |
116 | ||
117 | what the hell did I mean by (*name - 10) in the sig/parse error messages? | |
118 | syntax highlight embedded components of strings and regular expressions | |
119 | replace the lex-assisted syntax highlighter with a grammar-assisted one | |
120 | tell brian that alt-minus-3 and alt-minus-(alt)-3 are somehow different | |
121 | the lexer turns "@encodenew" into "@encode""new"... word breaks, anyone? | |
122 | .prototype of a Class returns "undefined", which is very confusing | |
123 | ||
124 | !! :( if you have a regular expression followed by an alphabetic operator | |
125 | then the output engine needs to put a space character between them | |
126 | ||
127 | I should support arbitrary objects as the keys for NSDictionary literals | |
128 | add a special syntax highlight color for message selector parts | |
129 | there are numerous paths through Console that fail to free(line) | |
130 | ||
131 | if the grammar sanity checks fail, they don't delete the grammar output | |
132 | ||
133 | cy# a.constructor.class.$cya().valueOf() | |
134 | 0x1619ee64 | |
135 | ^ this is different EVERY TIME?!? | |
136 | ||
137 | MPMusicPlayerController.iPodMusicPlayer.shuffleMode is either id /or/ int | |
138 | ||
139 | NSObject instanceof Type //<- should this be true? | |
140 | ||
141 | I probably don't need to override SHELL to _BASH anymore | |
142 | ||
d10cbac7 JF |
143 | LT_INIT([pic-only]) doesn't work, because the default is only used if unset, and it has a default setting... |
144 | even when using --pic-only, libtool insists on building every file twice... with the same fucking arguments | |
203b5fc4 JF |
145 | |
146 | JSContextGroupSetExecutionTimeLimit | |
147 | ||
148 | cy# throw | |
149 | cy> 5 | |
150 | cy> ; | |
151 | cy> ^C | |
152 | ||
153 | if you use "arguments", you have to protect it if you attempt to use it inside of a generated function; example: array comprehension over one fails | |
154 | ||
155 | support Nil in addition to nil | |
156 | ||
157 | 1.7976931348623157e+308 == DBL_MAX | |
158 | ||
159 | - } else | |
160 | - return CYCastPointer<SEL>(context, value); | |
161 | + } else { | |
162 | + // XXX: should call .valueOf and, if a number, cast as a pointer | |
163 | + CYPool pool; | |
164 | + return sel_registerName(CYPoolCString(pool, context, value)); | |
165 | + } | |
166 | ||
167 | cy# @[].concat([3,4]) | |
168 | [@[],3,4] | |
169 | cy# [].concat([3,4]) | |
170 | [3,4] | |
171 | ||
172 | @synchronized, maybe @autorelease | |
173 | ||
174 | support leaving off the block return type if the block has no return value; statements | |
175 | ||
176 | cy# var a = 4; {let a = 3; }; a | |
177 | cy= a=4;a=3;a | |
178 | ||
179 | abstract method_copyMethodList to something more reasonable | |
180 | ||
181 | cy# "\x00" | |
182 | cy= "\x00" | |
183 | wanted: "\0" | |
184 | (does JS really support \0? node seems to think so) | |
185 | ||
186 | cy# ({$a:5,$b:3}).$<TAB> <- fails to tab complete to a list | |
187 | ||
188 | auto-complete partial string keys | |
189 | ||
190 | cy# @encode(const char *)(@encode(void *(*)(const char *))(dlsym(RTLD_DEFAULT, "strdup"))) | |
191 | "[object Pointer]" | |
192 | ||
193 | the error regime when using MS.hookMessage destroys Objective-C exceptions that are thrown | |
194 | ||
195 | the restrict keyword should be supported in type specifiers | |
196 | ||
197 | ||
198 | support (void) argument lists | |
199 | typedef int; | |
200 | typedef should be creating local variables |