X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/561e7f1c23ea3804db1625ab806be939b4e9c5d1..5b75838211f16d9c88fb1bae3193e3693a1bee39:/ObjectiveC/Syntax.hpp diff --git a/ObjectiveC/Syntax.hpp b/ObjectiveC/Syntax.hpp index e910154..96e4604 100644 --- a/ObjectiveC/Syntax.hpp +++ b/ObjectiveC/Syntax.hpp @@ -106,6 +106,41 @@ struct CYTypedIdentifier : } }; +struct CYTypedParameter : + CYNext +{ + CYTypedIdentifier *typed_; + + CYTypedParameter(CYTypedIdentifier *typed, CYTypedParameter *next) : + CYNext(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 {