]> git.saurik.com Git - cycript.git/blobdiff - Code.hpp
Do not output class extension syntax for Object{}.
[cycript.git] / Code.hpp
index 324c00fcedfcf6c1b85a038719f86712a8e3d076..1c52c0b184a32a94cd6cd51a6a8da27a5675f2f0 100644 (file)
--- a/Code.hpp
+++ b/Code.hpp
@@ -1,21 +1,21 @@
-/* Cycript - Optimizing JavaScript Compiler/Runtime
- * Copyright (C) 2009-2013  Jay Freeman (saurik)
+/* Cycript - The Truly Universal Scripting Language
+ * Copyright (C) 2009-2016  Jay Freeman (saurik)
 */
 
-/* GNU General Public License, Version 3 {{{ */
+/* GNU Affero General Public License, Version 3 {{{ */
 /*
- * Cycript is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * Cycript is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Cycript.  If not, see <http://www.gnu.org/licenses/>.
+ * GNU Affero General Public License for more details.
+
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 **/
 /* }}} */
 
 #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