]> git.saurik.com Git - cycript.git/blobdiff - JavaScript.hpp
"Lazy" Java initialization resets signal handlers.
[cycript.git] / JavaScript.hpp
index c75fd7c8cc1a0ede2161ab7a1b4ba0b0127d55db..8b5802413c54054429e51ca073a6fa2ab628c327 100644 (file)
@@ -1,5 +1,5 @@
-/* Cycript - Optimizing JavaScript Compiler/Runtime
- * Copyright (C) 2009-2015  Jay Freeman (saurik)
+/* Cycript - The Truly Universal Scripting Language
+ * Copyright (C) 2009-2016  Jay Freeman (saurik)
 */
 
 /* GNU Affero General Public License, Version 3 {{{ */
 */
 
 /* GNU Affero General Public License, Version 3 {{{ */
@@ -41,6 +41,7 @@
 #include "String.hpp"
 
 extern JSStringRef Array_s;
 #include "String.hpp"
 
 extern JSStringRef Array_s;
+extern JSStringRef constructor_s;
 extern JSStringRef cy_s;
 extern JSStringRef cyi_s;
 extern JSStringRef cyt_s;
 extern JSStringRef cy_s;
 extern JSStringRef cyi_s;
 extern JSStringRef cyt_s;
@@ -63,9 +64,12 @@ JSObjectRef CYGetGlobalObject(JSContextRef context);
 
 extern "C" void CYSetupContext(JSGlobalContextRef context);
 const char *CYExecute(JSContextRef context, CYPool &pool, CYUTF8String code);
 
 extern "C" void CYSetupContext(JSGlobalContextRef context);
 const char *CYExecute(JSContextRef context, CYPool &pool, CYUTF8String code);
+
+#ifndef __ANDROID__
 void CYCancel();
 void CYCancel();
+#endif
 
 
-void CYSetArgs(int argc, const char *argv[]);
+void CYSetArgs(const char *argv0, const char *script, int argc, const char *argv[]);
 
 bool CYCastBool(JSContextRef context, JSValueRef value);
 double CYCastDouble(JSContextRef context, JSValueRef value);
 
 bool CYCastBool(JSContextRef context, JSValueRef value);
 double CYCastDouble(JSContextRef context, JSValueRef value);
@@ -180,6 +184,11 @@ class CYJSString {
     }
 
   public:
     }
 
   public:
+    CYJSString() :
+        string_(NULL)
+    {
+    }
+
     CYJSString(const CYJSString &rhs) :
         string_(CYCopyJSString(rhs.string_))
     {
     CYJSString(const CYJSString &rhs) :
         string_(CYCopyJSString(rhs.string_))
     {
@@ -203,6 +212,11 @@ class CYJSString {
         return *this;
     }
 
         return *this;
     }
 
+    CYJSString &operator =(CYJSString &&rhs) {
+        std::swap(string_, rhs.string_);
+        return *this;
+    }
+
     ~CYJSString() {
         Clear_();
     }
     ~CYJSString() {
         Clear_();
     }