X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/3c1c3635db4635a7aef0a5f625678378f48b6696..b92ceddb344ea82a067100ab116ff59d7f7c96f3:/E4X/Syntax.hpp diff --git a/E4X/Syntax.hpp b/E4X/Syntax.hpp index 84d23e2..9bec64d 100644 --- a/E4X/Syntax.hpp +++ b/E4X/Syntax.hpp @@ -1,4 +1,4 @@ -/* Cycript - Remote Execution Server and Disassembler +/* Cycript - Inlining/Optimizing JavaScript Compiler * Copyright (C) 2009 Jay Freeman (saurik) */ @@ -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*/