]>
git.saurik.com Git - cycript.git/log
Jay Freeman (saurik) [Sun, 17 Jun 2012 01:04:36 +0000 (18:04 -0700)]
Use sel_registerName() instead of new Selector().
Jay Freeman (saurik) [Sun, 17 Jun 2012 00:44:41 +0000 (17:44 -0700)]
Do not assume lookahead (wish I could force it).
Jay Freeman (saurik) [Sat, 16 Jun 2012 03:59:17 +0000 (20:59 -0700)]
Assume we do /not/ have lookahead tokens for lexer.
Jay Freeman (saurik) [Fri, 15 Jun 2012 05:10:09 +0000 (22:10 -0700)]
Re-thread LexSet{Statement,RegExp} to fix division.
Jay Freeman (saurik) [Wed, 13 Jun 2012 00:17:42 +0000 (17:17 -0700)]
Allow usage of C++11 auto keyword.
Jay Freeman (saurik) [Sun, 10 Jun 2012 01:46:44 +0000 (18:46 -0700)]
Use JSGlobalContextRef for context_; retain/release.
Jay Freeman (saurik) [Sun, 10 Jun 2012 01:45:42 +0000 (18:45 -0700)]
Rename uint64_6 to uint64_t, correcting a typo.
Jay Freeman (saurik) [Sat, 9 Jun 2012 19:59:18 +0000 (12:59 -0700)]
Use associated objects to allow expando properties.
Jay Freeman (saurik) [Fri, 8 Jun 2012 22:22:30 +0000 (15:22 -0700)]
Correctly defer this-resolution on ECMA6 fat-arrows.
Jay Freeman (saurik) [Fri, 8 Jun 2012 22:12:53 +0000 (15:12 -0700)]
Split CYLast into CYSetLast (eol) and CYGetLast.
Jay Freeman (saurik) [Fri, 8 Jun 2012 22:03:59 +0000 (15:03 -0700)]
Refactor CYSetLast to return a reference to the eol.
Jay Freeman (saurik) [Fri, 8 Jun 2012 20:40:47 +0000 (13:40 -0700)]
Implement (modified) ECMA6 array comprehensions.
Jay Freeman (saurik) [Fri, 8 Jun 2012 19:47:49 +0000 (12:47 -0700)]
Compensate for comprehensions getting in for !in.
Jay Freeman (saurik) [Fri, 8 Jun 2012 10:11:13 +0000 (03:11 -0700)]
When messages took no arguments, type returned NULL.
Jay Freeman (saurik) [Fri, 8 Jun 2012 10:09:38 +0000 (03:09 -0700)]
Add static size and alignment properties to Type.
Jay Freeman (saurik) [Fri, 8 Jun 2012 09:51:13 +0000 (02:51 -0700)]
Add missing $cym as a bound variable in CYCategory.
Jay Freeman (saurik) [Fri, 8 Jun 2012 09:13:15 +0000 (02:13 -0700)]
Allow type signatures to be specified on messages.
Jay Freeman (saurik) [Fri, 8 Jun 2012 09:10:36 +0000 (02:10 -0700)]
Bridge types for u?longlong, [US]Int64, and u?int*_t.
Jay Freeman (saurik) [Thu, 7 Jun 2012 23:20:47 +0000 (16:20 -0700)]
Peel away CYCompound layers to fix tab completion.
Jay Freeman (saurik) [Thu, 7 Jun 2012 22:50:33 +0000 (15:50 -0700)]
Fix ;@implementation by adding it to LexSetStatement.
Jay Freeman (saurik) [Thu, 7 Jun 2012 21:36:09 +0000 (14:36 -0700)]
Update the copyright: 2009-2010 is now 2009-2012.
Jay Freeman (saurik) [Thu, 7 Jun 2012 21:34:23 +0000 (14:34 -0700)]
Reorganize grammar and add more labelled sections.
Jay Freeman (saurik) [Thu, 7 Jun 2012 20:52:27 +0000 (13:52 -0700)]
Allow ECMA6 property-name-is-also-the-value shortcut.
Jay Freeman (saurik) [Thu, 7 Jun 2012 20:49:46 +0000 (13:49 -0700)]
Rename NameAndValue and add trailing-, per ECMA6.
Jay Freeman (saurik) [Thu, 7 Jun 2012 20:44:39 +0000 (13:44 -0700)]
MemberAccess is allowed Word, not just Identifier.
Jay Freeman (saurik) [Thu, 7 Jun 2012 20:43:05 +0000 (13:43 -0700)]
Fold the E lexer helper macro into RegExp lexeme.
Jay Freeman (saurik) [Thu, 7 Jun 2012 20:19:24 +0000 (13:19 -0700)]
A !in token should technically count as a Word.
Jay Freeman (saurik) [Thu, 7 Jun 2012 19:59:38 +0000 (12:59 -0700)]
Allow of to be used as Identifier, not just Word.
Jay Freeman (saurik) [Thu, 7 Jun 2012 19:49:10 +0000 (12:49 -0700)]
While let might not be Identifier, it sure is Word.
Jay Freeman (saurik) [Thu, 7 Jun 2012 04:06:39 +0000 (21:06 -0700)]
Rename CYForEachIn to CYForOf to better match ECMA6.
Jay Freeman (saurik) [Thu, 7 Jun 2012 04:04:20 +0000 (21:04 -0700)]
Add support for ECMA6 for-of iteration statements.
Jay Freeman (saurik) [Thu, 7 Jun 2012 03:52:40 +0000 (20:52 -0700)]
Add lexer-level brace hack back for => {} syntax.
Jay Freeman (saurik) [Thu, 7 Jun 2012 03:51:50 +0000 (20:51 -0700)]
Replace a literal 0 with the symbolic yyeof_.
Jay Freeman (saurik) [Wed, 6 Jun 2012 23:05:33 +0000 (16:05 -0700)]
Introduce ECMA 6 fat-arrow lambda function syntax.
Jay Freeman (saurik) [Wed, 6 Jun 2012 23:04:21 +0000 (16:04 -0700)]
Make Expression always return a compact CYCompound.
Jay Freeman (saurik) [Wed, 6 Jun 2012 21:27:32 +0000 (14:27 -0700)]
Add a debug.sh script that configures with -g3 -O0.
Jay Freeman (saurik) [Wed, 6 Jun 2012 21:14:43 +0000 (14:14 -0700)]
Remove RelationalExpression_: merge to parent.
Jay Freeman (saurik) [Wed, 6 Jun 2012 21:11:30 +0000 (14:11 -0700)]
Remove AssignmentExpression_: merge to parent.
Jay Freeman (saurik) [Wed, 6 Jun 2012 21:08:04 +0000 (14:08 -0700)]
Remove UnaryAssigneeExpression: merge to parent.
Jay Freeman (saurik) [Wed, 6 Jun 2012 21:00:59 +0000 (14:00 -0700)]
Remove CYDriver::statement_: we always have lookahead.
Jay Freeman (saurik) [Wed, 6 Jun 2012 20:53:01 +0000 (13:53 -0700)]
Remove unneeded cy::parser:: qualitifications.
Jay Freeman (saurik) [Wed, 6 Jun 2012 20:43:23 +0000 (13:43 -0700)]
Remove redundant grammar rules: NoRE, NoIn, NoBF.
Jay Freeman (saurik) [Wed, 6 Jun 2012 05:47:18 +0000 (22:47 -0700)]
Standardize grammar rule ordering: *_, *, *Opt.
Jay Freeman (saurik) [Wed, 6 Jun 2012 05:39:30 +0000 (22:39 -0700)]
New syntax: let declarations, initialised arguments.
Jay Freeman (saurik) [Tue, 5 Jun 2012 12:07:55 +0000 (05:07 -0700)]
Preserve declaration initialisers replacing for-each.
Jay Freeman (saurik) [Tue, 5 Jun 2012 11:57:33 +0000 (04:57 -0700)]
Prune undefined arguments in final position of calls.
Jay Freeman (saurik) [Tue, 5 Jun 2012 11:56:14 +0000 (04:56 -0700)]
Pass var declarations through non-local functions.
Jay Freeman (saurik) [Tue, 5 Jun 2012 10:48:55 +0000 (03:48 -0700)]
Remove as many double-replaces as could be found.
Jay Freeman (saurik) [Tue, 5 Jun 2012 10:21:41 +0000 (03:21 -0700)]
Reimplement desugaring of let: function, not with.
Jay Freeman (saurik) [Tue, 5 Jun 2012 10:21:23 +0000 (03:21 -0700)]
Avoid deep replace when lifting for-in assignments.
Jay Freeman (saurik) [Tue, 5 Jun 2012 09:45:33 +0000 (02:45 -0700)]
If CYEmpty lowers to NULL, CYStatement::Single crashes.
Jay Freeman (saurik) [Tue, 5 Jun 2012 09:15:05 +0000 (02:15 -0700)]
Use CYForDeclarations as indirection to finish CYLet.
Jay Freeman (saurik) [Tue, 5 Jun 2012 07:31:35 +0000 (00:31 -0700)]
Move scoping to CYDeclaration::Assignment from Replace.
Jay Freeman (saurik) [Tue, 5 Jun 2012 06:56:42 +0000 (23:56 -0700)]
Preserve declaration initialisers replacing for-in.
Jay Freeman (saurik) [Tue, 5 Jun 2012 01:37:16 +0000 (18:37 -0700)]
Merge CYStatement::Collapse into CYStatement::Replace.
Jay Freeman (saurik) [Tue, 5 Jun 2012 01:31:06 +0000 (18:31 -0700)]
Remove empty compound expressions generated by CYVar.
Jay Freeman (saurik) [Tue, 5 Jun 2012 01:23:59 +0000 (18:23 -0700)]
Remove empty expression statements from the output.
Jay Freeman (saurik) [Tue, 5 Jun 2012 01:01:59 +0000 (18:01 -0700)]
Add a .gitignore to finalize the transition to git.
Jay Freeman (saurik) [Tue, 5 Jun 2012 00:00:01 +0000 (17:00 -0700)]
Remove const char *CYForInInitialiser::ForEachIn().
Jay Freeman (saurik) [Mon, 4 Jun 2012 23:56:04 +0000 (16:56 -0700)]
Preserve var semantics while desugaring for-each.
Jay Freeman (saurik) [Mon, 4 Jun 2012 12:13:14 +0000 (05:13 -0700)]
Do not assert if the tab completer is given garbage.
Jay Freeman (saurik) [Mon, 4 Jun 2012 09:29:04 +0000 (02:29 -0700)]
Use object_getClass for tab completion, not ->isa.
Jay Freeman (saurik) [Mon, 4 Jun 2012 09:07:25 +0000 (02:07 -0700)]
Support __NSCFBoolean, the iOS version of NSCFBoolean.
Jay Freeman (saurik) [Mon, 4 Jun 2012 06:50:09 +0000 (23:50 -0700)]
Rename cy$JSValueInContext to cy$valueOfInContext.
Jay Freeman (saurik) [Mon, 4 Jun 2012 06:46:39 +0000 (23:46 -0700)]
Bridge NSBlock as a callable JavaScript function.
Jay Freeman (saurik) [Mon, 4 Jun 2012 05:19:17 +0000 (22:19 -0700)]
Do not check against classes that are not instanced.
Jay Freeman (saurik) [Mon, 4 Jun 2012 04:46:51 +0000 (21:46 -0700)]
Optimize the iOS builds using -O2 (2/3 size).
Jay Freeman (saurik) [Mon, 4 Jun 2012 04:34:09 +0000 (21:34 -0700)]
Do not build tri-architecture fat files for iOS.
Jay Freeman (saurik) [Mon, 4 Jun 2012 04:27:57 +0000 (21:27 -0700)]
Add some syntax todo items from Clang documentation.
Jay Freeman (saurik) [Mon, 4 Jun 2012 04:27:16 +0000 (21:27 -0700)]
Support building non-fat injection trampolines.
Jay Freeman (saurik) [Mon, 4 Jun 2012 03:51:53 +0000 (20:51 -0700)]
The keys of NSDictionary need to be CYCastNSObject.
Jay Freeman (saurik) [Mon, 4 Jun 2012 03:43:59 +0000 (20:43 -0700)]
Update the todo list with the new tasks from stash.
Jay Freeman (saurik) [Mon, 4 Jun 2012 03:42:21 +0000 (20:42 -0700)]
Replace failed prototype trick with separate classes.
Jay Freeman (saurik) [Sun, 3 Jun 2012 21:50:00 +0000 (14:50 -0700)]
Use the base JavaScript CYONifier for CYJSArray.
Jay Freeman (saurik) [Sun, 3 Jun 2012 21:10:03 +0000 (14:10 -0700)]
Fix silly mistake in control.in causing 0.9.0.9.*.
Jay Freeman (saurik) [Sun, 3 Jun 2012 21:07:48 +0000 (14:07 -0700)]
Allow git describe to generate iOS version numbers.
Jay Freeman (saurik) [Sun, 3 Jun 2012 20:59:32 +0000 (13:59 -0700)]
Support variadic messages (bridge extras as object).
Jay Freeman (saurik) [Sun, 3 Jun 2012 20:45:59 +0000 (13:45 -0700)]
Add support for Objective-C boxed expression syntax.
Jay Freeman (saurik) [Sun, 3 Jun 2012 20:58:49 +0000 (13:58 -0700)]
Use the same trick on Object that made StringInstance.
Jay Freeman (saurik) [Sun, 3 Jun 2012 19:37:15 +0000 (12:37 -0700)]
Use the same trick on Array that made StringInstance.
Jay Freeman (saurik) [Sun, 3 Jun 2012 19:29:26 +0000 (12:29 -0700)]
Match up Instance_callAsFunction_{toString,valueOf}.
Jay Freeman (saurik) [Sun, 3 Jun 2012 19:28:19 +0000 (12:28 -0700)]
Move cy$JSValueInContext use from cast to valueOf.
Jay Freeman (saurik) [Sun, 3 Jun 2012 19:25:18 +0000 (12:25 -0700)]
Add Objective-C @ prefix to CYONified primitives.
Jay Freeman (saurik) [Sun, 3 Jun 2012 19:24:02 +0000 (12:24 -0700)]
Remove StringInstance class (but keep constructor).
Jay Freeman (saurik) [Sun, 3 Jun 2012 17:53:31 +0000 (10:53 -0700)]
Do not convert exceptions to CYON before display.
Jay Freeman (saurik) [Sun, 3 Jun 2012 16:16:31 +0000 (16:16 +0000)]
Replace the svnversion mechanism with git describe.
Jay Freeman (saurik) [Sun, 3 Jun 2012 15:53:07 +0000 (15:53 +0000)]
Update to the latest autoconf (2.68) from Ubuntu.
Jay Freeman (saurik) [Sun, 3 Jun 2012 15:52:23 +0000 (15:52 +0000)]
Make autogen.sh use the ax_ prefix for m4 lookup.
Jay Freeman (saurik) [Sun, 3 Jun 2012 15:39:47 +0000 (08:39 -0700)]
Expose Objective-C class names to tab completion.
Jay Freeman (saurik) [Sun, 3 Jun 2012 15:39:24 +0000 (08:39 -0700)]
Remove nil from bridge: it is a runtime property.
Jay Freeman (saurik) [Sun, 3 Jun 2012 15:19:04 +0000 (08:19 -0700)]
Split JavaScript Array utility functions into Library.
Jay Freeman (saurik) [Sun, 3 Jun 2012 15:18:01 +0000 (08:18 -0700)]
Use Array.prototype, not Array, to look up functions.
Jay Freeman (saurik) [Sun, 3 Jun 2012 10:42:48 +0000 (03:42 -0700)]
Fix the name of getProperty for Instance.prototype.
Jay Freeman (saurik) [Sun, 3 Jun 2012 10:42:10 +0000 (03:42 -0700)]
Display a useful message from JavaScript exceptions.
Jay Freeman (saurik) [Sat, 2 Jun 2012 00:09:59 +0000 (17:09 -0700)]
Move the various CYFlags helper functions to header.
Jay Freeman (saurik) [Fri, 1 Jun 2012 10:06:21 +0000 (03:06 -0700)]
Make protocol_copyPropertyList return an array of properties.
Jay Freeman (saurik) [Fri, 1 Jun 2012 10:05:58 +0000 (03:05 -0700)]
Support Objective-C class extension syntax.
Jay Freeman (saurik) [Mon, 19 Mar 2012 01:00:15 +0000 (18:00 -0700)]
For cycript -p to work, you need adv-cmds installed.
Jay Freeman (saurik) [Mon, 19 Mar 2012 00:59:44 +0000 (17:59 -0700)]
We now require a specific version of libffi on iOS.
Jay Freeman (saurik) [Mon, 19 Mar 2012 00:54:03 +0000 (17:54 -0700)]
Use ffi_closure_alloc and ffi_prep_closure_loc on ARM.