diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-12-12 07:27:37 -0500 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-12-12 07:27:37 -0500 |
commit | 6e31f25903dd0fb7dd43da64aff0e0ed020a4641 (patch) | |
tree | fc31cd1472eb729cdc4d7f140ef8e50e4ecb40df /src | |
parent | 84288282ef586d5664159b9a9fc54dacfc89c052 (diff) | |
download | binaryen-6e31f25903dd0fb7dd43da64aff0e0ed020a4641.tar.gz binaryen-6e31f25903dd0fb7dd43da64aff0e0ed020a4641.tar.bz2 binaryen-6e31f25903dd0fb7dd43da64aff0e0ed020a4641.zip |
share operands in a base class for all calls
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/wasm.h b/src/wasm.h index d81f4087a..13f1d29a7 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -468,12 +468,18 @@ public: }; -class Call : public Expression { +class CallBase : public Expression { public: - Call() : Expression(CallId) {} + CallBase(Id which) : Expression(which) {} - Name target; ExpressionList operands; +}; + +class Call : public CallBase { +public: + Call() : CallBase(CallId) {} + + Name target; std::ostream& printBody(std::ostream &o, unsigned indent) { o << target; @@ -549,13 +555,12 @@ public: } }; -class CallIndirect : public Expression { +class CallIndirect : public CallBase { public: - CallIndirect() : Expression(CallIndirectId) {} + CallIndirect() : CallBase(CallIndirectId) {} FunctionType *fullType; Expression *target; - ExpressionList operands; std::ostream& doPrint(std::ostream &o, unsigned indent) { printOpening(o, "call_indirect ") << fullType->name; |