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)* namethe identifier name. There must be '\0' at name[length].size_t lengththe length of name, excluding the terminating '\0'int valueIdentifier value (e.g. Id.unitTest) or TOK.identifier - static nothrow Identifier
generateId(const(char)[]prefix); - Generates a new identifier.Parameters:
const(char)[] prefixthis 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)[] namethis 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)[] prefixthis will be the prefix of the name of the identifier. For debugging purpose. size_t suffixthis will be the suffix of the name of the identifier. This is what makes the identifier unique - static nothrow Identifier
generateIdWithLoc(stringprefix, 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 prefixfirst part of the identifier name. Loc locsource 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)[] sstring for keyword TOK valueTOK.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)* strstring 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 Mon Mar 31 10:27:39 2025