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

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

Minor changes towards maintaining UseDef? information.

File size: 688 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#include <iostream>
7
8namespace pablo {
9
10class Call : public Statement {
11    friend class PabloBlock;
12public:
13    static inline bool classof(const PabloAST * e) {
14        return e->getClassTypeId() == ClassTypeId::Call;
15    }
16    static inline bool classof(const void *) {
17        return false;
18    }
19    virtual ~Call() {
20    }
21    inline const String * getCallee() const {
22        return cast<String>(mOperand[0]);
23    }
24protected:
25    Call(PabloAST * callee, PabloBlock * parent)
26    : Statement(ClassTypeId::Call, {callee}, cast<String>(callee), parent) {
27
28    }
29};
30}
31
32#endif // PE_CALL_H
33
34
Note: See TracBrowser for help on using the repository browser.