]> git.saurik.com Git - cycript.git/blobdiff - Parser.hpp
Rename CYForEachIn to CYForOf to better match ECMA6.
[cycript.git] / Parser.hpp
index a5d11488f110527f69778d6a186b839763981841..47a60c04ece3ddaf26e13631ea07028714c7138c 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <iostream>
 
+#include <stack>
 #include <string>
 #include <vector>
 #include <map>
@@ -447,9 +448,12 @@ enum CYState {
 
 class CYDriver {
   public:
-    CYState state_;
     void *scanner_;
 
+    CYState state_;
+    bool nobrace_;
+    std::stack<bool> in_;
+
     const char *data_;
     size_t size_;
     FILE *file_;
@@ -676,13 +680,13 @@ struct CYForInComprehension :
     virtual void Output(CYOutput &out) const;
 };
 
-struct CYForEachInComprehension :
+struct CYForOfComprehension :
     CYComprehension
 {
     CYIdentifier *name_;
     CYExpression *set_;
 
-    CYForEachInComprehension(CYIdentifier *name, CYExpression *set) :
+    CYForOfComprehension(CYIdentifier *name, CYExpression *set) :
         name_(name),
         set_(set)
     {
@@ -1264,14 +1268,14 @@ struct CYForIn :
     virtual void Output(CYOutput &out, CYFlags flags) const;
 };
 
-struct CYForEachIn :
+struct CYForOf :
     CYStatement
 {
     CYForInInitialiser *initialiser_;
     CYExpression *set_;
     CYStatement *code_;
 
-    CYForEachIn(CYForInInitialiser *initialiser, CYExpression *set, CYStatement *code) :
+    CYForOf(CYForInInitialiser *initialiser, CYExpression *set, CYStatement *code) :
         initialiser_(initialiser),
         set_(set),
         code_(code)