Lines Matching refs:computation
159 static bool hasExplicitVisibilityAlready(LVComputationKind computation) { in hasExplicitVisibilityAlready() argument
160 return computation.IgnoreExplicitVisibility; in hasExplicitVisibilityAlready()
240 LVComputationKind computation) { in getLVForType() argument
241 if (computation.IgnoreAllVisibility) in getLVForType()
250 const TemplateParameterList *Params, LVComputationKind computation) { in getLVForTemplateParameterList() argument
266 LV.merge(getLVForType(*NTTP->getType(), computation)); in getLVForTemplateParameterList()
287 computation)); in getLVForTemplateParameterList()
295 TTP->getExpansionTemplateParameters(i), computation)); in getLVForTemplateParameterList()
320 LVComputationKind computation) { in getLVForTemplateArgumentList() argument
331 LV.merge(getLVForType(*Arg.getAsType(), computation)); in getLVForTemplateArgumentList()
337 LV.merge(getLVForDecl(ND, computation)); in getLVForTemplateArgumentList()
349 LV.merge(getLVForDecl(Template, computation)); in getLVForTemplateArgumentList()
353 LV.merge(getLVForTemplateArgumentList(Arg.getPackAsArray(), computation)); in getLVForTemplateArgumentList()
364 LVComputationKind computation) { in getLVForTemplateArgumentList() argument
365 return getLVForTemplateArgumentList(TArgs.asArray(), computation); in getLVForTemplateArgumentList()
390 LVComputationKind computation) { in mergeTemplateLV() argument
397 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in mergeTemplateLV()
402 LinkageInfo argsLV = getLVForTemplateArgumentList(templateArgs, computation); in mergeTemplateLV()
409 LVComputationKind computation) { in hasDirectVisibilityAttribute() argument
410 if (computation.IgnoreAllVisibility) in hasDirectVisibilityAttribute()
413 return (computation.isTypeVisibility() && D->hasAttr<TypeVisibilityAttr>()) || in hasDirectVisibilityAttribute()
421 LVComputationKind computation) { in shouldConsiderTemplateVisibility() argument
447 hasExplicitVisibilityAlready(computation)) in shouldConsiderTemplateVisibility()
450 return !hasDirectVisibilityAttribute(spec, computation); in shouldConsiderTemplateVisibility()
457 LVComputationKind computation) { in mergeTemplateLV() argument
458 bool considerVisibility = shouldConsiderTemplateVisibility(spec, computation); in mergeTemplateLV()
465 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in mergeTemplateLV()
467 considerVisibility && !hasExplicitVisibilityAlready(computation)); in mergeTemplateLV()
473 LinkageInfo argsLV = getLVForTemplateArgumentList(templateArgs, computation); in mergeTemplateLV()
485 LVComputationKind computation) { in shouldConsiderTemplateVisibility() argument
498 hasExplicitVisibilityAlready(computation)) in shouldConsiderTemplateVisibility()
501 return !hasDirectVisibilityAttribute(spec, computation); in shouldConsiderTemplateVisibility()
509 LVComputationKind computation) { in mergeTemplateLV() argument
510 bool considerVisibility = shouldConsiderTemplateVisibility(spec, computation); in mergeTemplateLV()
517 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in mergeTemplateLV()
519 considerVisibility && !hasExplicitVisibilityAlready(computation)); in mergeTemplateLV()
525 LinkageInfo argsLV = getLVForTemplateArgumentList(templateArgs, computation); in mergeTemplateLV()
628 LVComputationKind computation, in getLVForNamespaceScopeDecl() argument
661 return getLVForDecl(PrevVar, computation); in getLVForNamespaceScopeDecl()
682 return getLVForNamespaceScopeDecl(VD, computation, IgnoreVarTypeLinkage); in getLVForNamespaceScopeDecl()
711 if (!hasExplicitVisibilityAlready(computation)) { in getLVForNamespaceScopeDecl()
712 if (Optional<Visibility> Vis = getExplicitVisibility(D, computation)) { in getLVForNamespaceScopeDecl()
722 if (Optional<Visibility> Vis = getExplicitVisibility(ND, computation)) { in getLVForNamespaceScopeDecl()
733 computation.isValueVisibility() in getLVForNamespaceScopeDecl()
785 LinkageInfo TypeLV = getLVForType(*Var->getType(), computation); in getLVForNamespaceScopeDecl()
803 mergeTemplateLV(LV, spec, computation); in getLVForNamespaceScopeDecl()
839 mergeTemplateLV(LV, Function, specInfo, computation); in getLVForNamespaceScopeDecl()
857 mergeTemplateLV(LV, spec, computation); in getLVForNamespaceScopeDecl()
864 computation); in getLVForNamespaceScopeDecl()
871 bool considerVisibility = !hasExplicitVisibilityAlready(computation); in getLVForNamespaceScopeDecl()
873 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in getLVForNamespaceScopeDecl()
918 LVComputationKind computation, in getLVForClassMember() argument
941 if (!hasExplicitVisibilityAlready(computation)) { in getLVForClassMember()
942 if (Optional<Visibility> Vis = getExplicitVisibility(D, computation)) in getLVForClassMember()
956 LVComputationKind classComputation = computation; in getLVForClassMember()
958 classComputation = withExplicitVisibilityAlready(computation); in getLVForClassMember()
988 mergeTemplateLV(LV, MD, spec, computation); in getLVForClassMember()
1000 mergeTemplateLV(LV, spec, computation); in getLVForClassMember()
1016 mergeTemplateLV(LV, spec, computation); in getLVForClassMember()
1021 LinkageInfo typeLV = getLVForType(*VD->getType(), computation); in getLVForClassMember()
1038 !hasExplicitVisibilityAlready(computation)); in getLVForClassMember()
1040 getLVForTemplateParameterList(temp->getTemplateParameters(), computation); in getLVForClassMember()
1060 hasDirectVisibilityAttribute(explicitSpecSuppressor, computation)) { in getLVForClassMember()
1215 LVComputationKind computation) { in getLVForClosure() argument
1236 ? computeLVForDecl(Owner, computation, /*IgnoreVarTypeLinkage*/true) in getLVForClosure()
1237 : getLVForDecl(Owner, computation); in getLVForClosure()
1248 LVComputationKind computation) { in getLVForLocalDecl() argument
1259 if (!hasExplicitVisibilityAlready(computation)) { in getLVForLocalDecl()
1261 getExplicitVisibility(Function, computation)) in getLVForLocalDecl()
1280 else if (!hasExplicitVisibilityAlready(computation)) { in getLVForLocalDecl()
1281 if (Optional<Visibility> Vis = getExplicitVisibility(Var, computation)) in getLVForLocalDecl()
1286 LinkageInfo PrevLV = getLVForDecl(Prev, computation); in getLVForLocalDecl()
1313 BD->getBlockManglingContextDecl(), computation); in getLVForLocalDecl()
1323 LV = getLVForDecl(FD, computation); in getLVForLocalDecl()
1332 LV = getLVForDecl(MD->getParent(), computation); in getLVForLocalDecl()
1335 computation.isValueVisibility() in getLVForLocalDecl()
1350 LVComputationKind computation, in computeLVForDecl() argument
1380 return getLVForDecl(cast<EnumDecl>(D->getDeclContext()), computation); in computeLVForDecl()
1416 Record->getLambdaContextDecl(), computation); in computeLVForDecl()
1426 LinkageInfo LV = getLVForType(*TPO->getType(), computation); in computeLVForDecl()
1427 LV.merge(getLVForValue(TPO->getValue(), computation)); in computeLVForDecl()
1434 return getLVForNamespaceScopeDecl(D, computation, IgnoreVarTypeLinkage); in computeLVForDecl()
1444 return getLVForClassMember(D, computation, IgnoreVarTypeLinkage); in computeLVForDecl()
1458 return getLVForLocalDecl(D, computation); in computeLVForDecl()
1467 LVComputationKind computation) { in getLVForDecl() argument
1472 if (computation.IgnoreAllVisibility && D->hasCachedLinkage()) in getLVForDecl()
1475 if (llvm::Optional<LinkageInfo> LI = lookup(D, computation)) in getLVForDecl()
1478 LinkageInfo LV = computeLVForDecl(D, computation); in getLVForDecl()
1483 cache(D, computation, LV); in getLVForDecl()