]> git.saurik.com Git - cycript.git/blobdiff - Syntax.hpp
Finally implemented *entire* ECMAScript 6 grammar.
[cycript.git] / Syntax.hpp
index 3d248d6c58e20905919ef95ff83d7f8b83b335a5..b20e5115409268475925c44130fcffacab7ab4eb 100644 (file)
@@ -614,8 +614,6 @@ struct CYComprehension :
         return this;
     }
 
-    virtual const char *Name() const = 0;
-
     virtual CYFunctionParameter *Parameter(CYContext &context) const = 0;
     CYFunctionParameter *Parameters(CYContext &context) const;
     virtual CYStatement *Replace(CYContext &context, CYStatement *statement) const;
@@ -625,20 +623,16 @@ struct CYComprehension :
 struct CYForInComprehension :
     CYComprehension
 {
-    CYIdentifier *name_;
+    CYDeclaration *declaration_;
     CYExpression *set_;
 
-    CYForInComprehension(CYIdentifier *name, CYExpression *set, CYComprehension *next = NULL) :
+    CYForInComprehension(CYDeclaration *declaration, CYExpression *set, CYComprehension *next = NULL) :
         CYComprehension(next),
-        name_(name),
+        declaration_(declaration),
         set_(set)
     {
     }
 
-    virtual const char *Name() const {
-        return name_->Word();
-    }
-
     virtual CYFunctionParameter *Parameter(CYContext &context) const;
     virtual CYStatement *Replace(CYContext &context, CYStatement *statement) const;
     virtual void Output(CYOutput &out) const;
@@ -647,20 +641,16 @@ struct CYForInComprehension :
 struct CYForOfComprehension :
     CYComprehension
 {
-    CYIdentifier *name_;
+    CYDeclaration *declaration_;
     CYExpression *set_;
 
-    CYForOfComprehension(CYIdentifier *name, CYExpression *set, CYComprehension *next = NULL) :
+    CYForOfComprehension(CYDeclaration *declaration, CYExpression *set, CYComprehension *next = NULL) :
         CYComprehension(next),
-        name_(name),
+        declaration_(declaration),
         set_(set)
     {
     }
 
-    virtual const char *Name() const {
-        return name_->Word();
-    }
-
     virtual CYFunctionParameter *Parameter(CYContext &context) const;
     virtual CYStatement *Replace(CYContext &context, CYStatement *statement) const;
     virtual void Output(CYOutput &out) const;
@@ -677,10 +667,6 @@ struct CYIfComprehension :
     {
     }
 
-    virtual const char *Name() const {
-        return NULL;
-    }
-
     virtual CYFunctionParameter *Parameter(CYContext &context) const;
     virtual CYStatement *Replace(CYContext &context, CYStatement *statement) const;
     virtual void Output(CYOutput &out) const;