1
0
mirror of https://github.com/exaloop/codon.git synced 2025-06-03 15:03:52 +08:00
codon/compiler/sir/var.cpp
Mark Henderson d010f889dd
Namespace update to codon (#2)
* namespace seq to codon

* using namespace seq -> codon

* seq:: to codon::

Co-authored-by: ‘markhend’ <‘markhend@gmail.com’>
2021-10-04 13:10:59 -04:00

44 lines
761 B
C++

#include "var.h"
#include "module.h"
namespace codon {
namespace ir {
const char Var::NodeId = 0;
int Var::doReplaceUsedType(const std::string &name, types::Type *newType) {
if (type->getName() == name) {
type = newType;
return 1;
}
return 0;
}
const char VarValue::NodeId = 0;
int VarValue::doReplaceUsedVariable(id_t id, Var *newVar) {
if (val->getId() == id) {
val = newVar;
return 1;
}
return 0;
}
const char PointerValue::NodeId = 0;
types::Type *PointerValue::doGetType() const {
return getModule()->getPointerType(val->getType());
}
int PointerValue::doReplaceUsedVariable(id_t id, Var *newVar) {
if (val->getId() == id) {
val = newVar;
return 1;
}
return 0;
}
} // namespace ir
} // namespace codon