Added UnaryOperator::isPrefix().

llvm-svn: 53963
This commit is contained in:
Ted Kremenek 2008-07-23 22:18:43 +00:00
parent b9e10c02d2
commit 1692342e58
2 changed files with 14 additions and 0 deletions

View File

@ -481,6 +481,10 @@ public:
/// isPostfix - Return true if this is a postfix operation, like x++.
static bool isPostfix(Opcode Op);
/// isPostfix - Return true if this is a prefix operation, like --x.
static bool isPrefix(Opcode Op);
bool isPrefix() const { return isPrefix(Opc); }
bool isPostfix() const { return isPostfix(Opc); }
bool isIncrementOp() const {return Opc==PreInc || Opc==PostInc; }
bool isIncrementDecrementOp() const { return Opc>=PostInc && Opc<=PreDec; }

View File

@ -61,6 +61,16 @@ bool UnaryOperator::isPostfix(Opcode Op) {
}
}
bool UnaryOperator::isPrefix(Opcode Op) {
switch (Op) {
case PreInc:
case PreDec:
return true;
default:
return false;
}
}
/// getOpcodeStr - Turn an Opcode enum value into the punctuation char it
/// corresponds to, e.g. "sizeof" or "[pre]++".
const char *UnaryOperator::getOpcodeStr(Opcode Op) {