View source code
							
							
						
								Display the source code in dmd/attrib.d from which this
								page was generated on github.
							
						
							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
								local clone.
							
						Module 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)
Documentation
https://dlang.org/phobos/dmd_attrib.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/src/dmd/attrib.d
Functions
| Name | Description | 
|---|---|
| 
									foreachUda(sym, sc, dg)
								 | Iterates the UDAs attached to the given symbol. | 
| 
									foreachUdaNoSemantic(sym, dg)
								 | Iterates the UDAs attached to the given symbol, without performing semantic analysis. | 
| 
									isCoreUda(sym, ident)
								 | Returns trueif the given symbol is a symbol declared incoreand has the given identifier. | 
Classes
| Name | Description | 
|---|---|
| 
									AlignDeclaration
								 | Alignment attribute for aggregates, members and variables. | 
| 
									AnonDeclaration
								 | An anonymous struct/union (defined by isunion). | 
| 
									AttribDeclaration
								 | Abstract attribute applied to Dsymbol's used as a common ancestor for storage classes (StorageClassDeclaration), linkage (LinkageDeclaration) and others. | 
| 
									CompileDeclaration
								 | Mixin declarations, like: mixin("int x"); | 
| 
									ConditionalDeclaration
								 | A conditional compilation declaration, used for version/debugand specialized forstatic if. | 
| 
									CPPMangleDeclaration
								 | 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. | 
| 
									CPPNamespaceDeclaration
								 | A node to represent an extern(C++)namespace attribute | 
| 
									DeprecatedDeclaration
								 | Deprecation with an additional message applied to Dsymbols,
 e.g. deprecated("Superseeded by foo") int bar;.
 (Note thatdeprecated int bar;is currently represented as a
 StorageClassDeclaration with STC.deprecated_) | 
| 
									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
								 | Linkage attribute applied to Dsymbols, e.g. extern(C) void foo(). | 
| 
									PragmaDeclaration
								 | Pragma applied to Dsymbols, e.g. pragma(inline, true) void foo,
 but not PragmaStatement's likepragma(msg, "hello");. | 
| 
									StaticForeachDeclaration
								 | Static foreach at declaration scope, like: static foreach (i; [0, 1, 2]){ } | 
| 
									StaticIfDeclaration
								 | ` | 
| 
									StorageClassDeclaration
								 | Storage classes applied to Dsymbols, e.g. const int i; | 
| 
									UserAttributeDeclaration
								 | User defined attributes look like: @foo(args, ...) @(args, ...) | 
| 
									VisibilityDeclaration
								 | Visibility declaration for Dsymbols, e.g. public int i; | 
Authors
License
					Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.