diff --git a/src/ast/access_decoration.h b/src/ast/access_decoration.h index 2a50e2c2c2..507b8f377d 100644 --- a/src/ast/access_decoration.h +++ b/src/ast/access_decoration.h @@ -45,8 +45,6 @@ class AccessDecoration : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node AccessDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/array_accessor_expression.h b/src/ast/array_accessor_expression.h index 32911b2fc1..81dae4b368 100644 --- a/src/ast/array_accessor_expression.h +++ b/src/ast/array_accessor_expression.h @@ -47,8 +47,6 @@ class ArrayAccessorExpression /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node ArrayAccessorExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/assignment_statement.h b/src/ast/assignment_statement.h index 294b8e1ee2..b8037759df 100644 --- a/src/ast/assignment_statement.h +++ b/src/ast/assignment_statement.h @@ -44,8 +44,6 @@ class AssignmentStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node AssignmentStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/binary_expression.h b/src/ast/binary_expression.h index 71a18599ff..f02644315e 100644 --- a/src/ast/binary_expression.h +++ b/src/ast/binary_expression.h @@ -110,8 +110,6 @@ class BinaryExpression : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node BinaryExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/binding_decoration.h b/src/ast/binding_decoration.h index 6f9f2bbdeb..cae00429ea 100644 --- a/src/ast/binding_decoration.h +++ b/src/ast/binding_decoration.h @@ -45,8 +45,6 @@ class BindingDecoration /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node BindingDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/bitcast_expression.h b/src/ast/bitcast_expression.h index 734be10cc8..7f9b93792e 100644 --- a/src/ast/bitcast_expression.h +++ b/src/ast/bitcast_expression.h @@ -44,8 +44,6 @@ class BitcastExpression : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node BitcastExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/block_statement.h b/src/ast/block_statement.h index 2af2cf6ebe..f7df6140b5 100644 --- a/src/ast/block_statement.h +++ b/src/ast/block_statement.h @@ -66,8 +66,6 @@ class BlockStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node BlockStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/bool_literal.h b/src/ast/bool_literal.h index 05eb137235..f07bbf7f57 100644 --- a/src/ast/bool_literal.h +++ b/src/ast/bool_literal.h @@ -46,8 +46,6 @@ class BoolLiteral : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node BoolLiteral* Clone(CloneContext* ctx) const override; diff --git a/src/ast/break_statement.h b/src/ast/break_statement.h index 23f50e5057..271b1ff418 100644 --- a/src/ast/break_statement.h +++ b/src/ast/break_statement.h @@ -32,8 +32,6 @@ class BreakStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node BreakStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/builtin_decoration.h b/src/ast/builtin_decoration.h index cbe700e7ca..85dc0e5db8 100644 --- a/src/ast/builtin_decoration.h +++ b/src/ast/builtin_decoration.h @@ -44,8 +44,6 @@ class BuiltinDecoration /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node BuiltinDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/call_expression.h b/src/ast/call_expression.h index d84f074169..997d4c681d 100644 --- a/src/ast/call_expression.h +++ b/src/ast/call_expression.h @@ -43,8 +43,6 @@ class CallExpression : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node CallExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/call_statement.h b/src/ast/call_statement.h index dfbb06be6c..01698fb04f 100644 --- a/src/ast/call_statement.h +++ b/src/ast/call_statement.h @@ -40,8 +40,6 @@ class CallStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node CallStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/case_statement.h b/src/ast/case_statement.h index 5b5d664be8..e62a47a371 100644 --- a/src/ast/case_statement.h +++ b/src/ast/case_statement.h @@ -56,8 +56,6 @@ class CaseStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node CaseStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/constant_id_decoration.h b/src/ast/constant_id_decoration.h index 11acca6324..faba01bab9 100644 --- a/src/ast/constant_id_decoration.h +++ b/src/ast/constant_id_decoration.h @@ -44,8 +44,6 @@ class ConstantIdDecoration /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node ConstantIdDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/continue_statement.h b/src/ast/continue_statement.h index ab2e8707d4..df8a3a549c 100644 --- a/src/ast/continue_statement.h +++ b/src/ast/continue_statement.h @@ -35,8 +35,6 @@ class ContinueStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node ContinueStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/discard_statement.h b/src/ast/discard_statement.h index bb6e95a531..14e96e439d 100644 --- a/src/ast/discard_statement.h +++ b/src/ast/discard_statement.h @@ -32,8 +32,6 @@ class DiscardStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node DiscardStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/else_statement.h b/src/ast/else_statement.h index a432c49eae..95977dd916 100644 --- a/src/ast/else_statement.h +++ b/src/ast/else_statement.h @@ -52,8 +52,6 @@ class ElseStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node ElseStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/fallthrough_statement.h b/src/ast/fallthrough_statement.h index 2db9546cc2..b0d14b08bd 100644 --- a/src/ast/fallthrough_statement.h +++ b/src/ast/fallthrough_statement.h @@ -32,8 +32,6 @@ class FallthroughStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node FallthroughStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/float_literal.h b/src/ast/float_literal.h index b3deb9c616..f28ce97ccc 100644 --- a/src/ast/float_literal.h +++ b/src/ast/float_literal.h @@ -44,8 +44,6 @@ class FloatLiteral : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node FloatLiteral* Clone(CloneContext* ctx) const override; diff --git a/src/ast/function.h b/src/ast/function.h index 02c6cbafd0..ca2f6f3bcf 100644 --- a/src/ast/function.h +++ b/src/ast/function.h @@ -93,8 +93,6 @@ class Function : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node Function* Clone(CloneContext* ctx) const override; diff --git a/src/ast/group_decoration.h b/src/ast/group_decoration.h index 1ff24be569..aa219e3e03 100644 --- a/src/ast/group_decoration.h +++ b/src/ast/group_decoration.h @@ -44,8 +44,6 @@ class GroupDecoration : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node GroupDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/identifier_expression.h b/src/ast/identifier_expression.h index cc532735ef..7b4da0e758 100644 --- a/src/ast/identifier_expression.h +++ b/src/ast/identifier_expression.h @@ -41,8 +41,6 @@ class IdentifierExpression : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node IdentifierExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/if_statement.h b/src/ast/if_statement.h index 10ee4a1c1b..3397368326 100644 --- a/src/ast/if_statement.h +++ b/src/ast/if_statement.h @@ -57,8 +57,6 @@ class IfStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node IfStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/location_decoration.h b/src/ast/location_decoration.h index 3d28c69241..44e2c08ef0 100644 --- a/src/ast/location_decoration.h +++ b/src/ast/location_decoration.h @@ -45,8 +45,6 @@ class LocationDecoration /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node LocationDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/loop_statement.h b/src/ast/loop_statement.h index b4f7f74618..ede2fc069d 100644 --- a/src/ast/loop_statement.h +++ b/src/ast/loop_statement.h @@ -54,8 +54,6 @@ class LoopStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node LoopStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/member_accessor_expression.h b/src/ast/member_accessor_expression.h index 3e6fd9bb55..45b4d6882e 100644 --- a/src/ast/member_accessor_expression.h +++ b/src/ast/member_accessor_expression.h @@ -47,8 +47,6 @@ class MemberAccessorExpression /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node MemberAccessorExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/module.h b/src/ast/module.h index 0a5470e509..cd506a22fa 100644 --- a/src/ast/module.h +++ b/src/ast/module.h @@ -89,8 +89,6 @@ class Module : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node Module* Clone(CloneContext* ctx) const override; diff --git a/src/ast/node.h b/src/ast/node.h index e7b92625c4..0090c35bbf 100644 --- a/src/ast/node.h +++ b/src/ast/node.h @@ -42,8 +42,6 @@ class Node : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node virtual Node* Clone(CloneContext* ctx) const = 0; diff --git a/src/ast/null_literal.h b/src/ast/null_literal.h index de6f7fc0e5..c1455a2168 100644 --- a/src/ast/null_literal.h +++ b/src/ast/null_literal.h @@ -40,8 +40,6 @@ class NullLiteral : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node NullLiteral* Clone(CloneContext* ctx) const override; diff --git a/src/ast/return_statement.h b/src/ast/return_statement.h index 31c4fb57c9..9de729ef16 100644 --- a/src/ast/return_statement.h +++ b/src/ast/return_statement.h @@ -45,8 +45,6 @@ class ReturnStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node ReturnStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/scalar_constructor_expression.h b/src/ast/scalar_constructor_expression.h index 052eb05d55..ee437805bb 100644 --- a/src/ast/scalar_constructor_expression.h +++ b/src/ast/scalar_constructor_expression.h @@ -41,8 +41,6 @@ class ScalarConstructorExpression /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node ScalarConstructorExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/sint_literal.h b/src/ast/sint_literal.h index 61fa7404fb..366c08f835 100644 --- a/src/ast/sint_literal.h +++ b/src/ast/sint_literal.h @@ -44,8 +44,6 @@ class SintLiteral : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node SintLiteral* Clone(CloneContext* ctx) const override; diff --git a/src/ast/stage_decoration.h b/src/ast/stage_decoration.h index f34bd219d8..bd89394a0f 100644 --- a/src/ast/stage_decoration.h +++ b/src/ast/stage_decoration.h @@ -43,8 +43,6 @@ class StageDecoration : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node StageDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/stride_decoration.h b/src/ast/stride_decoration.h index 7e4031f5a6..d8ae8bb390 100644 --- a/src/ast/stride_decoration.h +++ b/src/ast/stride_decoration.h @@ -44,8 +44,6 @@ class StrideDecoration : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node StrideDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/struct.h b/src/ast/struct.h index 36b00628d3..cff8c6e9e2 100644 --- a/src/ast/struct.h +++ b/src/ast/struct.h @@ -57,8 +57,6 @@ class Struct : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node Struct* Clone(CloneContext* ctx) const override; diff --git a/src/ast/struct_block_decoration.h b/src/ast/struct_block_decoration.h index c9e7d8af9c..d18117a5fc 100644 --- a/src/ast/struct_block_decoration.h +++ b/src/ast/struct_block_decoration.h @@ -43,8 +43,6 @@ class StructBlockDecoration /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node StructBlockDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/struct_member.h b/src/ast/struct_member.h index c087b2be0b..14411c7fab 100644 --- a/src/ast/struct_member.h +++ b/src/ast/struct_member.h @@ -60,8 +60,6 @@ class StructMember : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node StructMember* Clone(CloneContext* ctx) const override; diff --git a/src/ast/struct_member_offset_decoration.h b/src/ast/struct_member_offset_decoration.h index 031a758e9f..96b207f95a 100644 --- a/src/ast/struct_member_offset_decoration.h +++ b/src/ast/struct_member_offset_decoration.h @@ -45,8 +45,6 @@ class StructMemberOffsetDecoration /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node StructMemberOffsetDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/ast/switch_statement.h b/src/ast/switch_statement.h index 6c180cdbb4..5a11cbdb36 100644 --- a/src/ast/switch_statement.h +++ b/src/ast/switch_statement.h @@ -50,8 +50,6 @@ class SwitchStatement : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node SwitchStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/type_constructor_expression.h b/src/ast/type_constructor_expression.h index 9190a84083..da05b9a043 100644 --- a/src/ast/type_constructor_expression.h +++ b/src/ast/type_constructor_expression.h @@ -46,8 +46,6 @@ class TypeConstructorExpression /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node TypeConstructorExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/uint_literal.h b/src/ast/uint_literal.h index c3ff8cfded..bb69f866ec 100644 --- a/src/ast/uint_literal.h +++ b/src/ast/uint_literal.h @@ -44,8 +44,6 @@ class UintLiteral : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node UintLiteral* Clone(CloneContext* ctx) const override; diff --git a/src/ast/unary_op_expression.h b/src/ast/unary_op_expression.h index c7d80175cc..7e8cc585e8 100644 --- a/src/ast/unary_op_expression.h +++ b/src/ast/unary_op_expression.h @@ -44,8 +44,6 @@ class UnaryOpExpression : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node UnaryOpExpression* Clone(CloneContext* ctx) const override; diff --git a/src/ast/variable.h b/src/ast/variable.h index 2d18b14ebf..fe88217fe4 100644 --- a/src/ast/variable.h +++ b/src/ast/variable.h @@ -138,8 +138,6 @@ class Variable : public Castable { /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node Variable* Clone(CloneContext* ctx) const override; diff --git a/src/ast/variable_decl_statement.h b/src/ast/variable_decl_statement.h index 5acafd4ad8..edb52f670d 100644 --- a/src/ast/variable_decl_statement.h +++ b/src/ast/variable_decl_statement.h @@ -42,8 +42,6 @@ class VariableDeclStatement /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node VariableDeclStatement* Clone(CloneContext* ctx) const override; diff --git a/src/ast/workgroup_decoration.h b/src/ast/workgroup_decoration.h index af6e949600..a4f9953909 100644 --- a/src/ast/workgroup_decoration.h +++ b/src/ast/workgroup_decoration.h @@ -60,8 +60,6 @@ class WorkgroupDecoration /// Clones this node and all transitive child nodes using the `CloneContext` /// `ctx`. - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param ctx the clone context /// @return the newly cloned node WorkgroupDecoration* Clone(CloneContext* ctx) const override; diff --git a/src/clone_context.h b/src/clone_context.h index 39edc4e3c0..f528daf5b4 100644 --- a/src/clone_context.h +++ b/src/clone_context.h @@ -58,8 +58,6 @@ class CloneContext { /// /// The Node or type::Type `a` must be owned by the Program #src. /// - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param a the `Node` or `type::Type` to clone /// @return the cloned node template @@ -93,8 +91,6 @@ class CloneContext { /// /// The Node or type::Type `a` must be owned by the Program #src. /// - /// @note Semantic information such as resolved expression type and intrinsic - /// information is not cloned. /// @param a the `Node` or `type::Type` to clone /// @return the cloned node template @@ -256,7 +252,9 @@ class CloneContext { return *this; } - /// Clone performs the clone of the entire Program #src to #dst. + /// Clone performs the clone of the Program's AST nodes, types and symbols + /// from #src to #dst. Semantic nodes are not cloned, as these will be rebuilt + /// when the ProgramBuilder #dst builds its Program. void Clone(); /// The target ProgramBuilder to clone into. diff --git a/src/program.h b/src/program.h index e872f360b3..9392923f13 100644 --- a/src/program.h +++ b/src/program.h @@ -105,10 +105,18 @@ class Program { return diagnostics_; } - /// @return a deep copy of this program + /// Performs a deep clone of this program. + /// The returned Program will contain no pointers to objects owned by this + /// Program, and so after calling, this Program can be safely destructed. + /// @return a new Program copied from this Program Program Clone() const; - /// @return a deep copy of this Program, as a ProgramBuilder + /// Performs a deep clone of this Program's AST nodes, types and symbols into + /// a new ProgramBuilder. Semantic nodes are not cloned, as these will be + /// rebuilt when the ProgramBuilder builds its Program. + /// The returned ProgramBuilder will contain no pointers to objects owned by + /// this Program, and so after calling, this Program can be safely destructed. + /// @return a new ProgramBuilder copied from this Program ProgramBuilder CloneAsBuilder() const; /// @returns true if the program has no error diagnostics and is not missing