X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/d15b59f5d4f43d12719c5ce37518246058b405c6..c074e774a5364a868ddde950b37342f89ae936ce:/E4X/Syntax.hpp?ds=inline diff --git a/E4X/Syntax.hpp b/E4X/Syntax.hpp index 921db02..9bec64d 100644 --- a/E4X/Syntax.hpp +++ b/E4X/Syntax.hpp @@ -56,4 +56,59 @@ struct CYDefaultXMLNamespace : virtual void Output(CYOutput &out, CYFlags flags) const; }; +struct CYPropertyIdentifier { +}; + +struct CYSelector +{ +}; + +struct CYWildcard : + CYPropertyIdentifier, + CYSelector +{ + virtual CYExpression *Replace(CYContext &context); + virtual void Output(CYOutput &out, CYFlags flags) const; +}; + +struct CYQualified : + CYPropertyIdentifier +{ + CYSelector *namespace_; + CYSelector *name_; + + CYQualified(CYSelector *_namespace, CYSelector *name) : + namespace_(_namespace), + name_(name) + { + } +}; + +struct CYPropertyVariable : + CYExpression +{ + CYPropertyIdentifier *identifier_; + + CYPropertyVariable(CYPropertyIdentifier *identifier) : + identifier_(identifier) + { + } + + CYPrecedence(0) + + virtual CYExpression *Replace(CYContext &context); + virtual void Output(CYOutput &out, CYFlags flags) const; +}; + +struct CYAttribute : + CYPropertyIdentifier +{ + CYQualified *identifier_; + + CYAttribute(CYQualified *identifier) : + identifier_(identifier) + { + } +}; + #endif/*CYCRIPT_E4X_SYNTAX_HPP*/