Lines Matching full:transformation
1 //===------- TreeTransform.h - Semantic Tree Transformation -----*- C++ -*-===//
9 // This file implements a semantic tree transformation that takes a given
43 /// \brief A semantic tree transformation that allows one to transform one
46 /// A new tree transformation is defined by creating a new subclass \c X of
48 /// behavior specific to that transformation. For example, template
49 /// instantiation is implemented as a tree transformation where the
50 /// transformation of TemplateTypeParmType nodes involves substituting the
52 /// transformation is performed for non-type template parameters and
55 /// This tree-transformation template uses static polymorphism to allow
57 /// override any of the transformation or rebuild operators by providing an
63 /// or the parts of an AST node using the various transformation functions,
65 /// node of the appropriate kind from the pieces. The default transformation
68 /// were changed by the transformation, invokes the rebuild operation to create
71 /// Subclasses can customize the transformation at various levels. The
79 /// PointerType, StmtExpr) to alter the transformation. As mentioned previously,
89 /// to avoid traversing nodes that don't need any transformation
140 /// \brief Whether the transformation should always rebuild AST nodes, even
143 /// Subclasses may override this function to specify when the transformation
163 /// information is known based on another transformation.
207 /// CXXDefaultArgument nodes are dropped (prior to transformation).
297 /// to alter the transformation.
366 /// due to transformation.
417 /// This specific declaration transformation only applies to the first
784 // that we'll retry deduction after the transformation.
2793 // transformation on the pack expansion, producing another pack
2901 // There is no meaningful transformation that one could perform on the
3326 // transformation on the pack expansion, producing another pack
3391 // Type transformation
5224 // Statement transformation
6312 // Expression transformation
6560 "opaque value expression requires transformation");
6841 // Implicit casts are eliminated during transformation, since they
6842 // will be recomputed by semantic analysis after transformation.
7054 /// By default, the transformation of an address-of-label expression always
7894 // transformation on the pack expansion, producing another pack
8685 // Default behavior is to do nothing with this transformation.
8693 // Default behavior is to do nothing with this transformation.
8700 // Default behavior is to do nothing with this transformation.
8796 // transformation on the pack expansion, producing another pack