X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/561ac4181ec3ad1e1e207e840f70d5017ba9a1ed..2385c806df15d62fc4ec2cac7913a975e3bafa13:/Parser.hpp diff --git a/Parser.hpp b/Parser.hpp index 600e3bb..bac656d 100644 --- a/Parser.hpp +++ b/Parser.hpp @@ -1,4 +1,4 @@ -/* Cycript - Error.hppution Server and Disassembler +/* Cycript - Inlining/Optimizing JavaScript Compiler * Copyright (C) 2009 Jay Freeman (saurik) */ @@ -73,6 +73,9 @@ struct CYNext { }; struct CYThing { + virtual ~CYThing() { + } + virtual void Output(struct CYOutput &out) const = 0; }; @@ -117,6 +120,9 @@ struct CYOutput { struct CYPropertyName { virtual void PropertyName(CYOutput &out) const = 0; + + virtual ~CYPropertyName() { + } }; struct CYExpression; @@ -157,6 +163,9 @@ struct CYContext { struct CYStatement : CYNext { + virtual ~CYStatement() { + } + void Single(CYOutput &out, CYFlags flags) const; void Multiple(CYOutput &out, CYFlags flags = CYNoFlags) const; @@ -198,6 +207,9 @@ struct CYStatements { }; struct CYClassName { + virtual ~CYClassName() { + } + virtual CYExpression *ClassName(CYContext &context, bool object) = 0; virtual void ClassName(CYOutput &out, bool object) const = 0; }; @@ -346,10 +358,16 @@ class CYDriver { }; struct CYForInitialiser { + virtual ~CYForInitialiser() { + } + virtual void For(CYOutput &out) const = 0; }; struct CYForInInitialiser { + virtual ~CYForInInitialiser() { + } + virtual void ForIn(CYOutput &out, CYFlags flags) const = 0; virtual const char *ForEachIn() const = 0; virtual CYExpression *ForEachIn(CYContext &out) = 0; @@ -634,7 +652,7 @@ struct CYString : virtual CYNumber *Number(CYContext &context); virtual CYString *String(CYContext &context); - virtual CYString *Concat(CYContext &out, CYString *rhs) const; + CYString *Concat(CYContext &out, CYString *rhs) const; virtual void Output(CYOutput &out, CYFlags flags) const; virtual void PropertyName(CYOutput &out) const; }; @@ -1243,6 +1261,9 @@ struct CYFunction { { } + virtual ~CYFunction() { + } + virtual void Replace_(CYContext &context); virtual void Output(CYOutput &out, CYFlags flags) const; };