]> git.saurik.com Git - cycript.git/blobdiff - Syntax.hpp
Sort-of improve multi-line editor when in vi mode.
[cycript.git] / Syntax.hpp
index e3999e3c63e2037e3a272edefd3a622fa7037390..a83659d7e6bd53ab15cbb60dee0d31fef46ace72 100644 (file)
@@ -78,15 +78,15 @@ struct CYOutput {
         _assert(out_.sputc(value) != EOF);
         recent_ = indent_;
         if (value == '\n')
-            position_.lines(1);
+            position_.Lines(1);
         else
-            position_.columns(1);
+            position_.Columns(1);
     }
 
     _finline void operator ()(const char *data, std::streamsize size) {
         _assert(out_.sputn(data, size) == size);
         recent_ = indent_;
-        position_.columns(size);
+        position_.Columns(size);
     }
 
     _finline void operator ()(const char *data) {
@@ -1191,19 +1191,17 @@ struct CYVar :
     virtual void Output(CYOutput &out, CYFlags flags) const;
 };
 
-struct CYLetStatement :
+struct CYLet :
     CYStatement
 {
     CYDeclarations *declarations_;
-    CYStatement *code_;
 
-    CYLetStatement(CYDeclarations *declarations, CYStatement *code) :
-        declarations_(declarations),
-        code_(code)
+    CYLet(CYDeclarations *declarations) :
+        declarations_(declarations)
     {
     }
 
-    CYCompact(Long)
+    CYCompact(None)
 
     virtual CYStatement *Replace(CYContext &context);
     virtual void Output(CYOutput &out, CYFlags flags) const;
@@ -1231,9 +1229,9 @@ struct CYProperty :
     }
 
     CYProperty *ReplaceAll(CYContext &context, CYBuilder &builder, CYExpression *self, bool update);
-    void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, bool computed);
+    void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, bool protect);
 
-    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name) = 0;
+    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect) = 0;
 
     virtual void Replace(CYContext &context) = 0;
     virtual void Output(CYOutput &out) const;
@@ -1250,7 +1248,7 @@ struct CYPropertyValue :
     {
     }
 
-    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name);
+    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect);
     virtual void Replace(CYContext &context);
     virtual void Output(CYOutput &out) const;
 };
@@ -1626,7 +1624,7 @@ struct CYPropertyGetter :
     {
     }
 
-    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name);
+    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect);
     virtual void Output(CYOutput &out) const;
 };
 
@@ -1638,7 +1636,7 @@ struct CYPropertySetter :
     {
     }
 
-    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name);
+    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect);
     virtual void Output(CYOutput &out) const;
 };
 
@@ -1652,7 +1650,7 @@ struct CYPropertyMethod :
 
     virtual CYFunctionExpression *Constructor();
 
-    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name);
+    virtual void Replace(CYContext &context, CYBuilder &builder, CYExpression *self, CYExpression *name, bool protect);
     virtual void Output(CYOutput &out) const;
 };