summaryrefslogtreecommitdiffstats
path: root/tools/aidl/AST.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/aidl/AST.h')
-rwxr-xr-xtools/aidl/AST.h15
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