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
); - 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
(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-2024 by the D Language Foundation | Page generated by
Ddoc on Wed Dec 18 08:51:31 2024