本文整理汇总了C++中CError::SetSource方法的典型用法代码示例。如果您正苦于以下问题:C++ CError::SetSource方法的具体用法?C++ CError::SetSource怎么用?C++ CError::SetSource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CError
的用法示例。
在下文中一共展示了CError::SetSource方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Validate
CError CNullBinaryOperationValidator::Validate(C_OPERATION_SYNTAX& syntax, C_CONTEXT& context) const
{
CError result;
auto operationType = COperationTypeEnum(syntax.GetOperationType()).ToString();
if (syntax.GetLeftOperandID() == NONE_ID)
{
result.SetSource(EErrorSource::Producing);
result.SetLiveLine(syntax.GetLiveLine());
result.SetDescription(CWStringTemplate(L"Left operand of operation:[%x] is invalid").Format(operationType));
}
if (syntax.GetRightOperandID() == NONE_ID)
{
result.SetSource(EErrorSource::Producing);
result.SetLiveLine(syntax.GetLiveLine());
result.SetDescription(CWStringTemplate(L"Right operand of operation:[%x] is invalid").Format(operationType));
}
return move(result);
}
示例2: Validate
CError CUndefinedReferenceValidator::Validate(C_FUNCTION_SYNTAX& syntax, C_CONTEXT& context) const
{
CError result;
if (!ValidateReference(syntax.GetLiveNamespace(), syntax.GetName(), EIdentifierType::Function, context))
{
result.SetSource(EErrorSource::Producing);
result.SetLiveLine(syntax.GetLiveLine());
result.SetDescription(CWStringTemplate(L"Funtion:'%x' has not been defined").Format(syntax.GetName()));
}
return move(result);
}
示例3: Validate
CError CDuplicationValidator::Validate(C_DEFINE_FUNCTION_SYNTAX& syntax, C_CONTEXT& context) const
{
CError result;
if (context.HasDefinedIdentifier(syntax.GetLiveNamespace(), syntax.GetName(), EIdentifierType::Function))
{
auto description = CWStringTemplate(L"Duplicated definition of function:'%x.%x'").Format(syntax.GetLiveNamespace().ToString(), syntax.GetName());
result.SetSource(EErrorSource::Producing);
result.SetLiveLine(syntax.GetLiveLine());
result.SetDescription(description);
}
return move(result);
}