Lines Matching full:initialization
1 //===- Initialization.h - Semantic Analysis for Initializers ----*- C++ -*-===//
9 // This file provides supporting data types for initialization of objects.
87 /// The initialization is being done by a delegating constructor.
127 /// object initialized via parenthesized aggregate initialization.
140 /// initialization occurs.
166 /// initialization in a copy or move constructor. These can perform array
170 /// When Kind == EK_Member, whether this is the initial initialization
217 /// Create the initialization entity for a variable.
221 /// Create the initialization entity for the result of a
232 /// Create the initialization entity for a member subobject.
240 /// Create the initialization entity for an array element.
244 /// Create the initialization entity for a lambda capture.
253 /// Create the initialization entity for a variable.
258 /// Create the initialization entity for a parameter.
264 /// Create the initialization entity for a parameter, but use
280 /// Create the initialization entity for a parameter that is
293 /// Create the initialization entity for a template parameter.
304 /// Create the initialization entity for the result of a function.
326 /// Create the initialization entity for an exception object.
332 /// Create the initialization entity for an object allocated via new.
337 /// Create the initialization entity for a temporary.
342 /// Create the initialization entity for a temporary.
354 /// Create the initialization entity for a temporary.
362 /// Create the initialization entity for a related result.
370 /// Create the initialization entity for a base class subobject.
376 /// Create the initialization entity for a delegated constructor.
381 /// Create the initialization entity for a member subobject.
389 /// Create the initialization entity for a member subobject.
397 /// Create the initialization entity for a member subobject initialized via
405 /// Create the initialization entity for a default member initializer.
411 /// Create the initialization entity for an array element.
418 /// Create the initialization entity for a structured binding.
423 /// Create the initialization entity for a lambda capture.
440 /// Determine the kind of initialization.
444 /// the initialization itself is occurring within the context of a
445 /// larger initialization.
470 /// Determine whether this initialization allows the named return
483 /// Determine whether this initialization consumes the
508 /// Is this the implicit initialization of a member of a class from
577 /// Describes the kind of initialization being performed, along with
578 /// location information for tokens related to the initialization (equal sign,
582 /// The kind of initialization being performed.
584 /// Direct initialization
587 /// Direct list-initialization
590 /// Copy initialization
593 /// Default initialization
596 /// Value initialization
601 /// The context of the initialization.
609 /// Implicit context (value initialization)
622 /// The kind of initialization being performed.
625 /// The context of the initialization.
628 /// The source locations involved in the initialization.
640 /// Create a direct initialization.
660 /// Create a direct initialization due to a cast that isn't a C-style
667 /// Create a direct initialization for a C-style cast.
678 /// Create a direct initialization for a functional cast.
686 /// Create a copy initialization.
695 /// Create a default initialization.
700 /// Create a value initialization.
709 /// Create an initialization from an initializer (which, for direct
710 /// initialization from a parenthesized list, will be a ParenListExpr).
721 /// Determine the initialization kind.
726 /// Determine whether this initialization is an explicit cast.
731 /// Determine whether this initialization is a static cast.
734 /// Determine whether this initialization is a C-style cast.
749 /// Determine whether this initialization is an implicit
750 /// value-initialization, e.g., as occurs during aggregate
751 /// initialization.
754 /// Retrieve the location at which initialization is occurring.
757 /// Retrieve the source range that covers the initialization.
762 /// Retrieve the location of the equal sign for copy initialization
765 assert(Kind == IK_Copy && "Only copy initialization has an '='"); in getEqualLoc()
771 /// Retrieve whether this initialization allows the use of explicit
775 /// Retrieve whether this initialization allows the use of explicit
778 /// permitted even though we are performing copy-initialization.
783 /// Determine whether this initialization has a source range containing the
794 "initialization have parentheses or " in getParenOrBraceRange()
804 /// Describes the kind of initialization sequence computed.
806 /// A failed initialization sequence. The failure kind tells what
810 /// A dependent initialization, which could not be
819 /// Describes the kind of a particular step in an initialization
846 /// Direct-initialization from a reference-related object in the
847 /// final stage of class copy-initialization.
875 /// Perform list-initialization without a constructor.
884 /// Perform initialization via a constructor.
887 /// Perform initialization via a constructor, taking arguments from
897 /// Initialization by string
900 /// An initialization that "converts" an Objective-C object
904 /// Array indexing for initialization by elementwise copy.
907 /// Array initialization by elementwise copy.
910 /// Array initialization (from an array rvalue).
913 /// Array initialization (from an array rvalue) as a GNU extension.
916 /// Array initialization from a parenthesized initializer list.
932 /// Perform initialization via a constructor taking a single
947 /// A single step in the initialization sequence.
950 /// The kind of conversion or initialization step we are taking.
953 // The type that results from this initialization.
988 /// The kind of initialization sequence computed.
991 /// Steps taken by this initialization.
995 /// Describes why initialization failed.
1039 /// Overloading due to reference initialization failed.
1082 /// Reference initialization from an initializer list
1085 /// Initialization of some unused destination type with an
1092 /// Overloading for initialization by constructor failed.
1095 /// Overloading for list-initialization by constructor failed.
1098 /// Default-initialization of a 'const' object.
1101 /// Initialization of an incomplete type.
1107 /// List initialization failed at some point.
1111 /// resolved by initialization.
1118 /// List-copy-initialization chose an explicit constructor.
1121 /// Parenthesized list initialization failed at some point.
1130 /// The reason why initialization failed.
1136 /// The candidate set created when initialization failed.
1142 /// The fixit that needs to be applied to make this initialization
1161 /// Try to perform initialization of the given entity, creating a
1162 /// record of the steps required to perform the initialization.
1164 /// The generated initialization sequence will either contain enough
1171 /// \param Kind the kind of initialization being performed.
1173 /// \param Args the argument(s) provided for initialization.
1192 /// Perform the actual initialization of the given entity based on
1193 /// the computed initialization sequence.
1199 /// \param Kind the kind of initialization being performed.
1201 /// \param Args the argument(s) provided for initialization, ownership of
1210 /// \returns an expression that performs the actual object initialization, if
1211 /// the initialization is well-formed. Otherwise, emits diagnostics
1219 /// Diagnose an potentially-invalid initialization sequence.
1221 /// \returns true if the initialization sequence was ill-formed,
1228 /// Determine the kind of initialization sequence computed.
1234 /// Determine whether the initialization sequence is valid.
1237 /// Determine whether the initialization sequence is invalid.
1249 /// Determine whether this initialization is a direct reference
1253 /// Determine whether this initialization failed due to an ambiguity.
1256 /// Determine whether this initialization is direct call to a
1260 /// Add a new step in the initialization that resolves the address
1269 /// Add a new step in the initialization that performs a derived-to-
1299 /// the given type, as the final step in class copy-initialization.
1326 /// Add a list-initialization step.
1329 /// Add a constructor-initialization step.
1340 /// Add a zero-initialization step.
1357 /// Add an array initialization loop step.
1360 /// Add an array initialization step.
1363 /// Add a parenthesized array initialization step.
1391 /// Note that this initialization sequence failed.
1399 /// Note that this initialization sequence failed due to failed
1409 /// Get the overloading result, for when the initialization
1415 /// Note that this initialization sequence failed due to an
1422 /// Determine why initialization failed.
1424 assert(Failed() && "Not an initialization failure!"); in getFailureKind()
1428 /// Dump a representation of this initialization sequence to
1432 /// Dump a representation of this initialization sequence to