コード例 #1
0
ファイル: astutils.cpp プロジェクト: alexd74/cppcheck
bool astIsSignedChar(const Token *tok)
{
    if (!tok)
        return false;
    if (tok->str() == "*" && tok->astOperand1() && !tok->astOperand2()) {
        const Variable *var = tok->astOperand1()->variable();
        if (!var || !var->isPointer())
            return false;
        const Token *type = var->typeStartToken();
        while (type && type->str() == "const")
            type = type->next();
        return (type && type->str() == "char" && !type->isUnsigned());
    }
    return isSignedChar(tok->variable());
}
コード例 #2
0
ファイル: type.C プロジェクト: coruus/rosecheckers
bool Type::isAnyChar() const {
	return isPlainChar() || isUnsignedChar() || isSignedChar();
}
コード例 #3
0
ファイル: type.C プロジェクト: coruus/rosecheckers
bool Type::isSigned() const { //XXX what about plain char?
	return isSignedChar() || isShort() || isInt() || isLong() || isLongLong();
}