dmd.attrib

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)

Members

Classes

AlignDeclaration
class AlignDeclaration
AnonDeclaration
class AnonDeclaration
AttribDeclaration
class AttribDeclaration
CPPMangleDeclaration
class CPPMangleDeclaration
CPPNamespaceDeclaration
class CPPNamespaceDeclaration

A node to represent an extern(C++) namespace attribute

CompileDeclaration
class CompileDeclaration

Mixin declarations, like: mixin("int x"); https://dlang.org/spec/module.html#mixin-declaration

ConditionalDeclaration
class ConditionalDeclaration
DeprecatedDeclaration
class DeprecatedDeclaration
ForwardingAttribDeclaration
class ForwardingAttribDeclaration

Collection of declarations that stores foreach index variables in a local symbol table. Other symbols declared within are forwarded to another scope, like:

LinkDeclaration
class LinkDeclaration
PragmaDeclaration
class PragmaDeclaration
ProtDeclaration
class ProtDeclaration
StaticForeachDeclaration
class StaticForeachDeclaration

Static foreach at declaration scope, like: static foreach (i; [0, 1, 2]){ }

StaticIfDeclaration
class StaticIfDeclaration
StorageClassDeclaration
class StorageClassDeclaration
UserAttributeDeclaration
class UserAttributeDeclaration

User defined attributes look like: @foo(args, ...) @(args, ...)

Meta