W3cubDocs

/D

dmd.identifier

Compiler implementation of the D programming language.

Authors:
Walter Bright
License:
Boost License 1.0
Source
identifier.d
Documentation
https://dlang.org/phobos/dmd_identifier.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/src/dmd/identifier.d
class Identifier: dmd.root.rootobject.RootObject;
nothrow this(const(char)* name, size_t length, int value);

Construct an identifier from a D slice

Note
Since name needs to be \0 terminated for toChars, no slice overload is provided yet.
Parameters:
const(char)* name the identifier name There must be '\0' at name[length].
size_t length the length of name, excluding the terminating '\0'
int value Identifier value (e.g. Id.unitTest) or TOK.identifier
static nothrow Identifier anonymous();

Sentinel for an anonymous identifier.

static nothrow Identifier generateIdWithLoc(string prefix, ref const Loc loc);

Generate deterministic named identifier based on a source location, such that the name is consistent across multiple compilations. A new unique name is generated. If the prefix+location is already in the stringtable, an extra suffix is added (starting the count at "1").

Parameters:
string prefix first part of the identifier name.
Loc loc source location to use in the identifier name.
Returns:
Identifier (inside Identifier.idPool) with deterministic name based on the source location.
static nothrow Identifier idPool(const(char)* s, uint len);

Create an identifier in the string table.

static nothrow bool isValidIdentifier(const(char)* str);

static nothrow bool isValidIdentifier(const(char)[] str);

Determine if string is a valid Identifier.

Parameters:
const(char)* str string to check
Returns:
false for invalid

© 1999–2019 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/dmd_identifier.html