Lines Matching full:transformation
1 //===------- TreeTransform.h - Semantic Tree Transformation -----*- C++ -*-===//
9 // This file implements a semantic tree transformation that takes a given
42 /// \brief A semantic tree transformation that allows one to transform one
45 /// A new tree transformation is defined by creating a new subclass \c X of
47 /// behavior specific to that transformation. For example, template
48 /// instantiation is implemented as a tree transformation where the
49 /// transformation of TemplateTypeParmType nodes involves substituting the
51 /// transformation is performed for non-type template parameters and
54 /// This tree-transformation template uses static polymorphism to allow
56 /// override any of the transformation or rebuild operators by providing an
62 /// or the parts of an AST node using the various transformation functions,
64 /// node of the appropriate kind from the pieces. The default transformation
67 /// were changed by the transformation, invokes the rebuild operation to create
70 /// Subclasses can customize the transformation at various levels. The
78 /// PointerType, StmtExpr) to alter the transformation. As mentioned previously,
88 /// to avoid traversing nodes that don't need any transformation
139 /// \brief Whether the transformation should always rebuild AST nodes, even
142 /// Subclasses may override this function to specify when the transformation
162 /// information is known based on another transformation.
206 /// CXXDefaultArgument nodes are dropped (prior to transformation).
299 /// to alter the transformation.
349 /// due to transformation.
400 /// This specific declaration transformation only applies to the first
2621 // transformation on the pack expansion, producing another pack
2727 // There is no meaningful transformation that one could perform on the
3200 // transformation on the pack expansion, producing another pack
3265 // Type transformation
5078 // Statement transformation
6056 // Expression transformation
6287 "opaque value expression requires transformation");
6564 // Implicit casts are eliminated during transformation, since they
6565 // will be recomputed by semantic analysis after transformation.
6777 /// By default, the transformation of an address-of-label expression always
7604 // transformation on the pack expansion, producing another pack
8330 // Default behavior is to do nothing with this transformation.
8338 // Default behavior is to do nothing with this transformation.
8427 // transformation on the pack expansion, producing another pack