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.traits

Compiler implementation of the D programming language.
Authors:

Source traits.d

struct PushAttributes;
TraitsExp
Dsymbol getDsymbolWithoutExpCtx(RootObject oarg);
Convert Expression or Type to corresponding Dsymbol, additionally stripping off expression contexts.
Some symbol related __traits ignore arguments expression contexts. For example:
 struct S { void f() {} }
 S s;
 pragma(msg, __traits(isNested, s.f));
 // s.f is `DotVarExp`, but `__traits(isNested)`` needs a `FuncDeclaration`.
This is used for that common __traits behavior.

Input oarg object to get the symbol for

Returns:
Dsymbol the corresponding symbol for oarg
d_uns64 getTypePointerBitmap(Loc loc, Type t, Array!d_uns64* data);
get an array of size_t values that indicate possible pointer words in memory if interpreted as the type given as argument
Returns:
the size of the type in bytes, d_uns64.max on error