Alignment attribute for aggregates, members and variables.
An anonymous struct/union (defined by isunion).
Abstract attribute applied to Dsymbol's used as a common ancestor for storage classes (StorageClassDeclaration), linkage (LinkageDeclaration) and others.
Attribute declaring whether an external aggregate should be mangled as a struct or class in C++, e.g. extern(C++, struct) class C { ... }. This is required for correct name mangling on MSVC targets, see cppmanglewin.d for details.
A node to represent an extern(C++) namespace attribute
A conditional compilation declaration, used for version / debug and specialized for static if.
Deprecation with an additional message applied to Dsymbols, e.g. deprecated("Superseeded by foo") int bar;. (Note that deprecated int bar; is currently represented as a StorageClassDeclaration with STC.deprecated_)
Collection of declarations that stores foreach index variables in a local symbol table. Other symbols declared within are forwarded to another scope, like:
Linkage attribute applied to Dsymbols, e.g. extern(C) void foo().
Mixin declarations, like: mixin("int x"); https://dlang.org/spec/module.html#mixin-declaration
Pragma applied to Dsymbols, e.g. pragma(inline, true) void foo, but not PragmaStatement's like pragma(msg, "hello");.
Static foreach at declaration scope, like: static foreach (i; [0, 1, 2]){ }
`<scopesym> { static if (<condition>) { <decl> } else { <elsedecl> } }`
Storage classes applied to Dsymbols, e.g. const int i;
User defined attributes look like: @foo(args, ...) @(args, ...)
Visibility declaration for Dsymbols, e.g. public int i;
Iterates the UDAs attached to the given symbol.
Iterates the UDAs attached to the given symbol, without performing semantic analysis.
Returns true if the given symbol is a symbol declared in core.attribute and has the given identifier.
Defines declarations of various attributes.
The term 'attribute' refers to things that can apply to a larger scope than a single declaration. Among them are: - Alignment (align(8)) - User defined attributes (@UDA) - Function Attributes (@safe) - Storage classes (static, __gshared) - Mixin declarations (mixin("int x;")) - Conditional compilation (static if, static foreach) - Linkage (extern(C)) - Anonymous structs / unions - Protection (private, public) - Deprecated declarations (@deprecated)