[tint] Move TextGenerator to own folder.
The text_generator requires things like diagnostics which aren't really
common.
Change-Id: I2b97b07d6dc6141838adeb8a84fa5e19447a7039
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/230794
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/glsl/writer/printer/BUILD.bazel b/src/tint/lang/glsl/writer/printer/BUILD.bazel
index a97e90d..0b908b7 100644
--- a/src/tint/lang/glsl/writer/printer/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/printer/BUILD.bazel
@@ -70,6 +70,7 @@
"//src/tint/utils/rtti",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"//src/utils",
] + select({
":tint_build_glsl_writer": [
diff --git a/src/tint/lang/glsl/writer/printer/BUILD.cmake b/src/tint/lang/glsl/writer/printer/BUILD.cmake
index 3c8c058..01e19f5 100644
--- a/src/tint/lang/glsl/writer/printer/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/printer/BUILD.cmake
@@ -71,6 +71,7 @@
tint_utils_rtti
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_glsl_writer_printer lib
diff --git a/src/tint/lang/glsl/writer/printer/BUILD.gn b/src/tint/lang/glsl/writer/printer/BUILD.gn
index 4e006f4..896e7e5 100644
--- a/src/tint/lang/glsl/writer/printer/BUILD.gn
+++ b/src/tint/lang/glsl/writer/printer/BUILD.gn
@@ -71,6 +71,7 @@
"${tint_src_dir}/utils/rtti",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
if (tint_build_glsl_writer) {
diff --git a/src/tint/lang/glsl/writer/printer/printer.cc b/src/tint/lang/glsl/writer/printer/printer.cc
index f9020a7..16ca04f 100644
--- a/src/tint/lang/glsl/writer/printer/printer.cc
+++ b/src/tint/lang/glsl/writer/printer/printer.cc
@@ -90,7 +90,7 @@
#include "src/tint/utils/macros/scoped_assignment.h"
#include "src/tint/utils/rtti/switch.h"
#include "src/tint/utils/text/string.h"
-#include "src/tint/utils/text_generator.h"
+#include "src/tint/utils/text_generator/text_generator.h"
using namespace tint::core::fluent_types; // NOLINT
diff --git a/src/tint/lang/hlsl/writer/BUILD.bazel b/src/tint/lang/hlsl/writer/BUILD.bazel
index 2a44e3b..a74b7ee 100644
--- a/src/tint/lang/hlsl/writer/BUILD.bazel
+++ b/src/tint/lang/hlsl/writer/BUILD.bazel
@@ -70,6 +70,7 @@
"//src/tint/utils/rtti",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"//src/utils",
] + select({
":tint_build_hlsl_writer": [
diff --git a/src/tint/lang/hlsl/writer/BUILD.cmake b/src/tint/lang/hlsl/writer/BUILD.cmake
index 6d43dae..60e7b3b 100644
--- a/src/tint/lang/hlsl/writer/BUILD.cmake
+++ b/src/tint/lang/hlsl/writer/BUILD.cmake
@@ -78,6 +78,7 @@
tint_utils_rtti
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_hlsl_writer lib
diff --git a/src/tint/lang/hlsl/writer/BUILD.gn b/src/tint/lang/hlsl/writer/BUILD.gn
index 39ea0c8..6001d5e 100644
--- a/src/tint/lang/hlsl/writer/BUILD.gn
+++ b/src/tint/lang/hlsl/writer/BUILD.gn
@@ -75,6 +75,7 @@
"${tint_src_dir}/utils/rtti",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
if (tint_build_hlsl_writer) {
diff --git a/src/tint/lang/hlsl/writer/ast_printer/BUILD.bazel b/src/tint/lang/hlsl/writer/ast_printer/BUILD.bazel
index 0542f73..d34c8fc 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/BUILD.bazel
+++ b/src/tint/lang/hlsl/writer/ast_printer/BUILD.bazel
@@ -70,6 +70,7 @@
"//src/tint/utils/strconv",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"//src/utils",
] + select({
":tint_build_hlsl_writer": [
@@ -142,6 +143,7 @@
"//src/tint/utils/rtti",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"@gtest",
"//src/utils",
] + select({
diff --git a/src/tint/lang/hlsl/writer/ast_printer/BUILD.cmake b/src/tint/lang/hlsl/writer/ast_printer/BUILD.cmake
index ed89e97..b05ca15 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/BUILD.cmake
+++ b/src/tint/lang/hlsl/writer/ast_printer/BUILD.cmake
@@ -71,6 +71,7 @@
tint_utils_strconv
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_hlsl_writer_ast_printer lib
@@ -150,6 +151,7 @@
tint_utils_rtti
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_hlsl_writer_ast_printer_test test
diff --git a/src/tint/lang/hlsl/writer/ast_printer/BUILD.gn b/src/tint/lang/hlsl/writer/ast_printer/BUILD.gn
index 69e590c..6ed90a1 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/BUILD.gn
+++ b/src/tint/lang/hlsl/writer/ast_printer/BUILD.gn
@@ -75,6 +75,7 @@
"${tint_src_dir}/utils/strconv",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
if (tint_build_hlsl_writer) {
@@ -146,6 +147,7 @@
"${tint_src_dir}/utils/rtti",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
if (tint_build_hlsl_writer) {
diff --git a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.h b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.h
index fa92a5d..77aa614 100644
--- a/src/tint/lang/hlsl/writer/ast_printer/ast_printer.h
+++ b/src/tint/lang/hlsl/writer/ast_printer/ast_printer.h
@@ -41,7 +41,7 @@
#include "src/tint/lang/wgsl/program/program_builder.h"
#include "src/tint/utils/containers/scope_stack.h"
#include "src/tint/utils/math/hash.h"
-#include "src/tint/utils/text_generator.h"
+#include "src/tint/utils/text_generator/text_generator.h"
// Forward declarations
namespace tint::sem {
diff --git a/src/tint/lang/hlsl/writer/printer/BUILD.bazel b/src/tint/lang/hlsl/writer/printer/BUILD.bazel
index 679f439..409afae 100644
--- a/src/tint/lang/hlsl/writer/printer/BUILD.bazel
+++ b/src/tint/lang/hlsl/writer/printer/BUILD.bazel
@@ -69,6 +69,7 @@
"//src/tint/utils/strconv",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"//src/utils",
],
copts = COPTS,
diff --git a/src/tint/lang/hlsl/writer/printer/BUILD.cmake b/src/tint/lang/hlsl/writer/printer/BUILD.cmake
index 2030095..1a52729 100644
--- a/src/tint/lang/hlsl/writer/printer/BUILD.cmake
+++ b/src/tint/lang/hlsl/writer/printer/BUILD.cmake
@@ -68,6 +68,7 @@
tint_utils_strconv
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_hlsl_writer_printer lib
diff --git a/src/tint/lang/hlsl/writer/printer/BUILD.gn b/src/tint/lang/hlsl/writer/printer/BUILD.gn
index 4f5ccdb..021dc2b 100644
--- a/src/tint/lang/hlsl/writer/printer/BUILD.gn
+++ b/src/tint/lang/hlsl/writer/printer/BUILD.gn
@@ -70,5 +70,6 @@
"${tint_src_dir}/utils/strconv",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
}
diff --git a/src/tint/lang/hlsl/writer/printer/printer.cc b/src/tint/lang/hlsl/writer/printer/printer.cc
index 91855eb..01c6fa0 100644
--- a/src/tint/lang/hlsl/writer/printer/printer.cc
+++ b/src/tint/lang/hlsl/writer/printer/printer.cc
@@ -117,7 +117,7 @@
#include "src/tint/utils/strconv/float_to_string.h"
#include "src/tint/utils/text/string.h"
#include "src/tint/utils/text/string_stream.h"
-#include "src/tint/utils/text_generator.h"
+#include "src/tint/utils/text_generator/text_generator.h"
using namespace tint::core::fluent_types; // NOLINT
diff --git a/src/tint/lang/msl/writer/printer/BUILD.bazel b/src/tint/lang/msl/writer/printer/BUILD.bazel
index 0013a3f..82d23b5 100644
--- a/src/tint/lang/msl/writer/printer/BUILD.bazel
+++ b/src/tint/lang/msl/writer/printer/BUILD.bazel
@@ -66,6 +66,7 @@
"//src/tint/utils/rtti",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"//src/utils",
] + select({
":tint_build_msl_writer": [
diff --git a/src/tint/lang/msl/writer/printer/BUILD.cmake b/src/tint/lang/msl/writer/printer/BUILD.cmake
index abbc249..b38a8a8 100644
--- a/src/tint/lang/msl/writer/printer/BUILD.cmake
+++ b/src/tint/lang/msl/writer/printer/BUILD.cmake
@@ -67,6 +67,7 @@
tint_utils_rtti
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_msl_writer_printer lib
diff --git a/src/tint/lang/msl/writer/printer/BUILD.gn b/src/tint/lang/msl/writer/printer/BUILD.gn
index 7ce6ec9..6b68a7d 100644
--- a/src/tint/lang/msl/writer/printer/BUILD.gn
+++ b/src/tint/lang/msl/writer/printer/BUILD.gn
@@ -67,6 +67,7 @@
"${tint_src_dir}/utils/rtti",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
if (tint_build_msl_writer) {
diff --git a/src/tint/lang/msl/writer/printer/printer.cc b/src/tint/lang/msl/writer/printer/printer.cc
index 5114b99..6285604 100644
--- a/src/tint/lang/msl/writer/printer/printer.cc
+++ b/src/tint/lang/msl/writer/printer/printer.cc
@@ -104,7 +104,7 @@
#include "src/tint/utils/macros/scoped_assignment.h"
#include "src/tint/utils/rtti/switch.h"
#include "src/tint/utils/text/string.h"
-#include "src/tint/utils/text_generator.h"
+#include "src/tint/utils/text_generator/text_generator.h"
using namespace tint::core::fluent_types; // NOLINT
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel b/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
index e0d8ac4..c859bf2 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.bazel
@@ -166,6 +166,7 @@
"//src/tint/utils/rtti",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"@gtest",
"//src/utils",
] + select({
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake b/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
index b3e76be..5c8f70f 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.cmake
@@ -175,6 +175,7 @@
tint_utils_rtti
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_spirv_reader_ast_parser_test test
diff --git a/src/tint/lang/spirv/reader/ast_parser/BUILD.gn b/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
index d3f0c9e..35ec00f 100644
--- a/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
+++ b/src/tint/lang/spirv/reader/ast_parser/BUILD.gn
@@ -176,6 +176,7 @@
"${tint_src_dir}/utils/rtti",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
if (tint_build_spv_reader) {
diff --git a/src/tint/lang/wgsl/writer/BUILD.bazel b/src/tint/lang/wgsl/writer/BUILD.bazel
index 3dc8b1f..dcaf404 100644
--- a/src/tint/lang/wgsl/writer/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/BUILD.bazel
@@ -74,6 +74,7 @@
"//src/tint/utils/rtti",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"//src/utils",
] + select({
":tint_build_wgsl_writer": [
diff --git a/src/tint/lang/wgsl/writer/BUILD.cmake b/src/tint/lang/wgsl/writer/BUILD.cmake
index 04ca7d0..511754d 100644
--- a/src/tint/lang/wgsl/writer/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/BUILD.cmake
@@ -80,6 +80,7 @@
tint_utils_rtti
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_wgsl_writer lib
diff --git a/src/tint/lang/wgsl/writer/BUILD.gn b/src/tint/lang/wgsl/writer/BUILD.gn
index c94298d..3e85769 100644
--- a/src/tint/lang/wgsl/writer/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/BUILD.gn
@@ -79,6 +79,7 @@
"${tint_src_dir}/utils/rtti",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
if (tint_build_wgsl_writer) {
diff --git a/src/tint/lang/wgsl/writer/ast_printer/BUILD.bazel b/src/tint/lang/wgsl/writer/ast_printer/BUILD.bazel
index 9124f90..3c476bd 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/ast_printer/BUILD.bazel
@@ -65,6 +65,7 @@
"//src/tint/utils/strconv",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"//src/utils",
],
copts = COPTS,
@@ -130,6 +131,7 @@
"//src/tint/utils/rtti",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"@gtest",
"//src/utils",
] + select({
diff --git a/src/tint/lang/wgsl/writer/ast_printer/BUILD.cmake b/src/tint/lang/wgsl/writer/ast_printer/BUILD.cmake
index 4604ef8..b22514d 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/ast_printer/BUILD.cmake
@@ -66,6 +66,7 @@
tint_utils_strconv
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_wgsl_writer_ast_printer lib
@@ -137,6 +138,7 @@
tint_utils_rtti
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_wgsl_writer_ast_printer_test test
diff --git a/src/tint/lang/wgsl/writer/ast_printer/BUILD.gn b/src/tint/lang/wgsl/writer/ast_printer/BUILD.gn
index 24e25c6..94c92fc 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/ast_printer/BUILD.gn
@@ -70,6 +70,7 @@
"${tint_src_dir}/utils/strconv",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
}
}
@@ -135,6 +136,7 @@
"${tint_src_dir}/utils/rtti",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
if (tint_build_wgsl_writer) {
diff --git a/src/tint/lang/wgsl/writer/ast_printer/ast_printer.h b/src/tint/lang/wgsl/writer/ast_printer/ast_printer.h
index 2ce3618..4001121 100644
--- a/src/tint/lang/wgsl/writer/ast_printer/ast_printer.h
+++ b/src/tint/lang/wgsl/writer/ast_printer/ast_printer.h
@@ -30,7 +30,7 @@
#include "src/tint/lang/core/binary_op.h"
#include "src/tint/utils/text/string_stream.h"
-#include "src/tint/utils/text_generator.h"
+#include "src/tint/utils/text_generator/text_generator.h"
// Forward declarations
namespace tint {
diff --git a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.bazel b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.bazel
index 1f95711..aaf4d9a 100644
--- a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.bazel
@@ -65,6 +65,7 @@
"//src/tint/utils/strconv",
"//src/tint/utils/symbol",
"//src/tint/utils/text",
+ "//src/tint/utils/text_generator",
"//src/utils",
],
copts = COPTS,
diff --git a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.cmake b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.cmake
index 40a67f6..412b7f2 100644
--- a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.cmake
@@ -64,6 +64,7 @@
tint_utils_strconv
tint_utils_symbol
tint_utils_text
+ tint_utils_text_generator
)
tint_target_add_external_dependencies(tint_lang_wgsl_writer_syntax_tree_printer lib
diff --git a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.gn b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.gn
index 8d72db5..733a3a2 100644
--- a/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/syntax_tree_printer/BUILD.gn
@@ -66,5 +66,6 @@
"${tint_src_dir}/utils/strconv",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/text_generator",
]
}
diff --git a/src/tint/lang/wgsl/writer/syntax_tree_printer/syntax_tree_printer.h b/src/tint/lang/wgsl/writer/syntax_tree_printer/syntax_tree_printer.h
index f163770..be0c98d 100644
--- a/src/tint/lang/wgsl/writer/syntax_tree_printer/syntax_tree_printer.h
+++ b/src/tint/lang/wgsl/writer/syntax_tree_printer/syntax_tree_printer.h
@@ -29,7 +29,7 @@
#define SRC_TINT_LANG_WGSL_WRITER_SYNTAX_TREE_PRINTER_SYNTAX_TREE_PRINTER_H_
#include "src/tint/lang/wgsl/program/program.h"
-#include "src/tint/utils/text_generator.h"
+#include "src/tint/utils/text_generator/text_generator.h"
// Forward declarations
namespace tint::core {
diff --git a/src/tint/utils/BUILD.bazel b/src/tint/utils/BUILD.bazel
index 532bf30..03c0b51 100644
--- a/src/tint/utils/BUILD.bazel
+++ b/src/tint/utils/BUILD.bazel
@@ -41,17 +41,14 @@
srcs = [
"generation_id.cc",
"reflection.cc",
- "text_generator.cc",
],
hdrs = [
"generation_id.h",
"internal_limits.h",
"reflection.h",
- "text_generator.h",
],
deps = [
"//src/tint/utils/containers",
- "//src/tint/utils/diagnostic",
"//src/tint/utils/ice",
"//src/tint/utils/macros",
"//src/tint/utils/math",
diff --git a/src/tint/utils/BUILD.cmake b/src/tint/utils/BUILD.cmake
index 1dad574..e0a2799 100644
--- a/src/tint/utils/BUILD.cmake
+++ b/src/tint/utils/BUILD.cmake
@@ -50,6 +50,7 @@
include(utils/symbol/BUILD.cmake)
include(utils/system/BUILD.cmake)
include(utils/text/BUILD.cmake)
+include(utils/text_generator/BUILD.cmake)
################################################################################
# Target: tint_utils
@@ -61,13 +62,10 @@
utils/internal_limits.h
utils/reflection.cc
utils/reflection.h
- utils/text_generator.cc
- utils/text_generator.h
)
tint_target_add_dependencies(tint_utils lib
tint_utils_containers
- tint_utils_diagnostic
tint_utils_ice
tint_utils_macros
tint_utils_math
diff --git a/src/tint/utils/BUILD.gn b/src/tint/utils/BUILD.gn
index cf53ab3..1c076a2 100644
--- a/src/tint/utils/BUILD.gn
+++ b/src/tint/utils/BUILD.gn
@@ -50,13 +50,10 @@
"internal_limits.h",
"reflection.cc",
"reflection.h",
- "text_generator.cc",
- "text_generator.h",
]
deps = [
"${dawn_root}/src/utils:utils",
"${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
"${tint_src_dir}/utils/ice",
"${tint_src_dir}/utils/macros",
"${tint_src_dir}/utils/math",
diff --git a/src/tint/utils/text_generator/BUILD.bazel b/src/tint/utils/text_generator/BUILD.bazel
new file mode 100644
index 0000000..452843c
--- /dev/null
+++ b/src/tint/utils/text_generator/BUILD.bazel
@@ -0,0 +1,62 @@
+# Copyright 2025 The Dawn & Tint Authors
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+################################################################################
+# File generated by 'tools/src/cmd/gen' using the template:
+# tools/src/cmd/gen/build/BUILD.bazel.tmpl
+#
+# To regenerate run: './tools/run gen'
+#
+# Do not modify this file directly
+################################################################################
+
+load("//src/tint:flags.bzl", "COPTS")
+load("@bazel_skylib//lib:selects.bzl", "selects")
+cc_library(
+ name = "text_generator",
+ srcs = [
+ "text_generator.cc",
+ ],
+ hdrs = [
+ "text_generator.h",
+ ],
+ deps = [
+ "//src/tint/utils/containers",
+ "//src/tint/utils/diagnostic",
+ "//src/tint/utils/ice",
+ "//src/tint/utils/macros",
+ "//src/tint/utils/math",
+ "//src/tint/utils/memory",
+ "//src/tint/utils/result",
+ "//src/tint/utils/rtti",
+ "//src/tint/utils/text",
+ "//src/utils",
+ ],
+ copts = COPTS,
+ visibility = ["//visibility:public"],
+)
+
diff --git a/src/tint/utils/text_generator/BUILD.cmake b/src/tint/utils/text_generator/BUILD.cmake
new file mode 100644
index 0000000..80d22fe
--- /dev/null
+++ b/src/tint/utils/text_generator/BUILD.cmake
@@ -0,0 +1,60 @@
+# Copyright 2025 The Dawn & Tint Authors
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+################################################################################
+# File generated by 'tools/src/cmd/gen' using the template:
+# tools/src/cmd/gen/build/BUILD.cmake.tmpl
+#
+# To regenerate run: './tools/run gen'
+#
+# Do not modify this file directly
+################################################################################
+
+################################################################################
+# Target: tint_utils_text_generator
+# Kind: lib
+################################################################################
+tint_add_target(tint_utils_text_generator lib
+ utils/text_generator/text_generator.cc
+ utils/text_generator/text_generator.h
+)
+
+tint_target_add_dependencies(tint_utils_text_generator lib
+ tint_utils_containers
+ tint_utils_diagnostic
+ tint_utils_ice
+ tint_utils_macros
+ tint_utils_math
+ tint_utils_memory
+ tint_utils_result
+ tint_utils_rtti
+ tint_utils_text
+)
+
+tint_target_add_external_dependencies(tint_utils_text_generator lib
+ "src_utils"
+)
diff --git a/src/tint/utils/text_generator/BUILD.gn b/src/tint/utils/text_generator/BUILD.gn
new file mode 100644
index 0000000..1cccb4e
--- /dev/null
+++ b/src/tint/utils/text_generator/BUILD.gn
@@ -0,0 +1,59 @@
+# Copyright 2025 The Dawn & Tint Authors
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+################################################################################
+# File generated by 'tools/src/cmd/gen' using the template:
+# tools/src/cmd/gen/build/BUILD.gn.tmpl
+#
+# To regenerate run: './tools/run gen'
+#
+# Do not modify this file directly
+################################################################################
+
+import("../../../../scripts/dawn_overrides_with_defaults.gni")
+import("../../../../scripts/tint_overrides_with_defaults.gni")
+
+import("${tint_src_dir}/tint.gni")
+
+libtint_source_set("text_generator") {
+ sources = [
+ "text_generator.cc",
+ "text_generator.h",
+ ]
+ deps = [
+ "${dawn_root}/src/utils:utils",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/text",
+ ]
+}
diff --git a/src/tint/utils/text_generator.cc b/src/tint/utils/text_generator/text_generator.cc
similarity index 98%
rename from src/tint/utils/text_generator.cc
rename to src/tint/utils/text_generator/text_generator.cc
index b011ab3..151d88b 100644
--- a/src/tint/utils/text_generator.cc
+++ b/src/tint/utils/text_generator/text_generator.cc
@@ -25,7 +25,7 @@
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "src/tint/utils/text_generator.h"
+#include "src/tint/utils/text_generator/text_generator.h"
#include <algorithm>
diff --git a/src/tint/utils/text_generator.h b/src/tint/utils/text_generator/text_generator.h
similarity index 97%
rename from src/tint/utils/text_generator.h
rename to src/tint/utils/text_generator/text_generator.h
index ce8f8b7..13979d0 100644
--- a/src/tint/utils/text_generator.h
+++ b/src/tint/utils/text_generator/text_generator.h
@@ -25,8 +25,8 @@
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#ifndef SRC_TINT_UTILS_TEXT_GENERATOR_H_
-#define SRC_TINT_UTILS_TEXT_GENERATOR_H_
+#ifndef SRC_TINT_UTILS_TEXT_GENERATOR_TEXT_GENERATOR_H_
+#define SRC_TINT_UTILS_TEXT_GENERATOR_TEXT_GENERATOR_H_
#include <string>
#include <utility>
@@ -199,4 +199,4 @@
} // namespace tint
-#endif // SRC_TINT_UTILS_TEXT_GENERATOR_H_
+#endif // SRC_TINT_UTILS_TEXT_GENERATOR_TEXT_GENERATOR_H_