コード例 #1
0
Type SimpleBinaryOperation::type() const
{
	if (!m_symbolCache)
		return Type();
	if (protoReturn().isUltimatelyNull() && !typeOf(FirstOperand).isNull())
		return typeOf(FirstOperand).strippedTo(protoReturn());
	else
		return protoReturn();
}
コード例 #2
0
Type SimpleUnaryOperation::type() const
{
	if (!m_symbolCache)
		return Type();
	if (protoReturn().isUltimatelyNull() && !typeOf(TheOperand).isNull())
	{
/*		mDebug() << typeOf(TheOperand)->code();
		typeOf(TheOperand)->debugTree();
		mDebug() << protoReturn()->code();
		protoReturn()->debugTree();
		mDebug() << typeOf(TheOperand).strippedTo(protoReturn())->code();
		typeOf(TheOperand).strippedTo(protoReturn())->debugTree();*/
		return typeOf(TheOperand).strippedTo(protoReturn());
	}
	return protoReturn();
}