View source code
Display the source code in dmd/dstruct.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.
Class dmd.dstruct.UnionDeclaration
Unions are a variation on structs.
Fields
Name | Type | Description |
---|---|---|
classKind
|
ClassKind | specifies whether this is a D, C++, Objective-C or anonymous struct/class/interface |
cppnamespace
|
CPPNamespaceDeclaration | C++ namespace this symbol belongs to |
Methods
Name | Description |
---|---|
_foreach
|
Expands attribute declarations in members in depth first order. Calls dg(size_t symidx, Dsymbol *sym) for each member. If dg returns !=0, stops and returns that value else returns 0. Use this function to avoid the O(N + N^2/2) complexity of calculating dim and calling N times getNth. |
accept
|
|
addComment
|
Add documentation comment to Dsymbol. Ignore NULL comments. |
alignmember
|
Do byte or word alignment as necessary. Align sizes of 0, as we may not know array sizes yet. |
apply
|
Iterate this dsymbol or members of this scoped dsymbol, then
call fp with the found symbol and param .
|
arraySyntaxCopy
|
Do syntax copy of an array of Dsymbol's. |
checkOverlappedFields
|
Calculate field[i].overlapped and overlapUnsafe, and check that all of explicit field initializers have unique memory space on instance. |
determineFields
|
Find all instance fields, then push them into fields .
|
determineSize
|
Collect all instance fields, then determine instance size. |
factory
|
Create instance of class specified by the fully qualified name classname. The class must either have no constructors or have a default constructor. |
fill
|
Fill out remainder of elements[] with default initializers for fields[]. |
findGetMembers
|
Look for member of the form: const(MemberInfo)[] getMembers(string); Returns NULL if not found |
fit
|
Fit elements[] to the corresponding types of the struct's fields. |
followInstantiationContext
|
Returns true if any of the symbols p1 or p2 resides in the enclosing
instantiation scope of this .
|
getAccessModule
|
Determine which Module a Dsymbol is in, as far as access rights go. |
getModule
|
Determine which Module a Dsymbol is in. |
hasPointers
|
Is Dsymbol a variable that contains pointers? |
hasStaticCtorOrDtor
|
Return true if any of the members are static ctors or static dtors, or if any members have members that are. |
inNonRoot
|
Returns true if this symbol is defined in a non-root module without instantiation. |
isMember
|
Returns an AggregateDeclaration when toParent() is that. |
isMember2
|
Returns an AggregateDeclaration when toParent2() is that. |
isMemberDecl
|
Returns an AggregateDeclaration when toParentDecl() is that. |
isMemberLocal
|
Returns an AggregateDeclaration when toParentLocal() is that. |
isNested
|
Returns true if there's an extra member which is the 'this' pointer to the enclosing context (enclosing aggregate or function) |
isPOD
|
Determine if struct is POD (Plain Old Data). |
newScope
|
Create a new scope from sc. semantic, semantic2 and semantic3 will use this for aggregate members. |
nonHiddenFields
|
|
oneMember
|
Determine if this symbol is only one. |
oneMembers
|
Same as Dsymbol::oneMember(), but look at an array of Dsymbols. |
opCmp
|
Compare with another Object obj. |
opEquals
|
Test whether this is equal to o .
The default implementation only compares by identity (using the is operator).
Generally, overrides for opEquals should attempt to compare objects by their contents.
|
pastMixin
|
pastMixin returns the enclosing symbol if this is a template mixin.
|
placeField
|
Place a member (mem) into an aggregate (agg), which can be a struct, union or class |
prot
|
|
search
|
This function is #1 on the list of functions that eat cpu time. Be very, very careful about slowing it down. |
searchCtor
|
Look for constructor declaration. |
searchX
|
Search for identifier id as a member of this .
id may be a template instance.
|
setScope
|
Set scope for future semantic analysis so we can deal better with forward references. |
size
|
|
symtabLookup
|
Look up identifier in symbol table. |
syntaxCopy
|
Copy the syntax. Used for template instantiations. If s is NULL, allocate the new object, otherwise fill it in. |
toAlias
|
If this symbol is really an alias for another, return that other. If needed, semantic() is invoked due to resolve forward reference. |
toAlias2
|
Resolve recursive tuple expansion in eponymous template. |
toHash
|
Compute hash function for Object. |
toParent
|
parent field returns a lexically enclosing scope symbol this is a member of.
|
toParent2
|
parent field returns a lexically enclosing scope symbol this is a member of.
|
toParentDecl
|
parent field returns a lexically enclosing scope symbol this is a member of.
|
toParentLocal
|
parent field returns a lexically enclosing scope symbol this is a member of.
|
toParentP
|
Returns the declaration scope scope of this unless any of the symbols
p1 or p2 resides in its enclosing instantiation scope then the
latter is returned.
|
toString
|
|
toString
|
Convert Object to a human readable string. |
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.