Lines Matching refs:computation
160 static bool hasExplicitVisibilityAlready(LVComputationKind computation) { in hasExplicitVisibilityAlready() argument
161 return computation.IgnoreExplicitVisibility; in hasExplicitVisibilityAlready()
241 LVComputationKind computation) { in getLVForType() argument
242 if (computation.IgnoreAllVisibility) in getLVForType()
251 const TemplateParameterList *Params, LVComputationKind computation) { in getLVForTemplateParameterList() argument
267 LV.merge(getLVForType(*NTTP->getType(), computation)); in getLVForTemplateParameterList()
288 computation)); in getLVForTemplateParameterList()
296 TTP->getExpansionTemplateParameters(i), computation)); in getLVForTemplateParameterList()
321 LVComputationKind computation) { in getLVForTemplateArgumentList() argument
332 LV.merge(getLVForType(*Arg.getAsType(), computation)); in getLVForTemplateArgumentList()
338 LV.merge(getLVForDecl(ND, computation)); in getLVForTemplateArgumentList()
350 LV.merge(getLVForDecl(Template, computation)); in getLVForTemplateArgumentList()
354 LV.merge(getLVForTemplateArgumentList(Arg.getPackAsArray(), computation)); in getLVForTemplateArgumentList()
365 LVComputationKind computation) { in getLVForTemplateArgumentList() argument
366 return getLVForTemplateArgumentList(TArgs.asArray(), computation); in getLVForTemplateArgumentList()
391 LVComputationKind computation) { in mergeTemplateLV() argument
397 LinkageInfo tempLV = getLVForDecl(temp, computation); in mergeTemplateLV()
404 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in mergeTemplateLV()
409 LinkageInfo argsLV = getLVForTemplateArgumentList(templateArgs, computation); in mergeTemplateLV()
416 LVComputationKind computation) { in hasDirectVisibilityAttribute() argument
417 if (computation.IgnoreAllVisibility) in hasDirectVisibilityAttribute()
420 return (computation.isTypeVisibility() && D->hasAttr<TypeVisibilityAttr>()) || in hasDirectVisibilityAttribute()
428 LVComputationKind computation) { in shouldConsiderTemplateVisibility() argument
454 hasExplicitVisibilityAlready(computation)) in shouldConsiderTemplateVisibility()
457 return !hasDirectVisibilityAttribute(spec, computation); in shouldConsiderTemplateVisibility()
464 LVComputationKind computation) { in mergeTemplateLV() argument
465 bool considerVisibility = shouldConsiderTemplateVisibility(spec, computation); in mergeTemplateLV()
471 LinkageInfo tempLV = getLVForDecl(temp, computation); in mergeTemplateLV()
477 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in mergeTemplateLV()
479 considerVisibility && !hasExplicitVisibilityAlready(computation)); in mergeTemplateLV()
485 LinkageInfo argsLV = getLVForTemplateArgumentList(templateArgs, computation); in mergeTemplateLV()
497 LVComputationKind computation) { in shouldConsiderTemplateVisibility() argument
510 hasExplicitVisibilityAlready(computation)) in shouldConsiderTemplateVisibility()
513 return !hasDirectVisibilityAttribute(spec, computation); in shouldConsiderTemplateVisibility()
521 LVComputationKind computation) { in mergeTemplateLV() argument
522 bool considerVisibility = shouldConsiderTemplateVisibility(spec, computation); in mergeTemplateLV()
528 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in mergeTemplateLV()
530 considerVisibility && !hasExplicitVisibilityAlready(computation)); in mergeTemplateLV()
536 LinkageInfo argsLV = getLVForTemplateArgumentList(templateArgs, computation); in mergeTemplateLV()
647 LVComputationKind computation, in getLVForNamespaceScopeDecl() argument
680 return getLVForDecl(PrevVar, computation); in getLVForNamespaceScopeDecl()
701 return getLVForNamespaceScopeDecl(VD, computation, IgnoreVarTypeLinkage); in getLVForNamespaceScopeDecl()
730 if (!hasExplicitVisibilityAlready(computation)) { in getLVForNamespaceScopeDecl()
731 if (std::optional<Visibility> Vis = getExplicitVisibility(D, computation)) { in getLVForNamespaceScopeDecl()
742 getExplicitVisibility(ND, computation)) { in getLVForNamespaceScopeDecl()
753 computation.isValueVisibility() in getLVForNamespaceScopeDecl()
806 LinkageInfo TypeLV = getLVForType(*Var->getType(), computation); in getLVForNamespaceScopeDecl()
824 mergeTemplateLV(LV, spec, computation); in getLVForNamespaceScopeDecl()
869 mergeTemplateLV(LV, Function, specInfo, computation); in getLVForNamespaceScopeDecl()
887 mergeTemplateLV(LV, spec, computation); in getLVForNamespaceScopeDecl()
894 computation); in getLVForNamespaceScopeDecl()
901 bool considerVisibility = !hasExplicitVisibilityAlready(computation); in getLVForNamespaceScopeDecl()
903 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in getLVForNamespaceScopeDecl()
944 LVComputationKind computation, in getLVForClassMember() argument
967 if (!hasExplicitVisibilityAlready(computation)) { in getLVForClassMember()
968 if (std::optional<Visibility> Vis = getExplicitVisibility(D, computation)) in getLVForClassMember()
982 LVComputationKind classComputation = computation; in getLVForClassMember()
984 classComputation = withExplicitVisibilityAlready(computation); in getLVForClassMember()
1014 mergeTemplateLV(LV, MD, spec, computation); in getLVForClassMember()
1036 mergeTemplateLV(LV, spec, computation); in getLVForClassMember()
1052 mergeTemplateLV(LV, spec, computation); in getLVForClassMember()
1057 LinkageInfo typeLV = getLVForType(*VD->getType(), computation); in getLVForClassMember()
1074 !hasExplicitVisibilityAlready(computation)); in getLVForClassMember()
1076 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in getLVForClassMember()
1096 hasDirectVisibilityAttribute(explicitSpecSuppressor, computation)) { in getLVForClassMember()
1266 LVComputationKind computation) { in getLVForClosure() argument
1292 ? computeLVForDecl(Owner, computation, /*IgnoreVarTypeLinkage*/true) in getLVForClosure()
1293 : getLVForDecl(Owner, computation); in getLVForClosure()
1304 LVComputationKind computation) { in getLVForLocalDecl() argument
1315 if (!hasExplicitVisibilityAlready(computation)) { in getLVForLocalDecl()
1317 getExplicitVisibility(Function, computation)) in getLVForLocalDecl()
1336 else if (!hasExplicitVisibilityAlready(computation)) { in getLVForLocalDecl()
1338 getExplicitVisibility(Var, computation)) in getLVForLocalDecl()
1343 LinkageInfo PrevLV = getLVForDecl(Prev, computation); in getLVForLocalDecl()
1370 BD->getBlockManglingContextDecl(), computation); in getLVForLocalDecl()
1380 LV = getLVForDecl(FD, computation); in getLVForLocalDecl()
1389 LV = getLVForDecl(MD->getParent(), computation); in getLVForLocalDecl()
1392 computation.isValueVisibility() in getLVForLocalDecl()
1407 LVComputationKind computation, in computeLVForDecl() argument
1438 return getLVForDecl(cast<EnumDecl>(D->getDeclContext()), computation); in computeLVForDecl()
1474 Record->getLambdaContextDecl(), computation); in computeLVForDecl()
1484 LinkageInfo LV = getLVForType(*TPO->getType(), computation); in computeLVForDecl()
1485 LV.merge(getLVForValue(TPO->getValue(), computation)); in computeLVForDecl()
1492 return getLVForNamespaceScopeDecl(D, computation, IgnoreVarTypeLinkage); in computeLVForDecl()
1502 return getLVForClassMember(D, computation, IgnoreVarTypeLinkage); in computeLVForDecl()
1516 return getLVForLocalDecl(D, computation); in computeLVForDecl()
1525 LVComputationKind computation) { in getLVForDecl() argument
1530 if (computation.IgnoreAllVisibility && D->hasCachedLinkage()) in getLVForDecl()
1533 if (std::optional<LinkageInfo> LI = lookup(D, computation)) in getLVForDecl()
1536 LinkageInfo LV = computeLVForDecl(D, computation); in getLVForDecl()
1541 cache(D, computation, LV); in getLVForDecl()