diff options
Diffstat (limited to 'tools/aidl/AST.h')
-rwxr-xr-x | tools/aidl/AST.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/aidl/AST.h b/tools/aidl/AST.h index 3156356..fe92a26 100755 --- a/tools/aidl/AST.h +++ b/tools/aidl/AST.h @@ -54,6 +54,16 @@ struct LiteralExpression : public Expression virtual void Write(FILE* to); }; +// TODO: also escape the contents. not needed for now +struct StringLiteralExpression : public Expression +{ + string value; + + StringLiteralExpression(const string& value); + virtual ~StringLiteralExpression(); + virtual void Write(FILE* to); +}; + struct Variable : public Expression { Type* type; @@ -146,6 +156,7 @@ struct MethodCall : public Expression vector<string> exceptions; MethodCall(const string& name); + MethodCall(const string& name, int argc, ...); MethodCall(Expression* obj, const string& name); MethodCall(Type* clazz, const string& name); MethodCall(Expression* obj, const string& name, int argc, ...); @@ -174,8 +185,12 @@ struct NewExpression : public Expression vector<Expression*> arguments; NewExpression(Type* type); + NewExpression(Type* type, int argc, ...); virtual ~NewExpression(); virtual void Write(FILE* to); + +private: + void init(int n, va_list args); }; struct NewArrayExpression : public Expression |