]> git.saurik.com Git - cycript.git/blobdiff - ObjectiveC/Syntax.hpp
Parse bison output to prevent LexSetRegExp mistakes.
[cycript.git] / ObjectiveC / Syntax.hpp
index e9101541f23c5960f05c55be9f96e5f1a8e93fb1..96e4604ec824c9bb746f35c8199bfe55c13b328b 100644 (file)
@@ -106,6 +106,41 @@ struct CYTypedIdentifier :
     }
 };
 
+struct CYTypedParameter :
+    CYNext<CYTypedParameter>
+{
+    CYTypedIdentifier *typed_;
+
+    CYTypedParameter(CYTypedIdentifier *typed, CYTypedParameter *next) :
+        CYNext<CYTypedParameter>(next),
+        typed_(typed)
+    {
+    }
+
+    CYFunctionParameter *Parameters(CYContext &context);
+    CYExpression *TypeSignature(CYContext &context, CYExpression *prefix);
+};
+
+struct CYObjCBlock :
+    CYExpression
+{
+    CYTypeModifier *type_;
+    CYTypedParameter *parameters_;
+    CYStatement *statements_;
+
+    CYObjCBlock(CYTypeModifier *type, CYTypedParameter *parameters, CYStatement *statements) :
+        type_(type),
+        parameters_(parameters),
+        statements_(statements)
+    {
+    }
+
+    CYPrecedence(1)
+
+    virtual CYExpression *Replace(CYContext &context);
+    virtual void Output(CYOutput &out, CYFlags flags) const;
+};
+
 struct CYEncodedType :
     CYExpression
 {