The base class of all unrecoverable runtime errors.
The base class of all errors that are safe to catch and handle.
All D class objects inherit from Object.
The base class of all thrown objects.
Runtime type information about a type. Can be retrieved for any type using a $(GLINK2 expression,TypeidExpression, TypeidExpression).
Runtime type information about a class. Can be retrieved from an object instance by using the typeid expression.
The compiler lowers expressions of cast(TTo[])TFrom[] to this implementation. Note that this does not detect alignment problems.
Writes s to stderr during CTFE (does nothing at runtime).
Support for switch statements switching on strings.
Compiler lowers final switch default case to this (which is a runtime error) Old implementation is in core/exception.d
Implementation of _d_arrayappendT
TraceGC wrapper around core.internal.array.appending._d_arrayappendT.
Extend an array px by n elements. Caller must initialize those elements.
TraceGC wrapper around core.internal.array.appending._d_arrayappendT.
Does array assignment (not construction) from another array of the same element type. Handles overlapping copies. Assumes the right hand side is an lvalue,
Does array assignment (not construction) from another array of the same element type. Does not support overlapping copies. Assumes the right hand side is an rvalue,
Concatenate the arrays inside of froms. _d_arraycatnTX(a, b, c) means a ~ b ~ c.
TraceGC wrapper around core.internal.array.concatenation._d_arraycatnTX.
Does array initialization (not assignment) from another array of the same element type.
Sets all elements of an array to a single value. Takes into account postblits, copy constructors and destructors. For Plain Old Data elements,rt/memset.d is used.
Do construction of an array. ticount p = value;
Allocate an exception of type T from the exception pool. T must be Throwable or derived from it and cannot be a COM or C++ class.
Allocate an array with the garbage collector. Also initalize elements if their type has an initializer. Otherwise, not zero-initialize the array.
TraceGC wrapper around core.lifetime._d_newitemT.
Create a new multi-dimensional array. Also initalize elements if their type has an initializer. Otherwise, not zero-initialize the array.
TraceGC wrapper around core.internal.array.construction._d_newarraymT.
Create a new class instance. Allocates memory and sets fields to their initial value, but does not call a constructor.
TraceGC wrapper around core.lifetime._d_newclassT.
Allocate an initialized non-array item.
TraceGC wrapper around core.lifetime._d_newitemT.
Assume that it is safe to append to this array. Appends made to this array after calling this function may append in place, even if the array was a slice of a larger array to begin with.
Returns a forward range which will iterate over the keys of the associative array. The keys are returned by reference.
Returns a forward range which will iterate over the key-value pairs of the associative array. The returned pairs are represented by an opaque type with .key and .value properties for accessing references to the key and value of the pair, respectively.
Returns a forward range which will iterate over the values of the associative array. The values are returned by reference.
Removes all remaining keys and values from an associative array.
Destroys the given object and optionally resets to initial state. It's used to destroy an object, calling its destructor or finalizer so it no longer references any other objects. It does not initiate a GC cycle or free any GC memory. If initialize is supplied false, the object is considered invalid after destruction, and should not be referenced.
Creates a new associative array of the same size and copies the contents of the associative array into it.
Looks up key; if it exists returns corresponding value else evaluates and returns defaultValue.
Calculates the hash value of arg with an optional seed initial value. The result might not be equal to typeid(T).getHash(&arg).
Returns a newly allocated dynamic array containing a copy of the keys from the associative array.
Implementation for class opEquals override. Calls the class-defined methods after a null check. Please note this is not nogc right now, even if your implementation is, because of the typeinfo name string compare. This is because of dmd's dll implementation. However, it can infer to @safe if your class' opEquals is.
Reorganizes the associative array in place so that lookups are more efficient.
Looks up key; if it exists returns corresponding value else evaluates value, adds it to the associative array and returns it.
Reserves capacity for a slice. The capacity is the size that the slice can grow to before the underlying array must be reallocated or extended.
Makes ownee use owner's mutex. This will initialize owner's mutex if it hasn't been set yet.
Calls create if key doesn't exist in the associative array, otherwise calls update. create returns a corresponding value for key. update accepts a key parameter. If it returns a value, the value is set for key.
Returns a newly allocated dynamic array containing a copy of the values from the associative array.
(Property) Gets the current capacity of a slice. The capacity is the size that the slice can grow to before the underlying array must be reallocated or extended.
Provide the .dup array property.
Provide the .idup array property.
Information about an interface. When an object is accessed via an interface, an Interface* appears as the first entry in its vtbl.
An instance of ModuleInfo is generated into the object file for each compiled module.
Array of pairs giving the offset and type information for each member in an aggregate.
Use this attribute to declare an ABI tag on a C++ symbol.
Use this attribute to attach an Objective-C selector to a method.
Create RTInfo for type T
Implementation of _d_arraysetlengthT and _d_arraysetlengthTTrace
Generates rich assert error messages for binary expressions
A template containing C main and any call(s) to initialize druntime and call D main. Any module containing a D main function declaration will cause the compiler to generate a mixin _d_cmain(); statement to inject this code into the module.
Implementation of _d_delstruct and _d_delstructTrace
Provides an "inline import", i.e. an import that is only available for a limited lookup. For example:
shortcuts for the precise GC, also generated by the compiler used instead of the actual pointer bitmap
Forms the symbols available to all D programs. Includes Object, which is the root of the class object hierarchy. This module is implicitly imported.