]> git.saurik.com Git - cycript.git/blobdiff - Code.hpp
new operator must return JSObject even for errors.
[cycript.git] / Code.hpp
index 93f2e543fbea8feed0ef2409e33832709c379668..1c52c0b184a32a94cd6cd51a6a8da27a5675f2f0 100644 (file)
--- a/Code.hpp
+++ b/Code.hpp
@@ -1,5 +1,5 @@
-/* Cycript - Optimizing JavaScript Compiler/Runtime
- * Copyright (C) 2009-2014  Jay Freeman (saurik)
+/* Cycript - The Truly Universal Scripting Language
+ * Copyright (C) 2009-2016  Jay Freeman (saurik)
 */
 
 /* GNU Affero General Public License, Version 3 {{{ */
 #include "String.hpp"
 
 class CYStream :
-    public std::istream
+    public std::streambuf
 {
-  private:
-    class CYBuffer :
-        public std::streambuf
-    {
-      public:
-        CYBuffer(const char *start, const char *end) {
-            setg(const_cast<char *>(start), const_cast<char *>(start), const_cast<char *>(end));
-        }
-    } buffer_;
-
   public:
-    CYStream(const char *start, const char *end) :
-        std::istream(&buffer_),
-        buffer_(start, end)
-    {
+    CYStream(const char *start, const char *end) {
+        setg(const_cast<char *>(start), const_cast<char *>(start), const_cast<char *>(end));
     }
 };
 
-CYUTF8String CYPoolCode(CYPool &pool, std::istream &stream);
+CYUTF8String CYPoolCode(CYPool &pool, std::streambuf &stream);
+CYUTF8String CYPoolCode(CYPool &pool, CYUTF8String code);
 
 #endif//CODE_HPP