struct LVComputationKind

Declaration

struct LVComputationKind { /* full declaration omitted */ };

Description

Kinds of LV computation. The linkage side of the computation is always the same, but different things can change how visibility is computed.

Declared at: clang/lib/AST/Linkage.h:29

Member Variables

public unsigned int ExplicitKind
The kind of entity whose visibility is ultimately being computed; visibility computations for types and non-types follow different rules.
public unsigned int IgnoreExplicitVisibility
Whether explicit visibility attributes should be ignored. When set, visibility may only be restricted by the visibility of template arguments.
public unsigned int IgnoreAllVisibility
Whether all visibility should be ignored. When set, we're only interested in computing linkage.

Method Overview

Methods

LVComputationKind(
    NamedDecl::ExplicitVisibilityKind EK)

Declared at: clang/lib/AST/Linkage.h:42

Parameters

NamedDecl::ExplicitVisibilityKind EK

static clang::LVComputationKind forLinkageOnly()

Description

Do an LV computation when we only care about the linkage.

Declared at: clang/lib/AST/Linkage.h:58

NamedDecl::ExplicitVisibilityKind
getExplicitVisibilityKind() const

Declared at: clang/lib/AST/Linkage.h:46

bool isTypeVisibility() const

Declared at: clang/lib/AST/Linkage.h:50

bool isValueVisibility() const

Declared at: clang/lib/AST/Linkage.h:53

unsigned int toBits()

Declared at: clang/lib/AST/Linkage.h:65