本文整理汇总了C++中Sema::BuildDeclRefExpr方法的典型用法代码示例。如果您正苦于以下问题:C++ Sema::BuildDeclRefExpr方法的具体用法?C++ Sema::BuildDeclRefExpr怎么用?C++ Sema::BuildDeclRefExpr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sema
的用法示例。
在下文中一共展示了Sema::BuildDeclRefExpr方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: buildPromiseCall
static ExprResult buildPromiseCall(Sema &S, VarDecl *Promise,
SourceLocation Loc, StringRef Name,
MultiExprArg Args) {
// Form a reference to the promise.
ExprResult PromiseRef = S.BuildDeclRefExpr(
Promise, Promise->getType().getNonReferenceType(), VK_LValue, Loc);
if (PromiseRef.isInvalid())
return ExprError();
return buildMemberCall(S, PromiseRef.get(), Loc, Name, Args);
}
示例2: buildPromiseCall
static ExprResult buildPromiseCall(Sema &S, FunctionScopeInfo *Coroutine,
SourceLocation Loc, StringRef Name,
MutableArrayRef<Expr *> Args) {
assert(Coroutine->CoroutinePromise && "no promise for coroutine");
// Form a reference to the promise.
auto *Promise = Coroutine->CoroutinePromise;
ExprResult PromiseRef = S.BuildDeclRefExpr(
Promise, Promise->getType().getNonReferenceType(), VK_LValue, Loc);
if (PromiseRef.isInvalid())
return ExprError();
// Call 'yield_value', passing in E.
return buildMemberCall(S, PromiseRef.get(), Loc, Name, Args);
}