Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
dmd.identifier
Defines an identifier, which is the name of a Dsymbol.
Authors:
License:
Source identifier.d
Documentation https://dlang.org/phobos/dmd_identifier.html
- class
Identifier
: dmd.rootobject.RootObject; -
- nothrow this(const(char)*
name
); - Construct an identifier from the given name.
- nothrow this(const(char)*
name
, size_tlength
, intvalue
);
nothrow @safe this(const(char)[]name
, intvalue
); - Construct an identifier from the given name.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
generateId
(const(char)[]prefix
); - Generates a new identifier.Parameters:
const(char)[] prefix
this will be the prefix of the name of the identifier. For debugging purpose. - static nothrow Identifier
generateAnonymousId
(const(char)[]name
); - Generates a new anonymous identifier.Parameters:
const(char)[] name
this will be part of the name of the identifier. For debugging purpose. - static nothrow Identifier
generateId
(const(char)[]prefix
, size_tsuffix
);
static nothrow IdentifiergenerateId
(const(char)*prefix
, size_tlength
, size_tsuffix
); - Generates a new identifier.Parameters:
const(char)[] prefix
this will be the prefix of the name of the identifier. For debugging purpose. size_t suffix
this will be the suffix of the name of the identifier. This is what makes the identifier unique - static nothrow Identifier
generateIdWithLoc
(stringprefix
, const ref Locloc
, stringparent
= ""); - 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. string parent
(optional) extra part to be used in uniqueness check, if (prefix1, loc1) == (prefix2, loc2), but parent1 != parent2, no new name will be generated. Returns:Identifier (inside Identifier.idPool) with deterministic name based on the source location. - static nothrow Identifier
idPool
(scope const(char)*s
, uintlen
); - Create an identifier in the string table.
- static nothrow void
idPool
(scope const(char)[]s
, TOKvalue
); - Used for inserting keywords into the string table.Parameters:
const(char)[] s
string for keyword TOK value
TOK.xxxx for the keyword - static nothrow bool
isValidIdentifier
(const(char)*str
);
static nothrow @trusted boolisValidIdentifier
(const(char)[]str
); - Determine if string is a valid Identifier.Parameters:
const(char)* str
string to check Returns:false for invalidExamples:assert(Identifier.isValidIdentifier("tes123_t".ptr)); assert(!Identifier.isValidIdentifier("tes123_^t".ptr)); assert(Identifier.isValidIdentifier("te123s_ğt".ptr)); assert(!Identifier.isValidIdentifier("t^e123s_ğt".ptr));
Copyright © 1999-2025 by the D Language Foundation | Page generated by
Ddoc on Sun Mar 23 04:28:11 2025