]> git.saurik.com Git - cycript.git/blobdiff - Console.cpp
Peel away CYCompound layers to fix tab completion.
[cycript.git] / Console.cpp
index c6e13cb6f4504abca48615cb5f4110557b545bed..d669e67239ff008726de6258bd6c6c0bee187852 100644 (file)
@@ -1,5 +1,5 @@
 /* Cycript - Optimizing JavaScript Compiler/Runtime
- * Copyright (C) 2009-2010  Jay Freeman (saurik)
+ * Copyright (C) 2009-2012  Jay Freeman (saurik)
 */
 
 /* GNU Lesser General Public License, Version 3 {{{ */
@@ -213,9 +213,14 @@ static CYExpression *ParseExpression(CYUTF8String code) {
     if (parser.parse() != 0 || !driver.errors_.empty())
         return NULL;
 
-    CYExpress *express(dynamic_cast<CYExpress *>(driver.program_->statements_));
-    _assert(express != NULL);
-    return express->expression_;
+    CYOptions options;
+    CYContext context(options);
+
+    // XXX: this could be replaced with a CYStatement::Primitive()
+    if (CYExpress *express = dynamic_cast<CYExpress *>(driver.program_->statements_))
+        return express->expression_->Primitive(context);
+
+    return NULL;
 }
 
 static int client_;