X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/690cf1a8442f51ef6d03d9a0a4fb4ee2e9bb714d..4f8fca8fa217661b5f75b1bb4c610c345d87fe98:/ObjectiveC/Syntax.hpp diff --git a/ObjectiveC/Syntax.hpp b/ObjectiveC/Syntax.hpp index 343cb37..8fa10ee 100644 --- a/ObjectiveC/Syntax.hpp +++ b/ObjectiveC/Syntax.hpp @@ -27,12 +27,12 @@ struct CYObjCBlock : CYExpression { - CYTypeModifier *type_; + CYTypedIdentifier *typed_; CYTypedParameter *parameters_; CYStatement *statements_; - CYObjCBlock(CYTypeModifier *type, CYTypedParameter *parameters, CYStatement *statements) : - type_(type), + CYObjCBlock(CYTypedIdentifier *typed, CYTypedParameter *parameters, CYStatement *statements) : + typed_(typed), parameters_(parameters), statements_(statements) { @@ -44,22 +44,6 @@ struct CYObjCBlock : virtual void Output(CYOutput &out, CYFlags flags) const; }; -struct CYEncodedType : - CYExpression -{ - CYTypeModifier *type_; - - CYEncodedType(CYTypeModifier *type) : - type_(type) - { - } - - CYPrecedence(1) - - virtual CYExpression *Replace(CYContext &context); - virtual void Output(CYOutput &out, CYFlags flags) const; -}; - struct CYBox : CYExpression { @@ -185,9 +169,32 @@ struct CYProtocol : void Output(CYOutput &out) const; }; +struct CYModule : + CYNext, + CYThing +{ + CYWord *part_; + + CYModule(CYWord *part, CYModule *next = NULL) : + CYNext(next), + part_(part) + { + } + + CYString *Replace(CYContext &context, const char *separator) const; + void Output(CYOutput &out) const; +}; + struct CYImport : CYStatement { + CYModule *module_; + + CYImport(CYModule *module) : + module_(module) + { + } + virtual CYStatement *Replace(CYContext &context); virtual void Output(CYOutput &out, CYFlags flags) const; };