class Name

Defined at line 157 of file ../../tools/fidl/fidlc/src/name.h

Name represents the name of a declaration. There are three kinds of names:

sourced (the usual kind), anonymous (derived from source but chosen by the

compiler), and intrinsic (not derived from any user source).

Public Methods

Name CreateSourced (const Library * library, SourceSpan span, std::optional<std::string> member_name)

Defined at line 159 of file ../../tools/fidl/fidlc/src/name.h

Name CreateAnonymous (const Library * library, SourceSpan span, std::shared_ptr<NamingContext> context, Provenance provenance)

Defined at line 175 of file ../../tools/fidl/fidlc/src/name.h

Name CreateIntrinsic (const Library * library, std::string name)

Defined at line 180 of file ../../tools/fidl/fidlc/src/name.h

Name WithMemberName (std::string member_name)

Defined at line 184 of file ../../tools/fidl/fidlc/src/name.h

const Library * library ()

Defined at line 191 of file ../../tools/fidl/fidlc/src/name.h

std::optional<SourceSpan> span ()
std::string_view decl_name ()
std::string full_name ()
const std::optional<std::string> & member_name ()

Defined at line 195 of file ../../tools/fidl/fidlc/src/name.h

bool is_sourced ()

Defined at line 224 of file ../../tools/fidl/fidlc/src/name.h

bool is_intrinsic ()

Defined at line 225 of file ../../tools/fidl/fidlc/src/name.h

const Anonymous * as_anonymous ()

Defined at line 226 of file ../../tools/fidl/fidlc/src/name.h

Enumerations

enum class Provenance : uint8_t
Name Value Comments
kAnonymousLayout 0

The name refers to an anonymous layout, like `struct {}`.

kGeneratedResultUnion 1

The name refers to a result union generated by the compiler, e.g. the
response of `strict Foo(A) -> (B) error uint32` or `flexible Foo(A) -> (B)`.

kGeneratedEmptySuccessStruct 2

The name refers to an empty success struct generated by the compiler, e.g. the
success variant for `strict Foo() -> () error uint32` or `flexible Foo() -> ()`.

Defined at line 164 of file ../../tools/fidl/fidlc/src/name.h