source: icGREP/icgrep-devel/icgrep/pablo/pe_call.h @ 4578

Last change on this file since 4578 was 4438, checked in by nmedfort, 5 years ago

Preliminary steps for removal of superfluous Assigns.

File size: 670 bytes
Line 
1#ifndef PE_CALL_H
2#define PE_CALL_H
3
4#include <pablo/pabloAST.h>
5#include <pablo/pe_string.h>
6
7namespace pablo {
8
9class Call : public Statement {
10    friend class PabloBlock;
11public:
12    static inline bool classof(const PabloAST * e) {
13        return e->getClassTypeId() == ClassTypeId::Call;
14    }
15    static inline bool classof(const void *) {
16        return false;
17    }
18    virtual ~Call() {
19    }
20    inline const String * getCallee() const {
21        return cast<String>(getOperand(0));
22    }
23protected:
24    Call(PabloAST * callee, PabloBlock * parent)
25    : Statement(ClassTypeId::Call, {callee}, cast<String>(callee), parent) {
26
27    }
28};
29}
30
31#endif // PE_CALL_H
32
33
Note: See TracBrowser for help on using the repository browser.