Import Tint changes from Dawn
Changes:
- f695ef3b919af0c2584477c67328ad7494f9b957 [tint] Remove pointless virtual overrides from Incomplete... by Ben Clayton <bclayton@google.com>
- 7711bfc304d6b18d14d2bf10584c0892e2be10a4 [tint][ir] Add Capability::kAllowRefTypes by Ben Clayton <bclayton@google.com>
- 120ca8ed30a37fb73467b3d0047b7647a3a5e23e [tint][wgsl] Pull ptr/ref handling out to raise transform by Ben Clayton <bclayton@google.com>
GitOrigin-RevId: f695ef3b919af0c2584477c67328ad7494f9b957
Change-Id: If29212aae5831d684a812d8b5ffdf55f8dde94ea
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/181145
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: dan sinclair <dsinclair@google.com>
Commit-Queue: dan sinclair <dsinclair@google.com>
diff --git a/src/tint/lang/core/intrinsic/type_matchers.h b/src/tint/lang/core/intrinsic/type_matchers.h
index 0d99634..349c2d4 100644
--- a/src/tint/lang/core/intrinsic/type_matchers.h
+++ b/src/tint/lang/core/intrinsic/type_matchers.h
@@ -47,6 +47,7 @@
#include "src/tint/lang/core/type/matrix.h"
#include "src/tint/lang/core/type/multisampled_texture.h"
#include "src/tint/lang/core/type/pointer.h"
+#include "src/tint/lang/core/type/reference.h"
#include "src/tint/lang/core/type/sampled_texture.h"
#include "src/tint/lang/core/type/storage_texture.h"
#include "src/tint/lang/core/type/texture_dimension.h"
@@ -302,6 +303,36 @@
static_cast<core::Access>(A.Value()));
}
+inline bool MatchRef(intrinsic::MatchState&,
+ const type::Type* ty,
+ intrinsic::Number& S,
+ const type::Type*& T,
+ intrinsic::Number& A) {
+ if (ty->Is<intrinsic::Any>()) {
+ S = intrinsic::Number::any;
+ T = ty;
+ A = intrinsic::Number::any;
+ return true;
+ }
+
+ if (auto* p = ty->As<type::Reference>()) {
+ S = intrinsic::Number(static_cast<uint32_t>(p->AddressSpace()));
+ T = p->StoreType();
+ A = intrinsic::Number(static_cast<uint32_t>(p->Access()));
+ return true;
+ }
+ return false;
+}
+
+inline const type::Reference* BuildRef(intrinsic::MatchState& state,
+ const type::Type*,
+ intrinsic::Number S,
+ const type::Type* T,
+ intrinsic::Number& A) {
+ return state.types.ref(static_cast<core::AddressSpace>(S.Value()), T,
+ static_cast<core::Access>(A.Value()));
+}
+
inline bool MatchAtomic(intrinsic::MatchState&, const type::Type* ty, const type::Type*& T) {
if (ty->Is<intrinsic::Any>()) {
T = ty;
diff --git a/src/tint/lang/core/ir/builder.cc b/src/tint/lang/core/ir/builder.cc
index ba14605..48da157 100644
--- a/src/tint/lang/core/ir/builder.cc
+++ b/src/tint/lang/core/ir/builder.cc
@@ -98,11 +98,11 @@
return Append(ir.instructions.Create<ir::Discard>());
}
-ir::Var* Builder::Var(const core::type::Pointer* type) {
+ir::Var* Builder::Var(const core::type::MemoryView* type) {
return Append(ir.instructions.Create<ir::Var>(InstructionResult(type)));
}
-ir::Var* Builder::Var(std::string_view name, const core::type::Pointer* type) {
+ir::Var* Builder::Var(std::string_view name, const core::type::MemoryView* type) {
auto* var = Var(type);
ir.SetName(var, name);
return var;
diff --git a/src/tint/lang/core/ir/builder.h b/src/tint/lang/core/ir/builder.h
index 3640439..4593c79 100644
--- a/src/tint/lang/core/ir/builder.h
+++ b/src/tint/lang/core/ir/builder.h
@@ -1037,8 +1037,8 @@
template <typename VAL>
ir::Load* Load(VAL&& from) {
auto* value = Value(std::forward<VAL>(from));
- return Append(
- ir.instructions.Create<ir::Load>(InstructionResult(value->Type()->UnwrapPtr()), value));
+ return Append(ir.instructions.Create<ir::Load>(
+ InstructionResult(value->Type()->UnwrapPtrOrRef()), value));
}
/// Creates a store instruction
@@ -1083,13 +1083,13 @@
/// Creates a new `var` declaration
/// @param type the var type
/// @returns the instruction
- ir::Var* Var(const core::type::Pointer* type);
+ ir::Var* Var(const core::type::MemoryView* type);
/// Creates a new `var` declaration with a name
/// @param name the var name
/// @param type the var type
/// @returns the instruction
- ir::Var* Var(std::string_view name, const core::type::Pointer* type);
+ ir::Var* Var(std::string_view name, const core::type::MemoryView* type);
/// Creates a new `var` declaration with a name and initializer value
/// @tparam SPACE the var's address space
@@ -1097,9 +1097,12 @@
/// @param name the var name
/// @param init the var initializer
/// @returns the instruction
- template <core::AddressSpace SPACE = core::AddressSpace::kFunction,
- core::Access ACCESS = core::type::DefaultAccessFor(SPACE),
- typename VALUE = void>
+ template <
+ core::AddressSpace SPACE = core::AddressSpace::kFunction,
+ core::Access ACCESS = core::Access::kReadWrite,
+ typename VALUE = void,
+ typename = std::enable_if_t<
+ !traits::IsTypeOrDerived<std::remove_pointer_t<std::decay_t<VALUE>>, core::type::Type>>>
ir::Var* Var(std::string_view name, VALUE&& init) {
auto* val = Value(std::forward<VALUE>(init));
if (TINT_UNLIKELY(!val)) {
diff --git a/src/tint/lang/core/ir/store.h b/src/tint/lang/core/ir/store.h
index 2ba7936..bc647c2 100644
--- a/src/tint/lang/core/ir/store.h
+++ b/src/tint/lang/core/ir/store.h
@@ -62,6 +62,9 @@
/// @returns the value being stored too
const Value* To() const { return operands_[kToOperandOffset]; }
+ /// @param to the value being stored too
+ void SetTo(Value* to) { SetOperand(kToOperandOffset, to); }
+
/// @returns the value being stored
Value* From() { return operands_[kFromOperandOffset]; }
diff --git a/src/tint/lang/core/ir/transform/helper_test.h b/src/tint/lang/core/ir/transform/helper_test.h
index 6b1bdfa..84e0f7e 100644
--- a/src/tint/lang/core/ir/transform/helper_test.h
+++ b/src/tint/lang/core/ir/transform/helper_test.h
@@ -37,6 +37,7 @@
#include "src/tint/lang/core/ir/builder.h"
#include "src/tint/lang/core/ir/disassembler.h"
#include "src/tint/lang/core/ir/validator.h"
+#include "src/tint/utils/containers/enum_set.h"
namespace tint::core::ir::transform {
@@ -57,7 +58,7 @@
}
// Validate the output IR.
- EXPECT_EQ(ir::Validate(mod), Success);
+ EXPECT_EQ(ir::Validate(mod, capabilities), Success);
}
/// @returns the transformed module as a disassembled string
@@ -70,6 +71,8 @@
ir::Builder b{mod};
/// The type manager.
core::type::Manager& ty{mod.Types()};
+ /// IR validation capabilities
+ Capabilities capabilities;
};
using TransformTest = TransformTestBase<testing::Test>;
diff --git a/src/tint/lang/core/ir/validator.cc b/src/tint/lang/core/ir/validator.cc
index 3b96695..0a61365 100644
--- a/src/tint/lang/core/ir/validator.cc
+++ b/src/tint/lang/core/ir/validator.cc
@@ -27,6 +27,7 @@
#include "src/tint/lang/core/ir/validator.h"
+#include <cstdint>
#include <memory>
#include <string>
#include <utility>
@@ -65,7 +66,10 @@
#include "src/tint/lang/core/ir/user_call.h"
#include "src/tint/lang/core/ir/var.h"
#include "src/tint/lang/core/type/bool.h"
+#include "src/tint/lang/core/type/memory_view.h"
#include "src/tint/lang/core/type/pointer.h"
+#include "src/tint/lang/core/type/reference.h"
+#include "src/tint/lang/core/type/type.h"
#include "src/tint/lang/core/type/vector.h"
#include "src/tint/lang/core/type/void.h"
#include "src/tint/utils/containers/reverse.h"
@@ -86,13 +90,47 @@
namespace {
+/// @returns true if the type @p type is of, or indirectly references a type of type `T`.
+template <typename T>
+bool HoldsType(const type::Type* type) {
+ if (!type) {
+ return false;
+ }
+ Vector<const type::Type*, 8> stack{type};
+ Hashset<const type::Type*, 8> seen{type};
+ while (!stack.IsEmpty()) {
+ auto* ty = stack.Pop();
+ if (ty->Is<T>()) {
+ return true;
+ }
+
+ if (auto* view = ty->As<type::MemoryView>(); view && seen.Add(view)) {
+ stack.Push(view);
+ continue;
+ }
+
+ auto type_count = ty->Elements();
+ if (type_count.type && seen.Add(type_count.type)) {
+ stack.Push(type_count.type);
+ continue;
+ }
+
+ for (uint32_t i = 0; i < type_count.count; i++) {
+ if (auto* subtype = ty->Element(i); subtype && seen.Add(subtype)) {
+ stack.Push(subtype);
+ }
+ }
+ }
+ return false;
+}
+
/// The core IR validator.
class Validator {
public:
/// Create a core validator
/// @param mod the module to be validated
/// @param capabilities the optional capabilities that are allowed
- explicit Validator(const Module& mod, EnumSet<Capability> capabilities);
+ explicit Validator(const Module& mod, Capabilities capabilities);
/// Destructor
~Validator();
@@ -279,7 +317,7 @@
private:
const Module& mod_;
- EnumSet<Capability> capabilities_;
+ Capabilities capabilities_;
std::shared_ptr<Source::File> disassembly_file;
diag::List diagnostics_;
Disassembler dis_{mod_};
@@ -291,7 +329,7 @@
void DisassembleIfNeeded();
};
-Validator::Validator(const Module& mod, EnumSet<Capability> capabilities)
+Validator::Validator(const Module& mod, Capabilities capabilities)
: mod_(mod), capabilities_(capabilities) {}
Validator::~Validator() = default;
@@ -449,6 +487,18 @@
void Validator::CheckFunction(const Function* func) {
CheckBlock(func->Block());
+
+ // References not allowed on function signatures even with Capability::kAllowRefTypes
+ for (auto* param : func->Params()) {
+ if (HoldsType<type::Reference>(param->Type())) {
+ // TODO(dsinclair): Parameters need a source mapping.
+ AddError(Source{}) << "references are not permitted as parameter types";
+ }
+ }
+ if (HoldsType<type::Reference>(func->ReturnType())) {
+ // TODO(dsinclair): Function need a source mapping.
+ AddError(Source{}) << "references are not permitted as return types";
+ }
}
void Validator::CheckBlock(const Block* blk) {
@@ -492,6 +542,12 @@
} else if (res->Instruction() != inst) {
AddResultError(inst, i) << "instruction of result is a different instruction";
}
+
+ if (!capabilities_.Contains(Capability::kAllowRefTypes)) {
+ if (HoldsType<type::Reference>(res->Type())) {
+ AddResultError(inst, i) << "reference type is not permitted";
+ }
+ }
}
auto ops = inst->Operands();
@@ -510,6 +566,12 @@
if (!op->HasUsage(inst, i)) {
AddError(inst, i) << "operand missing usage";
}
+
+ if (!capabilities_.Contains(Capability::kAllowRefTypes)) {
+ if (HoldsType<type::Reference>(op->Type())) {
+ AddError(inst, i) << "reference type is not permitted";
+ }
+ }
}
tint::Switch(
@@ -534,7 +596,7 @@
void Validator::CheckVar(const Var* var) {
if (var->Result(0) && var->Initializer()) {
- if (var->Initializer()->Type() != var->Result(0)->Type()->UnwrapPtr()) {
+ if (var->Initializer()->Type() != var->Result(0)->Type()->UnwrapPtrOrRef()) {
AddError(var) << "initializer has incorrect type";
}
}
@@ -616,33 +678,47 @@
}
void Validator::CheckAccess(const Access* a) {
- auto* obj_ptr = a->Object()->Type()->As<core::type::Pointer>();
- auto* el_ty = a->Object()->Type()->UnwrapPtr();
-
- auto current = [&] {
- if (obj_ptr) {
- StringStream ss;
- ss << "ptr<" << obj_ptr->AddressSpace() << ", " << el_ty->FriendlyName() << ", "
- << obj_ptr->Access() << ">";
- return ss.str();
- } else {
- return el_ty->FriendlyName();
+ auto* obj_view = a->Object()->Type()->As<core::type::MemoryView>();
+ auto* ty = obj_view ? obj_view->StoreType() : a->Object()->Type();
+ enum Kind { kPtr, kRef, kValue };
+ auto kind_of = [&](const core::type::Type* type) {
+ return tint::Switch(
+ type, //
+ [&](const core::type::Pointer*) { return kPtr; }, //
+ [&](const core::type::Reference*) { return kRef; }, //
+ [&](Default) { return kValue; });
+ };
+ const Kind in_kind = kind_of(a->Object()->Type());
+ auto desc_of = [&](Kind kind, const core::type::Type* type) {
+ switch (kind) {
+ case kPtr:
+ return StyledText{} << "ptr<" << obj_view->AddressSpace() << ", "
+ << type->FriendlyName() << ", " << obj_view->Access() << ">";
+ case kRef:
+ return StyledText{} << "ref<" << obj_view->AddressSpace() << ", "
+ << type->FriendlyName() << ", " << obj_view->Access() << ">";
+ default:
+ return StyledText{} << type->FriendlyName();
}
};
for (size_t i = 0; i < a->Indices().Length(); i++) {
- auto err = [&](std::string msg) { AddError(a, i + Access::kIndicesOperandOffset) << msg; };
- auto note = [&](std::string msg) { AddNote(a, i + Access::kIndicesOperandOffset) << msg; };
+ auto err = [&]() -> diag::Diagnostic& {
+ return AddError(a, i + Access::kIndicesOperandOffset);
+ };
+ auto note = [&]() -> diag::Diagnostic& {
+ return AddNote(a, i + Access::kIndicesOperandOffset);
+ };
auto* index = a->Indices()[i];
if (TINT_UNLIKELY(!index->Type()->is_integer_scalar())) {
- err("index must be integer, got " + index->Type()->FriendlyName());
+ err() << "index must be integer, got " << index->Type()->FriendlyName();
return;
}
if (!capabilities_.Contains(Capability::kAllowVectorElementPointer)) {
- if (obj_ptr && el_ty->Is<core::type::Vector>()) {
- err("cannot obtain address of vector element");
+ if (in_kind != kValue && ty->Is<core::type::Vector>()) {
+ err() << "cannot obtain address of vector element";
return;
}
}
@@ -654,45 +730,46 @@
// If the index is unsigned, we can skip this.
auto idx = value->ValueAs<AInt>();
if (TINT_UNLIKELY(idx < 0)) {
- err("constant index must be positive, got " + std::to_string(idx));
+ err() << "constant index must be positive, got " << idx;
return;
}
}
auto idx = value->ValueAs<uint32_t>();
- auto* el = el_ty->Element(idx);
+ auto* el = ty->Element(idx);
if (TINT_UNLIKELY(!el)) {
// Is index in bounds?
- if (auto el_count = el_ty->Elements().count; el_count != 0 && idx >= el_count) {
- err("index out of bounds for type " + current());
- note("acceptable range: [0.." + std::to_string(el_count - 1) + "]");
+ if (auto el_count = ty->Elements().count; el_count != 0 && idx >= el_count) {
+ err() << "index out of bounds for type " << desc_of(in_kind, ty);
+ note() << "acceptable range: [0.." << (el_count - 1) << "]";
return;
}
- err("type " + current() + " cannot be indexed");
+ err() << "type " << desc_of(in_kind, ty) << " cannot be indexed";
return;
}
- el_ty = el;
+ ty = el;
} else {
- auto* el = el_ty->Elements().type;
+ auto* el = ty->Elements().type;
if (TINT_UNLIKELY(!el)) {
- err("type " + current() + " cannot be dynamically indexed");
+ err() << "type " << desc_of(in_kind, ty) << " cannot be dynamically indexed";
return;
}
- el_ty = el;
+ ty = el;
}
}
auto* want = a->Result(0)->Type();
- auto* want_ptr = want->As<type::Pointer>();
- bool ok = el_ty == want->UnwrapPtr() && (obj_ptr == nullptr) == (want_ptr == nullptr);
- if (ok && obj_ptr) {
- ok = obj_ptr->AddressSpace() == want_ptr->AddressSpace() &&
- obj_ptr->Access() == want_ptr->Access();
+ auto* want_view = want->As<type::MemoryView>();
+ bool ok = ty == want->UnwrapPtrOrRef() && (obj_view == nullptr) == (want_view == nullptr);
+ if (ok && obj_view) {
+ ok = obj_view->Is<type::Pointer>() == want_view->Is<type::Pointer>() &&
+ obj_view->AddressSpace() == want_view->AddressSpace() &&
+ obj_view->Access() == want_view->Access();
}
if (TINT_UNLIKELY(!ok)) {
- AddError(a) << "result of access chain is type " << current() << " but instruction type is "
- << want->FriendlyName();
+ AddError(a) << "result of access chain is type " << desc_of(in_kind, ty)
+ << " but instruction type is " << want->FriendlyName();
}
}
@@ -998,9 +1075,9 @@
return nullptr;
}
- auto* vec_ptr_ty = type->As<core::type::Pointer>();
- if (TINT_LIKELY(vec_ptr_ty)) {
- auto* vec_ty = vec_ptr_ty->StoreType()->As<core::type::Vector>();
+ auto* memory_view_ty = type->As<core::type::MemoryView>();
+ if (TINT_LIKELY(memory_view_ty)) {
+ auto* vec_ty = memory_view_ty->StoreType()->As<core::type::Vector>();
if (TINT_LIKELY(vec_ty)) {
return vec_ty->type();
}
@@ -1012,14 +1089,14 @@
} // namespace
-Result<SuccessType> Validate(const Module& mod, EnumSet<Capability> capabilities) {
+Result<SuccessType> Validate(const Module& mod, Capabilities capabilities) {
Validator v(mod, capabilities);
return v.Run();
}
Result<SuccessType> ValidateAndDumpIfNeeded([[maybe_unused]] const Module& ir,
[[maybe_unused]] const char* msg,
- [[maybe_unused]] EnumSet<Capability> capabilities) {
+ [[maybe_unused]] Capabilities capabilities) {
#if TINT_DUMP_IR_WHEN_VALIDATING
std::cout << "=========================================================" << std::endl;
std::cout << "== IR dump before " << msg << ":" << std::endl;
diff --git a/src/tint/lang/core/ir/validator.h b/src/tint/lang/core/ir/validator.h
index ba854d8..6e4d475 100644
--- a/src/tint/lang/core/ir/validator.h
+++ b/src/tint/lang/core/ir/validator.h
@@ -44,13 +44,18 @@
enum class Capability {
/// Allows access instructions to create pointers to vector elements.
kAllowVectorElementPointer,
+ /// Allows ref types
+ kAllowRefTypes,
};
+/// Capabilities is a set of Capability
+using Capabilities = EnumSet<Capability>;
+
/// Validates that a given IR module is correctly formed
/// @param mod the module to validate
/// @param capabilities the optional capabilities that are allowed
/// @returns success or failure
-Result<SuccessType> Validate(const Module& mod, EnumSet<Capability> capabilities = {});
+Result<SuccessType> Validate(const Module& mod, Capabilities capabilities = {});
/// Validates the module @p ir and dumps its contents if required by the build configuration.
/// @param ir the module to transform
@@ -59,7 +64,7 @@
/// @returns success or failure
Result<SuccessType> ValidateAndDumpIfNeeded(const Module& ir,
const char* msg,
- EnumSet<Capability> capabilities = {});
+ Capabilities capabilities = {});
} // namespace tint::core::ir
diff --git a/src/tint/lang/core/ir/validator_test.cc b/src/tint/lang/core/ir/validator_test.cc
index 256cf8f..e049e4d 100644
--- a/src/tint/lang/core/ir/validator_test.cc
+++ b/src/tint/lang/core/ir/validator_test.cc
@@ -26,15 +26,22 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <string>
+#include <tuple>
#include <utility>
#include "gmock/gmock.h"
+
+#include "src/tint/lang/core/address_space.h"
#include "src/tint/lang/core/ir/builder.h"
+#include "src/tint/lang/core/ir/function_param.h"
#include "src/tint/lang/core/ir/ir_helper_test.h"
#include "src/tint/lang/core/ir/validator.h"
#include "src/tint/lang/core/type/array.h"
+#include "src/tint/lang/core/type/manager.h"
#include "src/tint/lang/core/type/matrix.h"
+#include "src/tint/lang/core/type/memory_view.h"
#include "src/tint/lang/core/type/pointer.h"
+#include "src/tint/lang/core/type/reference.h"
#include "src/tint/lang/core/type/struct.h"
#include "src/tint/utils/text/string.h"
@@ -770,7 +777,7 @@
b.Return(f);
});
- auto res = ir::Validate(mod, EnumSet<Capability>{Capability::kAllowVectorElementPointer});
+ auto res = ir::Validate(mod, Capabilities{Capability::kAllowVectorElementPointer});
ASSERT_EQ(res, Success);
}
@@ -815,7 +822,7 @@
b.Return(f);
});
- auto res = ir::Validate(mod, EnumSet<Capability>{Capability::kAllowVectorElementPointer});
+ auto res = ir::Validate(mod, Capabilities{Capability::kAllowVectorElementPointer});
ASSERT_EQ(res, Success);
}
@@ -3518,5 +3525,112 @@
)");
}
+template <typename T>
+static const type::Type* TypeBuilder(type::Manager& m) {
+ return m.Get<T>();
+}
+template <typename T>
+static const type::Type* RefTypeBuilder(type::Manager& m) {
+ return m.ref<AddressSpace::kFunction, T>();
+}
+using TypeBuilderFn = decltype(&TypeBuilder<i32>);
+
+using IR_ValidatorRefTypeTest = IRTestParamHelper<std::tuple</* holds_ref */ bool,
+ /* refs_allowed */ bool,
+ /* type_builder */ TypeBuilderFn>>;
+
+TEST_P(IR_ValidatorRefTypeTest, Var) {
+ bool holds_ref = std::get<0>(GetParam());
+ bool refs_allowed = std::get<1>(GetParam());
+ auto* type = std::get<2>(GetParam())(ty);
+
+ auto* fn = b.Function("my_func", ty.void_());
+ b.Append(fn->Block(), [&] {
+ if (auto* view = type->As<type::MemoryView>()) {
+ b.Var(view);
+ } else {
+ b.Var(ty.ptr<function>(type));
+ }
+
+ b.Return(fn);
+ });
+
+ Capabilities caps;
+ if (refs_allowed) {
+ caps.Add(Capability::kAllowRefTypes);
+ }
+ auto res = ir::Validate(mod, caps);
+ if (!holds_ref || refs_allowed) {
+ ASSERT_EQ(res, Success) << res.Failure();
+ } else {
+ ASSERT_NE(res, Success);
+ EXPECT_THAT(res.Failure().reason.Str(),
+ testing::HasSubstr("3:5 error: var: reference type is not permitted"));
+ }
+}
+
+TEST_P(IR_ValidatorRefTypeTest, FnParam) {
+ bool holds_ref = std::get<0>(GetParam());
+ bool refs_allowed = std::get<1>(GetParam());
+ auto* type = std::get<2>(GetParam())(ty);
+
+ auto* fn = b.Function("my_func", ty.void_());
+ fn->SetParams(Vector{b.FunctionParam(type)});
+ b.Append(fn->Block(), [&] { b.Return(fn); });
+
+ Capabilities caps;
+ if (refs_allowed) {
+ caps.Add(Capability::kAllowRefTypes);
+ }
+ auto res = ir::Validate(mod, caps);
+ if (!holds_ref) {
+ ASSERT_EQ(res, Success) << res.Failure();
+ } else {
+ ASSERT_NE(res, Success);
+ EXPECT_THAT(res.Failure().reason.Str(),
+ testing::HasSubstr("references are not permitted as parameter types"));
+ }
+}
+
+TEST_P(IR_ValidatorRefTypeTest, FnRet) {
+ bool holds_ref = std::get<0>(GetParam());
+ bool refs_allowed = std::get<1>(GetParam());
+ auto* type = std::get<2>(GetParam())(ty);
+
+ auto* fn = b.Function("my_func", type);
+ b.Append(fn->Block(), [&] { b.Unreachable(); });
+
+ Capabilities caps;
+ if (refs_allowed) {
+ caps.Add(Capability::kAllowRefTypes);
+ }
+ auto res = ir::Validate(mod, caps);
+ if (!holds_ref) {
+ ASSERT_EQ(res, Success) << res.Failure();
+ } else {
+ ASSERT_NE(res, Success);
+ EXPECT_THAT(res.Failure().reason.Str(),
+ testing::HasSubstr("references are not permitted as return types"));
+ }
+}
+
+INSTANTIATE_TEST_SUITE_P(NonRefTypes,
+ IR_ValidatorRefTypeTest,
+ testing::Combine(/* holds_ref */ testing::Values(false),
+ /* refs_allowed */ testing::Values(false, true),
+ /* type_builder */
+ testing::Values(TypeBuilder<i32>,
+ TypeBuilder<bool>,
+ TypeBuilder<vec4<f32>>,
+ TypeBuilder<array<f32, 3>>)));
+
+INSTANTIATE_TEST_SUITE_P(RefTypes,
+ IR_ValidatorRefTypeTest,
+ testing::Combine(/* holds_ref */ testing::Values(true),
+ /* refs_allowed */ testing::Values(false, true),
+ /* type_builder */
+ testing::Values(RefTypeBuilder<i32>,
+ RefTypeBuilder<bool>,
+ RefTypeBuilder<vec4<f32>>)));
} // namespace
} // namespace tint::core::ir
diff --git a/src/tint/lang/core/ir/var.cc b/src/tint/lang/core/ir/var.cc
index 92f2446..3788822 100644
--- a/src/tint/lang/core/ir/var.cc
+++ b/src/tint/lang/core/ir/var.cc
@@ -41,7 +41,7 @@
Var::Var(InstructionResult* result) {
if (result && result->Type()) {
- TINT_ASSERT(result->Type()->Is<core::type::Pointer>());
+ TINT_ASSERT(result->Type()->Is<core::type::MemoryView>());
}
// Default to no initializer.
diff --git a/src/tint/lang/core/type/manager.cc b/src/tint/lang/core/type/manager.cc
index 30d0d51..bb39ed1 100644
--- a/src/tint/lang/core/type/manager.cc
+++ b/src/tint/lang/core/type/manager.cc
@@ -39,6 +39,7 @@
#include "src/tint/lang/core/type/invalid.h"
#include "src/tint/lang/core/type/matrix.h"
#include "src/tint/lang/core/type/pointer.h"
+#include "src/tint/lang/core/type/reference.h"
#include "src/tint/lang/core/type/type.h"
#include "src/tint/lang/core/type/u32.h"
#include "src/tint/lang/core/type/vector.h"
@@ -203,6 +204,12 @@
access == core::Access::kUndefined ? DefaultAccessFor(address_space) : access);
}
+const core::type::Reference* Manager::ref(core::AddressSpace address_space,
+ const core::type::Type* subtype,
+ core::Access access /* = core::Access::kReadWrite */) {
+ return Get<core::type::Reference>(address_space, subtype, access);
+}
+
core::type::Struct* Manager::Struct(Symbol name, VectorRef<const StructMember*> members) {
if (auto* existing = Find<type::Struct>(name); TINT_UNLIKELY(existing)) {
TINT_ICE() << "attempting to construct two structs named " << name.NameView();
diff --git a/src/tint/lang/core/type/manager.h b/src/tint/lang/core/type/manager.h
index 8c22f3d..63052af 100644
--- a/src/tint/lang/core/type/manager.h
+++ b/src/tint/lang/core/type/manager.h
@@ -55,6 +55,7 @@
class Invalid;
class Matrix;
class Pointer;
+class Reference;
class U32;
class Vector;
class Void;
@@ -456,6 +457,32 @@
return ptr(SPACE, subtype, ACCESS);
}
+ /// @param address_space the address space
+ /// @param subtype the reference subtype
+ /// @param access the access settings
+ /// @returns the reference type
+ const core::type::Reference* ref(core::AddressSpace address_space,
+ const core::type::Type* subtype,
+ core::Access access = core::Access::kReadWrite);
+
+ /// @tparam SPACE the address space
+ /// @tparam T the storage type
+ /// @tparam ACCESS the access mode
+ /// @returns the reference type with the templated address space, storage type and access.
+ template <core::AddressSpace SPACE, typename T, core::Access ACCESS = core::Access::kReadWrite>
+ const core::type::Reference* ref() {
+ return ref(SPACE, Get<T>(), ACCESS);
+ }
+
+ /// @param subtype the reference subtype
+ /// @tparam SPACE the address space
+ /// @tparam ACCESS the access mode
+ /// @returns the reference type with the templated address space, storage type and access.
+ template <core::AddressSpace SPACE, core::Access ACCESS = core::Access::kReadWrite>
+ const core::type::Reference* ref(const core::type::Type* subtype) {
+ return ref(SPACE, subtype, ACCESS);
+ }
+
/// @returns the sampler type
const core::type::Sampler* sampler() {
return Get<core::type::Sampler>(core::type::SamplerKind::kSampler);
diff --git a/src/tint/lang/spirv/reader/lower/vector_element_pointer.cc b/src/tint/lang/spirv/reader/lower/vector_element_pointer.cc
index ad0d3f3..1dee037 100644
--- a/src/tint/lang/spirv/reader/lower/vector_element_pointer.cc
+++ b/src/tint/lang/spirv/reader/lower/vector_element_pointer.cc
@@ -163,7 +163,7 @@
Result<SuccessType> VectorElementPointer(core::ir::Module& ir) {
auto result = ValidateAndDumpIfNeeded(ir, "VectorElementPointer transform",
- EnumSet<core::ir::Capability>{
+ core::ir::Capabilities{
core::ir::Capability::kAllowVectorElementPointer,
});
if (result != Success) {
diff --git a/src/tint/lang/spirv/reader/parser/helper_test.h b/src/tint/lang/spirv/reader/parser/helper_test.h
index 6842aee..1aece7f 100644
--- a/src/tint/lang/spirv/reader/parser/helper_test.h
+++ b/src/tint/lang/spirv/reader/parser/helper_test.h
@@ -74,7 +74,7 @@
// Validate the IR module against the capabilities supported by the SPIR-V dialect.
auto validated =
- core::ir::Validate(parsed.Get(), EnumSet<core::ir::Capability>{
+ core::ir::Validate(parsed.Get(), core::ir::Capabilities{
core::ir::Capability::kAllowVectorElementPointer,
});
if (validated != Success) {
diff --git a/src/tint/lang/wgsl/intrinsic/data.cc b/src/tint/lang/wgsl/intrinsic/data.cc
index 4aeadb0..1ce3cb6 100644
--- a/src/tint/lang/wgsl/intrinsic/data.cc
+++ b/src/tint/lang/wgsl/intrinsic/data.cc
@@ -525,6 +525,38 @@
};
+/// TypeMatcher for 'type ref'
+constexpr TypeMatcher kRefMatcher {
+/* match */ [](MatchState& state, const Type* ty) -> const Type* {
+ Number S = Number::invalid;
+ const Type* T = nullptr;
+ Number A = Number::invalid;
+ if (!MatchRef(state, ty, S, T, A)) {
+ return nullptr;
+ }
+ S = state.Num(S);
+ if (!S.IsValid()) {
+ return nullptr;
+ }
+ T = state.Type(T);
+ if (T == nullptr) {
+ return nullptr;
+ }
+ A = state.Num(A);
+ if (!A.IsValid()) {
+ return nullptr;
+ }
+ return BuildRef(state, ty, S, T, A);
+ },
+/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText S;
+ state->PrintNum(S);StyledText T;
+ state->PrintType(T);StyledText A;
+ state->PrintNum(A);
+ out << style::Type("ref", "<", S, ", ", T, ", ", A, ">");
+ }
+};
+
+
/// TypeMatcher for 'type atomic'
constexpr TypeMatcher kAtomicMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
@@ -1732,53 +1764,54 @@
/* [23] */ kVecMatcher,
/* [24] */ kMatMatcher,
/* [25] */ kPtrMatcher,
- /* [26] */ kAtomicMatcher,
- /* [27] */ kArrayMatcher,
- /* [28] */ kSamplerMatcher,
- /* [29] */ kSamplerComparisonMatcher,
- /* [30] */ kTexture1DMatcher,
- /* [31] */ kTexture2DMatcher,
- /* [32] */ kTexture2DArrayMatcher,
- /* [33] */ kTexture3DMatcher,
- /* [34] */ kTextureCubeMatcher,
- /* [35] */ kTextureCubeArrayMatcher,
- /* [36] */ kTextureMultisampled2DMatcher,
- /* [37] */ kTextureDepth2DMatcher,
- /* [38] */ kTextureDepth2DArrayMatcher,
- /* [39] */ kTextureDepthCubeMatcher,
- /* [40] */ kTextureDepthCubeArrayMatcher,
- /* [41] */ kTextureDepthMultisampled2DMatcher,
- /* [42] */ kTextureStorage1DMatcher,
- /* [43] */ kTextureStorage2DMatcher,
- /* [44] */ kTextureStorage2DArrayMatcher,
- /* [45] */ kTextureStorage3DMatcher,
- /* [46] */ kTextureExternalMatcher,
- /* [47] */ kPackedVec3Matcher,
- /* [48] */ kModfResultMatcher,
- /* [49] */ kModfResultVecMatcher,
- /* [50] */ kFrexpResultMatcher,
- /* [51] */ kFrexpResultVecMatcher,
- /* [52] */ kAtomicCompareExchangeResultMatcher,
- /* [53] */ kScalarMatcher,
- /* [54] */ kConcreteScalarMatcher,
- /* [55] */ kScalarNoF32Matcher,
- /* [56] */ kScalarNoF16Matcher,
- /* [57] */ kScalarNoI32Matcher,
- /* [58] */ kScalarNoU32Matcher,
- /* [59] */ kScalarNoBoolMatcher,
- /* [60] */ kFiaFiu32F16Matcher,
- /* [61] */ kFiaFi32F16Matcher,
- /* [62] */ kFiaFiu32Matcher,
- /* [63] */ kFaF32Matcher,
- /* [64] */ kFaF32F16Matcher,
- /* [65] */ kIaIu32Matcher,
- /* [66] */ kIaI32Matcher,
- /* [67] */ kFiu32F16Matcher,
- /* [68] */ kFiu32Matcher,
- /* [69] */ kFi32F16Matcher,
- /* [70] */ kFi32Matcher,
- /* [71] */ kF32F16Matcher,
- /* [72] */ kIu32Matcher,
+ /* [26] */ kRefMatcher,
+ /* [27] */ kAtomicMatcher,
+ /* [28] */ kArrayMatcher,
+ /* [29] */ kSamplerMatcher,
+ /* [30] */ kSamplerComparisonMatcher,
+ /* [31] */ kTexture1DMatcher,
+ /* [32] */ kTexture2DMatcher,
+ /* [33] */ kTexture2DArrayMatcher,
+ /* [34] */ kTexture3DMatcher,
+ /* [35] */ kTextureCubeMatcher,
+ /* [36] */ kTextureCubeArrayMatcher,
+ /* [37] */ kTextureMultisampled2DMatcher,
+ /* [38] */ kTextureDepth2DMatcher,
+ /* [39] */ kTextureDepth2DArrayMatcher,
+ /* [40] */ kTextureDepthCubeMatcher,
+ /* [41] */ kTextureDepthCubeArrayMatcher,
+ /* [42] */ kTextureDepthMultisampled2DMatcher,
+ /* [43] */ kTextureStorage1DMatcher,
+ /* [44] */ kTextureStorage2DMatcher,
+ /* [45] */ kTextureStorage2DArrayMatcher,
+ /* [46] */ kTextureStorage3DMatcher,
+ /* [47] */ kTextureExternalMatcher,
+ /* [48] */ kPackedVec3Matcher,
+ /* [49] */ kModfResultMatcher,
+ /* [50] */ kModfResultVecMatcher,
+ /* [51] */ kFrexpResultMatcher,
+ /* [52] */ kFrexpResultVecMatcher,
+ /* [53] */ kAtomicCompareExchangeResultMatcher,
+ /* [54] */ kScalarMatcher,
+ /* [55] */ kConcreteScalarMatcher,
+ /* [56] */ kScalarNoF32Matcher,
+ /* [57] */ kScalarNoF16Matcher,
+ /* [58] */ kScalarNoI32Matcher,
+ /* [59] */ kScalarNoU32Matcher,
+ /* [60] */ kScalarNoBoolMatcher,
+ /* [61] */ kFiaFiu32F16Matcher,
+ /* [62] */ kFiaFi32F16Matcher,
+ /* [63] */ kFiaFiu32Matcher,
+ /* [64] */ kFaF32Matcher,
+ /* [65] */ kFaF32F16Matcher,
+ /* [66] */ kIaIu32Matcher,
+ /* [67] */ kIaI32Matcher,
+ /* [68] */ kFiu32F16Matcher,
+ /* [69] */ kFiu32Matcher,
+ /* [70] */ kFi32F16Matcher,
+ /* [71] */ kFi32Matcher,
+ /* [72] */ kF32F16Matcher,
+ /* [73] */ kIu32Matcher,
};
/// The template numbers, and number matchers
@@ -1803,12 +1836,12 @@
constexpr MatcherIndex kMatcherIndices[] = {
/* [0] */ MatcherIndex(25),
/* [1] */ MatcherIndex(13),
- /* [2] */ MatcherIndex(27),
+ /* [2] */ MatcherIndex(28),
/* [3] */ MatcherIndex(0),
/* [4] */ MatcherIndex(1),
/* [5] */ MatcherIndex(25),
/* [6] */ MatcherIndex(1),
- /* [7] */ MatcherIndex(26),
+ /* [7] */ MatcherIndex(27),
/* [8] */ MatcherIndex(0),
/* [9] */ MatcherIndex(8),
/* [10] */ MatcherIndex(24),
@@ -1827,240 +1860,248 @@
/* [23] */ MatcherIndex(14),
/* [24] */ MatcherIndex(0),
/* [25] */ MatcherIndex(8),
- /* [26] */ MatcherIndex(24),
- /* [27] */ MatcherIndex(1),
- /* [28] */ MatcherIndex(2),
- /* [29] */ MatcherIndex(0),
- /* [30] */ MatcherIndex(24),
- /* [31] */ MatcherIndex(2),
- /* [32] */ MatcherIndex(3),
- /* [33] */ MatcherIndex(0),
+ /* [26] */ MatcherIndex(25),
+ /* [27] */ MatcherIndex(0),
+ /* [28] */ MatcherIndex(1),
+ /* [29] */ MatcherIndex(2),
+ /* [30] */ MatcherIndex(26),
+ /* [31] */ MatcherIndex(0),
+ /* [32] */ MatcherIndex(1),
+ /* [33] */ MatcherIndex(2),
/* [34] */ MatcherIndex(24),
/* [35] */ MatcherIndex(1),
- /* [36] */ MatcherIndex(3),
+ /* [36] */ MatcherIndex(2),
/* [37] */ MatcherIndex(0),
/* [38] */ MatcherIndex(24),
/* [39] */ MatcherIndex(2),
- /* [40] */ MatcherIndex(1),
+ /* [40] */ MatcherIndex(3),
/* [41] */ MatcherIndex(0),
- /* [42] */ MatcherIndex(23),
- /* [43] */ MatcherIndex(0),
- /* [44] */ MatcherIndex(1),
- /* [45] */ MatcherIndex(23),
- /* [46] */ MatcherIndex(0),
- /* [47] */ MatcherIndex(4),
- /* [48] */ MatcherIndex(23),
- /* [49] */ MatcherIndex(1),
- /* [50] */ MatcherIndex(0),
- /* [51] */ MatcherIndex(23),
+ /* [42] */ MatcherIndex(24),
+ /* [43] */ MatcherIndex(1),
+ /* [44] */ MatcherIndex(3),
+ /* [45] */ MatcherIndex(0),
+ /* [46] */ MatcherIndex(24),
+ /* [47] */ MatcherIndex(2),
+ /* [48] */ MatcherIndex(1),
+ /* [49] */ MatcherIndex(0),
+ /* [50] */ MatcherIndex(23),
+ /* [51] */ MatcherIndex(0),
/* [52] */ MatcherIndex(1),
- /* [53] */ MatcherIndex(68),
- /* [54] */ MatcherIndex(23),
- /* [55] */ MatcherIndex(1),
- /* [56] */ MatcherIndex(2),
- /* [57] */ MatcherIndex(23),
- /* [58] */ MatcherIndex(1),
- /* [59] */ MatcherIndex(10),
- /* [60] */ MatcherIndex(23),
- /* [61] */ MatcherIndex(1),
- /* [62] */ MatcherIndex(8),
- /* [63] */ MatcherIndex(23),
- /* [64] */ MatcherIndex(1),
- /* [65] */ MatcherIndex(5),
- /* [66] */ MatcherIndex(23),
- /* [67] */ MatcherIndex(0),
- /* [68] */ MatcherIndex(9),
- /* [69] */ MatcherIndex(51),
- /* [70] */ MatcherIndex(0),
- /* [71] */ MatcherIndex(1),
- /* [72] */ MatcherIndex(23),
- /* [73] */ MatcherIndex(0),
- /* [74] */ MatcherIndex(2),
- /* [75] */ MatcherIndex(49),
- /* [76] */ MatcherIndex(0),
- /* [77] */ MatcherIndex(1),
- /* [78] */ MatcherIndex(42),
- /* [79] */ MatcherIndex(0),
- /* [80] */ MatcherIndex(1),
- /* [81] */ MatcherIndex(43),
- /* [82] */ MatcherIndex(0),
- /* [83] */ MatcherIndex(1),
- /* [84] */ MatcherIndex(44),
- /* [85] */ MatcherIndex(0),
- /* [86] */ MatcherIndex(1),
- /* [87] */ MatcherIndex(45),
- /* [88] */ MatcherIndex(0),
- /* [89] */ MatcherIndex(1),
- /* [90] */ MatcherIndex(42),
+ /* [53] */ MatcherIndex(23),
+ /* [54] */ MatcherIndex(0),
+ /* [55] */ MatcherIndex(4),
+ /* [56] */ MatcherIndex(23),
+ /* [57] */ MatcherIndex(1),
+ /* [58] */ MatcherIndex(0),
+ /* [59] */ MatcherIndex(23),
+ /* [60] */ MatcherIndex(1),
+ /* [61] */ MatcherIndex(69),
+ /* [62] */ MatcherIndex(23),
+ /* [63] */ MatcherIndex(1),
+ /* [64] */ MatcherIndex(2),
+ /* [65] */ MatcherIndex(23),
+ /* [66] */ MatcherIndex(1),
+ /* [67] */ MatcherIndex(10),
+ /* [68] */ MatcherIndex(23),
+ /* [69] */ MatcherIndex(1),
+ /* [70] */ MatcherIndex(8),
+ /* [71] */ MatcherIndex(23),
+ /* [72] */ MatcherIndex(1),
+ /* [73] */ MatcherIndex(5),
+ /* [74] */ MatcherIndex(23),
+ /* [75] */ MatcherIndex(0),
+ /* [76] */ MatcherIndex(9),
+ /* [77] */ MatcherIndex(52),
+ /* [78] */ MatcherIndex(0),
+ /* [79] */ MatcherIndex(1),
+ /* [80] */ MatcherIndex(23),
+ /* [81] */ MatcherIndex(0),
+ /* [82] */ MatcherIndex(2),
+ /* [83] */ MatcherIndex(50),
+ /* [84] */ MatcherIndex(0),
+ /* [85] */ MatcherIndex(1),
+ /* [86] */ MatcherIndex(43),
+ /* [87] */ MatcherIndex(0),
+ /* [88] */ MatcherIndex(1),
+ /* [89] */ MatcherIndex(44),
+ /* [90] */ MatcherIndex(0),
/* [91] */ MatcherIndex(1),
- /* [92] */ MatcherIndex(2),
- /* [93] */ MatcherIndex(43),
+ /* [92] */ MatcherIndex(45),
+ /* [93] */ MatcherIndex(0),
/* [94] */ MatcherIndex(1),
- /* [95] */ MatcherIndex(2),
- /* [96] */ MatcherIndex(44),
+ /* [95] */ MatcherIndex(46),
+ /* [96] */ MatcherIndex(0),
/* [97] */ MatcherIndex(1),
- /* [98] */ MatcherIndex(2),
- /* [99] */ MatcherIndex(45),
- /* [100] */ MatcherIndex(1),
- /* [101] */ MatcherIndex(2),
- /* [102] */ MatcherIndex(23),
+ /* [98] */ MatcherIndex(43),
+ /* [99] */ MatcherIndex(1),
+ /* [100] */ MatcherIndex(2),
+ /* [101] */ MatcherIndex(44),
+ /* [102] */ MatcherIndex(1),
/* [103] */ MatcherIndex(2),
- /* [104] */ MatcherIndex(0),
- /* [105] */ MatcherIndex(23),
- /* [106] */ MatcherIndex(1),
- /* [107] */ MatcherIndex(4),
- /* [108] */ MatcherIndex(11),
- /* [109] */ MatcherIndex(10),
- /* [110] */ MatcherIndex(11),
- /* [111] */ MatcherIndex(68),
- /* [112] */ MatcherIndex(13),
- /* [113] */ MatcherIndex(10),
- /* [114] */ MatcherIndex(11),
- /* [115] */ MatcherIndex(1),
- /* [116] */ MatcherIndex(12),
- /* [117] */ MatcherIndex(0),
- /* [118] */ MatcherIndex(50),
- /* [119] */ MatcherIndex(0),
- /* [120] */ MatcherIndex(48),
- /* [121] */ MatcherIndex(0),
+ /* [104] */ MatcherIndex(45),
+ /* [105] */ MatcherIndex(1),
+ /* [106] */ MatcherIndex(2),
+ /* [107] */ MatcherIndex(46),
+ /* [108] */ MatcherIndex(1),
+ /* [109] */ MatcherIndex(2),
+ /* [110] */ MatcherIndex(23),
+ /* [111] */ MatcherIndex(2),
+ /* [112] */ MatcherIndex(0),
+ /* [113] */ MatcherIndex(23),
+ /* [114] */ MatcherIndex(1),
+ /* [115] */ MatcherIndex(4),
+ /* [116] */ MatcherIndex(11),
+ /* [117] */ MatcherIndex(10),
+ /* [118] */ MatcherIndex(11),
+ /* [119] */ MatcherIndex(69),
+ /* [120] */ MatcherIndex(13),
+ /* [121] */ MatcherIndex(10),
/* [122] */ MatcherIndex(11),
- /* [123] */ MatcherIndex(9),
- /* [124] */ MatcherIndex(13),
- /* [125] */ MatcherIndex(9),
- /* [126] */ MatcherIndex(13),
- /* [127] */ MatcherIndex(7),
- /* [128] */ MatcherIndex(13),
- /* [129] */ MatcherIndex(8),
- /* [130] */ MatcherIndex(30),
- /* [131] */ MatcherIndex(0),
- /* [132] */ MatcherIndex(11),
- /* [133] */ MatcherIndex(8),
- /* [134] */ MatcherIndex(31),
- /* [135] */ MatcherIndex(0),
- /* [136] */ MatcherIndex(32),
- /* [137] */ MatcherIndex(0),
- /* [138] */ MatcherIndex(12),
- /* [139] */ MatcherIndex(8),
- /* [140] */ MatcherIndex(33),
- /* [141] */ MatcherIndex(0),
- /* [142] */ MatcherIndex(34),
+ /* [123] */ MatcherIndex(1),
+ /* [124] */ MatcherIndex(12),
+ /* [125] */ MatcherIndex(0),
+ /* [126] */ MatcherIndex(51),
+ /* [127] */ MatcherIndex(0),
+ /* [128] */ MatcherIndex(49),
+ /* [129] */ MatcherIndex(0),
+ /* [130] */ MatcherIndex(11),
+ /* [131] */ MatcherIndex(9),
+ /* [132] */ MatcherIndex(13),
+ /* [133] */ MatcherIndex(9),
+ /* [134] */ MatcherIndex(13),
+ /* [135] */ MatcherIndex(7),
+ /* [136] */ MatcherIndex(13),
+ /* [137] */ MatcherIndex(8),
+ /* [138] */ MatcherIndex(31),
+ /* [139] */ MatcherIndex(0),
+ /* [140] */ MatcherIndex(11),
+ /* [141] */ MatcherIndex(8),
+ /* [142] */ MatcherIndex(32),
/* [143] */ MatcherIndex(0),
- /* [144] */ MatcherIndex(35),
+ /* [144] */ MatcherIndex(33),
/* [145] */ MatcherIndex(0),
- /* [146] */ MatcherIndex(36),
- /* [147] */ MatcherIndex(0),
- /* [148] */ MatcherIndex(13),
+ /* [146] */ MatcherIndex(12),
+ /* [147] */ MatcherIndex(8),
+ /* [148] */ MatcherIndex(34),
/* [149] */ MatcherIndex(0),
- /* [150] */ MatcherIndex(11),
- /* [151] */ MatcherIndex(7),
- /* [152] */ MatcherIndex(12),
- /* [153] */ MatcherIndex(9),
- /* [154] */ MatcherIndex(30),
- /* [155] */ MatcherIndex(9),
- /* [156] */ MatcherIndex(31),
- /* [157] */ MatcherIndex(9),
- /* [158] */ MatcherIndex(32),
- /* [159] */ MatcherIndex(9),
- /* [160] */ MatcherIndex(33),
+ /* [150] */ MatcherIndex(35),
+ /* [151] */ MatcherIndex(0),
+ /* [152] */ MatcherIndex(36),
+ /* [153] */ MatcherIndex(0),
+ /* [154] */ MatcherIndex(37),
+ /* [155] */ MatcherIndex(0),
+ /* [156] */ MatcherIndex(13),
+ /* [157] */ MatcherIndex(0),
+ /* [158] */ MatcherIndex(11),
+ /* [159] */ MatcherIndex(7),
+ /* [160] */ MatcherIndex(12),
/* [161] */ MatcherIndex(9),
- /* [162] */ MatcherIndex(12),
- /* [163] */ MatcherIndex(7),
- /* [164] */ MatcherIndex(34),
+ /* [162] */ MatcherIndex(31),
+ /* [163] */ MatcherIndex(9),
+ /* [164] */ MatcherIndex(32),
/* [165] */ MatcherIndex(9),
- /* [166] */ MatcherIndex(35),
+ /* [166] */ MatcherIndex(33),
/* [167] */ MatcherIndex(9),
- /* [168] */ MatcherIndex(11),
- /* [169] */ MatcherIndex(0),
+ /* [168] */ MatcherIndex(34),
+ /* [169] */ MatcherIndex(9),
/* [170] */ MatcherIndex(12),
- /* [171] */ MatcherIndex(1),
- /* [172] */ MatcherIndex(52),
- /* [173] */ MatcherIndex(0),
- /* [174] */ MatcherIndex(11),
- /* [175] */ MatcherIndex(5),
- /* [176] */ MatcherIndex(12),
- /* [177] */ MatcherIndex(5),
- /* [178] */ MatcherIndex(13),
- /* [179] */ MatcherIndex(5),
- /* [180] */ MatcherIndex(13),
- /* [181] */ MatcherIndex(1),
- /* [182] */ MatcherIndex(14),
- /* [183] */ MatcherIndex(9),
- /* [184] */ MatcherIndex(14),
- /* [185] */ MatcherIndex(10),
- /* [186] */ MatcherIndex(15),
- /* [187] */ MatcherIndex(0),
- /* [188] */ MatcherIndex(15),
- /* [189] */ MatcherIndex(9),
- /* [190] */ MatcherIndex(15),
- /* [191] */ MatcherIndex(10),
- /* [192] */ MatcherIndex(16),
- /* [193] */ MatcherIndex(0),
- /* [194] */ MatcherIndex(16),
- /* [195] */ MatcherIndex(9),
- /* [196] */ MatcherIndex(16),
- /* [197] */ MatcherIndex(10),
- /* [198] */ MatcherIndex(17),
- /* [199] */ MatcherIndex(0),
- /* [200] */ MatcherIndex(17),
- /* [201] */ MatcherIndex(9),
- /* [202] */ MatcherIndex(17),
- /* [203] */ MatcherIndex(10),
- /* [204] */ MatcherIndex(18),
- /* [205] */ MatcherIndex(0),
- /* [206] */ MatcherIndex(18),
- /* [207] */ MatcherIndex(9),
- /* [208] */ MatcherIndex(18),
- /* [209] */ MatcherIndex(10),
- /* [210] */ MatcherIndex(19),
- /* [211] */ MatcherIndex(0),
- /* [212] */ MatcherIndex(19),
- /* [213] */ MatcherIndex(9),
- /* [214] */ MatcherIndex(19),
- /* [215] */ MatcherIndex(10),
- /* [216] */ MatcherIndex(20),
- /* [217] */ MatcherIndex(0),
- /* [218] */ MatcherIndex(20),
- /* [219] */ MatcherIndex(9),
- /* [220] */ MatcherIndex(20),
- /* [221] */ MatcherIndex(10),
- /* [222] */ MatcherIndex(21),
- /* [223] */ MatcherIndex(0),
- /* [224] */ MatcherIndex(21),
- /* [225] */ MatcherIndex(9),
- /* [226] */ MatcherIndex(21),
- /* [227] */ MatcherIndex(10),
- /* [228] */ MatcherIndex(22),
- /* [229] */ MatcherIndex(0),
- /* [230] */ MatcherIndex(22),
- /* [231] */ MatcherIndex(9),
- /* [232] */ MatcherIndex(22),
- /* [233] */ MatcherIndex(10),
- /* [234] */ MatcherIndex(47),
- /* [235] */ MatcherIndex(0),
- /* [236] */ MatcherIndex(60),
- /* [237] */ MatcherIndex(64),
- /* [238] */ MatcherIndex(72),
- /* [239] */ MatcherIndex(66),
- /* [240] */ MatcherIndex(53),
- /* [241] */ MatcherIndex(61),
- /* [242] */ MatcherIndex(37),
- /* [243] */ MatcherIndex(38),
- /* [244] */ MatcherIndex(39),
- /* [245] */ MatcherIndex(40),
- /* [246] */ MatcherIndex(41),
- /* [247] */ MatcherIndex(46),
- /* [248] */ MatcherIndex(28),
- /* [249] */ MatcherIndex(29),
- /* [250] */ MatcherIndex(6),
- /* [251] */ MatcherIndex(67),
- /* [252] */ MatcherIndex(65),
- /* [253] */ MatcherIndex(57),
- /* [254] */ MatcherIndex(58),
- /* [255] */ MatcherIndex(55),
- /* [256] */ MatcherIndex(56),
- /* [257] */ MatcherIndex(59),
- /* [258] */ MatcherIndex(54),
- /* [259] */ MatcherIndex(71),
+ /* [171] */ MatcherIndex(7),
+ /* [172] */ MatcherIndex(35),
+ /* [173] */ MatcherIndex(9),
+ /* [174] */ MatcherIndex(36),
+ /* [175] */ MatcherIndex(9),
+ /* [176] */ MatcherIndex(11),
+ /* [177] */ MatcherIndex(0),
+ /* [178] */ MatcherIndex(12),
+ /* [179] */ MatcherIndex(1),
+ /* [180] */ MatcherIndex(53),
+ /* [181] */ MatcherIndex(0),
+ /* [182] */ MatcherIndex(11),
+ /* [183] */ MatcherIndex(5),
+ /* [184] */ MatcherIndex(12),
+ /* [185] */ MatcherIndex(5),
+ /* [186] */ MatcherIndex(13),
+ /* [187] */ MatcherIndex(5),
+ /* [188] */ MatcherIndex(13),
+ /* [189] */ MatcherIndex(1),
+ /* [190] */ MatcherIndex(14),
+ /* [191] */ MatcherIndex(9),
+ /* [192] */ MatcherIndex(14),
+ /* [193] */ MatcherIndex(10),
+ /* [194] */ MatcherIndex(15),
+ /* [195] */ MatcherIndex(0),
+ /* [196] */ MatcherIndex(15),
+ /* [197] */ MatcherIndex(9),
+ /* [198] */ MatcherIndex(15),
+ /* [199] */ MatcherIndex(10),
+ /* [200] */ MatcherIndex(16),
+ /* [201] */ MatcherIndex(0),
+ /* [202] */ MatcherIndex(16),
+ /* [203] */ MatcherIndex(9),
+ /* [204] */ MatcherIndex(16),
+ /* [205] */ MatcherIndex(10),
+ /* [206] */ MatcherIndex(17),
+ /* [207] */ MatcherIndex(0),
+ /* [208] */ MatcherIndex(17),
+ /* [209] */ MatcherIndex(9),
+ /* [210] */ MatcherIndex(17),
+ /* [211] */ MatcherIndex(10),
+ /* [212] */ MatcherIndex(18),
+ /* [213] */ MatcherIndex(0),
+ /* [214] */ MatcherIndex(18),
+ /* [215] */ MatcherIndex(9),
+ /* [216] */ MatcherIndex(18),
+ /* [217] */ MatcherIndex(10),
+ /* [218] */ MatcherIndex(19),
+ /* [219] */ MatcherIndex(0),
+ /* [220] */ MatcherIndex(19),
+ /* [221] */ MatcherIndex(9),
+ /* [222] */ MatcherIndex(19),
+ /* [223] */ MatcherIndex(10),
+ /* [224] */ MatcherIndex(20),
+ /* [225] */ MatcherIndex(0),
+ /* [226] */ MatcherIndex(20),
+ /* [227] */ MatcherIndex(9),
+ /* [228] */ MatcherIndex(20),
+ /* [229] */ MatcherIndex(10),
+ /* [230] */ MatcherIndex(21),
+ /* [231] */ MatcherIndex(0),
+ /* [232] */ MatcherIndex(21),
+ /* [233] */ MatcherIndex(9),
+ /* [234] */ MatcherIndex(21),
+ /* [235] */ MatcherIndex(10),
+ /* [236] */ MatcherIndex(22),
+ /* [237] */ MatcherIndex(0),
+ /* [238] */ MatcherIndex(22),
+ /* [239] */ MatcherIndex(9),
+ /* [240] */ MatcherIndex(22),
+ /* [241] */ MatcherIndex(10),
+ /* [242] */ MatcherIndex(48),
+ /* [243] */ MatcherIndex(0),
+ /* [244] */ MatcherIndex(61),
+ /* [245] */ MatcherIndex(65),
+ /* [246] */ MatcherIndex(73),
+ /* [247] */ MatcherIndex(67),
+ /* [248] */ MatcherIndex(54),
+ /* [249] */ MatcherIndex(62),
+ /* [250] */ MatcherIndex(38),
+ /* [251] */ MatcherIndex(39),
+ /* [252] */ MatcherIndex(40),
+ /* [253] */ MatcherIndex(41),
+ /* [254] */ MatcherIndex(42),
+ /* [255] */ MatcherIndex(47),
+ /* [256] */ MatcherIndex(29),
+ /* [257] */ MatcherIndex(30),
+ /* [258] */ MatcherIndex(6),
+ /* [259] */ MatcherIndex(68),
+ /* [260] */ MatcherIndex(66),
+ /* [261] */ MatcherIndex(58),
+ /* [262] */ MatcherIndex(59),
+ /* [263] */ MatcherIndex(56),
+ /* [264] */ MatcherIndex(57),
+ /* [265] */ MatcherIndex(60),
+ /* [266] */ MatcherIndex(55),
+ /* [267] */ MatcherIndex(72),
};
static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices),
@@ -2165,17 +2206,17 @@
{
/* [19] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(158),
+ /* matcher_indices */ MatcherIndicesIndex(166),
},
{
/* [20] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [21] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [22] */
@@ -2185,17 +2226,17 @@
{
/* [23] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [24] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [25] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [26] */
@@ -2205,17 +2246,17 @@
{
/* [27] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(136),
+ /* matcher_indices */ MatcherIndicesIndex(144),
},
{
/* [28] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [29] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [30] */
@@ -2225,22 +2266,22 @@
{
/* [31] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [32] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(243),
+ /* matcher_indices */ MatcherIndicesIndex(251),
},
{
/* [33] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(249),
+ /* matcher_indices */ MatcherIndicesIndex(257),
},
{
/* [34] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [35] */
@@ -2250,27 +2291,27 @@
{
/* [36] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [37] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [38] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(158),
+ /* matcher_indices */ MatcherIndicesIndex(166),
},
{
/* [39] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [40] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [41] */
@@ -2280,87 +2321,87 @@
{
/* [42] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [43] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [44] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(156),
+ /* matcher_indices */ MatcherIndicesIndex(164),
},
{
/* [45] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [46] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [47] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [48] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [49] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [50] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(160),
+ /* matcher_indices */ MatcherIndicesIndex(168),
},
{
/* [51] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [52] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [53] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [54] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [55] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(162),
+ /* matcher_indices */ MatcherIndicesIndex(170),
},
{
/* [56] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(166),
+ /* matcher_indices */ MatcherIndicesIndex(174),
},
{
/* [57] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [58] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [59] */
@@ -2370,27 +2411,27 @@
{
/* [60] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [61] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [62] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(158),
+ /* matcher_indices */ MatcherIndicesIndex(166),
},
{
/* [63] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [64] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [65] */
@@ -2400,27 +2441,27 @@
{
/* [66] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [67] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [68] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(243),
+ /* matcher_indices */ MatcherIndicesIndex(251),
},
{
/* [69] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [70] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [71] */
@@ -2435,7 +2476,7 @@
{
/* [73] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [74] */
@@ -2445,22 +2486,22 @@
{
/* [75] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(134),
+ /* matcher_indices */ MatcherIndicesIndex(142),
},
{
/* [76] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [77] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [78] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [79] */
@@ -2470,17 +2511,17 @@
{
/* [80] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(144),
+ /* matcher_indices */ MatcherIndicesIndex(152),
},
{
/* [81] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [82] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [83] */
@@ -2490,17 +2531,17 @@
{
/* [84] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(243),
+ /* matcher_indices */ MatcherIndicesIndex(251),
},
{
/* [85] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [86] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [87] */
@@ -2510,47 +2551,47 @@
{
/* [88] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [89] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(242),
+ /* matcher_indices */ MatcherIndicesIndex(250),
},
{
/* [90] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(249),
+ /* matcher_indices */ MatcherIndicesIndex(257),
},
{
/* [91] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [92] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [93] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [94] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(245),
+ /* matcher_indices */ MatcherIndicesIndex(253),
},
{
/* [95] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(249),
+ /* matcher_indices */ MatcherIndicesIndex(257),
},
{
/* [96] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [97] */
@@ -2560,22 +2601,22 @@
{
/* [98] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [99] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(158),
+ /* matcher_indices */ MatcherIndicesIndex(166),
},
{
/* [100] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [101] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [102] */
@@ -2585,72 +2626,72 @@
{
/* [103] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [104] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(156),
+ /* matcher_indices */ MatcherIndicesIndex(164),
},
{
/* [105] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [106] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [107] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [108] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [109] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(160),
+ /* matcher_indices */ MatcherIndicesIndex(168),
},
{
/* [110] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [111] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [112] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [113] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(162),
+ /* matcher_indices */ MatcherIndicesIndex(170),
},
{
/* [114] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(166),
+ /* matcher_indices */ MatcherIndicesIndex(174),
},
{
/* [115] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [116] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [117] */
@@ -2660,97 +2701,97 @@
{
/* [118] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [119] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(164),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [120] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [121] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [122] */
/* usage */ core::ParameterUsage::kDdx,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [123] */
/* usage */ core::ParameterUsage::kDdy,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [124] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(156),
+ /* matcher_indices */ MatcherIndicesIndex(164),
},
{
/* [125] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [126] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [127] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [128] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [129] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(160),
+ /* matcher_indices */ MatcherIndicesIndex(168),
},
{
/* [130] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [131] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [132] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [133] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(162),
+ /* matcher_indices */ MatcherIndicesIndex(170),
},
{
/* [134] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(166),
+ /* matcher_indices */ MatcherIndicesIndex(174),
},
{
/* [135] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [136] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [137] */
@@ -2760,22 +2801,22 @@
{
/* [138] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [139] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(242),
+ /* matcher_indices */ MatcherIndicesIndex(250),
},
{
/* [140] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [141] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [142] */
@@ -2785,22 +2826,22 @@
{
/* [143] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [144] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(245),
+ /* matcher_indices */ MatcherIndicesIndex(253),
},
{
/* [145] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [146] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [147] */
@@ -2815,12 +2856,12 @@
{
/* [149] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [150] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [151] */
@@ -2840,152 +2881,152 @@
{
/* [154] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(142),
+ /* matcher_indices */ MatcherIndicesIndex(150),
},
{
/* [155] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [156] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [157] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(242),
+ /* matcher_indices */ MatcherIndicesIndex(250),
},
{
/* [158] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [159] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [160] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [161] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(244),
+ /* matcher_indices */ MatcherIndicesIndex(252),
},
{
/* [162] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(249),
+ /* matcher_indices */ MatcherIndicesIndex(257),
},
{
/* [163] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [164] */
/* usage */ core::ParameterUsage::kDepthRef,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [165] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(156),
+ /* matcher_indices */ MatcherIndicesIndex(164),
},
{
/* [166] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [167] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [168] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(150),
+ /* matcher_indices */ MatcherIndicesIndex(158),
},
{
/* [169] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(160),
+ /* matcher_indices */ MatcherIndicesIndex(168),
},
{
/* [170] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [171] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [172] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(162),
+ /* matcher_indices */ MatcherIndicesIndex(170),
},
{
/* [173] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(164),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [174] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [175] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [176] */
/* usage */ core::ParameterUsage::kBias,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [177] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(164),
+ /* matcher_indices */ MatcherIndicesIndex(172),
},
{
/* [178] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [179] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [180] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [181] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(244),
+ /* matcher_indices */ MatcherIndicesIndex(252),
},
{
/* [182] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [183] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(152),
+ /* matcher_indices */ MatcherIndicesIndex(160),
},
{
/* [184] */
@@ -2995,72 +3036,72 @@
{
/* [185] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(96),
+ /* matcher_indices */ MatcherIndicesIndex(104),
},
{
/* [186] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [187] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(32),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [188] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(124),
+ /* matcher_indices */ MatcherIndicesIndex(132),
},
{
/* [189] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(96),
+ /* matcher_indices */ MatcherIndicesIndex(104),
},
{
/* [190] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [191] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(32),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [192] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(126),
+ /* matcher_indices */ MatcherIndicesIndex(134),
},
{
/* [193] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(96),
+ /* matcher_indices */ MatcherIndicesIndex(104),
},
{
/* [194] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [195] */
/* usage */ core::ParameterUsage::kArrayIndex,
- /* matcher_indices */ MatcherIndicesIndex(32),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [196] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(128),
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
/* [197] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(136),
+ /* matcher_indices */ MatcherIndicesIndex(144),
},
{
/* [198] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(122),
},
{
/* [199] */
@@ -3070,17 +3111,17 @@
{
/* [200] */
/* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(32),
+ /* matcher_indices */ MatcherIndicesIndex(40),
},
{
/* [201] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(243),
+ /* matcher_indices */ MatcherIndicesIndex(251),
},
{
/* [202] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [203] */
@@ -3115,102 +3156,102 @@
{
/* [209] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [210] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [211] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [212] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [213] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [214] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [215] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [216] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [217] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(148),
+ /* matcher_indices */ MatcherIndicesIndex(156),
},
{
/* [218] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(148),
+ /* matcher_indices */ MatcherIndicesIndex(156),
},
{
/* [219] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(148),
+ /* matcher_indices */ MatcherIndicesIndex(156),
},
{
/* [220] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(148),
+ /* matcher_indices */ MatcherIndicesIndex(156),
},
{
/* [221] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(48),
+ /* matcher_indices */ MatcherIndicesIndex(56),
},
{
/* [222] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(48),
+ /* matcher_indices */ MatcherIndicesIndex(56),
},
{
/* [223] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(48),
+ /* matcher_indices */ MatcherIndicesIndex(56),
},
{
/* [224] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(47),
+ /* matcher_indices */ MatcherIndicesIndex(55),
},
{
/* [225] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(47),
+ /* matcher_indices */ MatcherIndicesIndex(55),
},
{
/* [226] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [227] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [228] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [229] */
@@ -3230,62 +3271,62 @@
{
/* [232] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(47),
+ /* matcher_indices */ MatcherIndicesIndex(55),
},
{
/* [233] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [234] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [235] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(53),
},
{
/* [236] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(45),
+ /* matcher_indices */ MatcherIndicesIndex(53),
},
{
/* [237] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(154),
+ /* matcher_indices */ MatcherIndicesIndex(162),
},
{
/* [238] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [239] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [240] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(247),
+ /* matcher_indices */ MatcherIndicesIndex(255),
},
{
/* [241] */
/* usage */ core::ParameterUsage::kSampler,
- /* matcher_indices */ MatcherIndicesIndex(248),
+ /* matcher_indices */ MatcherIndicesIndex(256),
},
{
/* [242] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [243] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(90),
+ /* matcher_indices */ MatcherIndicesIndex(98),
},
{
/* [244] */
@@ -3295,42 +3336,42 @@
{
/* [245] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(124),
+ /* matcher_indices */ MatcherIndicesIndex(132),
},
{
/* [246] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(93),
+ /* matcher_indices */ MatcherIndicesIndex(101),
},
{
/* [247] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [248] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(124),
+ /* matcher_indices */ MatcherIndicesIndex(132),
},
{
/* [249] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(99),
+ /* matcher_indices */ MatcherIndicesIndex(107),
},
{
/* [250] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [251] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(124),
+ /* matcher_indices */ MatcherIndicesIndex(132),
},
{
/* [252] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(90),
+ /* matcher_indices */ MatcherIndicesIndex(98),
},
{
/* [253] */
@@ -3340,42 +3381,42 @@
{
/* [254] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(126),
+ /* matcher_indices */ MatcherIndicesIndex(134),
},
{
/* [255] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(93),
+ /* matcher_indices */ MatcherIndicesIndex(101),
},
{
/* [256] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [257] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(126),
+ /* matcher_indices */ MatcherIndicesIndex(134),
},
{
/* [258] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(99),
+ /* matcher_indices */ MatcherIndicesIndex(107),
},
{
/* [259] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [260] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(126),
+ /* matcher_indices */ MatcherIndicesIndex(134),
},
{
/* [261] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(90),
+ /* matcher_indices */ MatcherIndicesIndex(98),
},
{
/* [262] */
@@ -3385,42 +3426,42 @@
{
/* [263] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(128),
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
/* [264] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(93),
+ /* matcher_indices */ MatcherIndicesIndex(101),
},
{
/* [265] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [266] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(128),
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
/* [267] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(99),
+ /* matcher_indices */ MatcherIndicesIndex(107),
},
{
/* [268] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [269] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(128),
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
/* [270] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(130),
+ /* matcher_indices */ MatcherIndicesIndex(138),
},
{
/* [271] */
@@ -3435,12 +3476,12 @@
{
/* [273] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(134),
+ /* matcher_indices */ MatcherIndicesIndex(142),
},
{
/* [274] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(122),
},
{
/* [275] */
@@ -3450,12 +3491,12 @@
{
/* [276] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(140),
+ /* matcher_indices */ MatcherIndicesIndex(148),
},
{
/* [277] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(170),
+ /* matcher_indices */ MatcherIndicesIndex(178),
},
{
/* [278] */
@@ -3465,12 +3506,12 @@
{
/* [279] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(146),
+ /* matcher_indices */ MatcherIndicesIndex(154),
},
{
/* [280] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(122),
},
{
/* [281] */
@@ -3480,12 +3521,12 @@
{
/* [282] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(242),
+ /* matcher_indices */ MatcherIndicesIndex(250),
},
{
/* [283] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [284] */
@@ -3495,12 +3536,12 @@
{
/* [285] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(246),
+ /* matcher_indices */ MatcherIndicesIndex(254),
},
{
/* [286] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [287] */
@@ -3510,7 +3551,7 @@
{
/* [288] */
/* usage */ core::ParameterUsage::kXy,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [289] */
@@ -3530,7 +3571,7 @@
{
/* [292] */
/* usage */ core::ParameterUsage::kYz,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [293] */
@@ -3550,7 +3591,7 @@
{
/* [296] */
/* usage */ core::ParameterUsage::kZw,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [297] */
@@ -3565,17 +3606,17 @@
{
/* [299] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [300] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(72),
+ /* matcher_indices */ MatcherIndicesIndex(80),
},
{
/* [301] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(130),
+ /* matcher_indices */ MatcherIndicesIndex(138),
},
{
/* [302] */
@@ -3585,7 +3626,7 @@
{
/* [303] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(134),
+ /* matcher_indices */ MatcherIndicesIndex(142),
},
{
/* [304] */
@@ -3595,7 +3636,7 @@
{
/* [305] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(136),
+ /* matcher_indices */ MatcherIndicesIndex(144),
},
{
/* [306] */
@@ -3605,7 +3646,7 @@
{
/* [307] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(140),
+ /* matcher_indices */ MatcherIndicesIndex(148),
},
{
/* [308] */
@@ -3615,7 +3656,7 @@
{
/* [309] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(142),
+ /* matcher_indices */ MatcherIndicesIndex(150),
},
{
/* [310] */
@@ -3625,7 +3666,7 @@
{
/* [311] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(144),
+ /* matcher_indices */ MatcherIndicesIndex(152),
},
{
/* [312] */
@@ -3635,7 +3676,7 @@
{
/* [313] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(242),
+ /* matcher_indices */ MatcherIndicesIndex(250),
},
{
/* [314] */
@@ -3645,7 +3686,7 @@
{
/* [315] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(243),
+ /* matcher_indices */ MatcherIndicesIndex(251),
},
{
/* [316] */
@@ -3655,7 +3696,7 @@
{
/* [317] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(244),
+ /* matcher_indices */ MatcherIndicesIndex(252),
},
{
/* [318] */
@@ -3665,7 +3706,7 @@
{
/* [319] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(245),
+ /* matcher_indices */ MatcherIndicesIndex(253),
},
{
/* [320] */
@@ -3675,12 +3716,12 @@
{
/* [321] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(247),
+ /* matcher_indices */ MatcherIndicesIndex(255),
},
{
/* [322] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [323] */
@@ -3695,7 +3736,7 @@
{
/* [325] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(42),
+ /* matcher_indices */ MatcherIndicesIndex(50),
},
{
/* [326] */
@@ -3705,7 +3746,7 @@
{
/* [327] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(48),
+ /* matcher_indices */ MatcherIndicesIndex(56),
},
{
/* [328] */
@@ -3715,22 +3756,22 @@
{
/* [329] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(48),
+ /* matcher_indices */ MatcherIndicesIndex(56),
},
{
/* [330] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(60),
+ /* matcher_indices */ MatcherIndicesIndex(68),
},
{
/* [331] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(26),
+ /* matcher_indices */ MatcherIndicesIndex(34),
},
{
/* [332] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(26),
+ /* matcher_indices */ MatcherIndicesIndex(34),
},
{
/* [333] */
@@ -3740,47 +3781,47 @@
{
/* [334] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(26),
+ /* matcher_indices */ MatcherIndicesIndex(34),
},
{
/* [335] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(48),
+ /* matcher_indices */ MatcherIndicesIndex(56),
},
{
/* [336] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(102),
+ /* matcher_indices */ MatcherIndicesIndex(110),
},
{
/* [337] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(26),
+ /* matcher_indices */ MatcherIndicesIndex(34),
},
{
/* [338] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(34),
+ /* matcher_indices */ MatcherIndicesIndex(42),
},
{
/* [339] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(38),
+ /* matcher_indices */ MatcherIndicesIndex(46),
},
{
/* [340] */
/* usage */ core::ParameterUsage::kXy,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [341] */
/* usage */ core::ParameterUsage::kZw,
- /* matcher_indices */ MatcherIndicesIndex(168),
+ /* matcher_indices */ MatcherIndicesIndex(176),
},
{
/* [342] */
/* usage */ core::ParameterUsage::kXyz,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [343] */
@@ -3795,7 +3836,7 @@
{
/* [345] */
/* usage */ core::ParameterUsage::kZyw,
- /* matcher_indices */ MatcherIndicesIndex(116),
+ /* matcher_indices */ MatcherIndicesIndex(124),
},
{
/* [346] */
@@ -3805,42 +3846,42 @@
{
/* [347] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(59),
+ /* matcher_indices */ MatcherIndicesIndex(67),
},
{
/* [348] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(54),
+ /* matcher_indices */ MatcherIndicesIndex(62),
},
{
/* [349] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(57),
+ /* matcher_indices */ MatcherIndicesIndex(65),
},
{
/* [350] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(65),
+ /* matcher_indices */ MatcherIndicesIndex(73),
},
{
/* [351] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(63),
+ /* matcher_indices */ MatcherIndicesIndex(71),
},
{
/* [352] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(108),
+ /* matcher_indices */ MatcherIndicesIndex(116),
},
{
/* [353] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(112),
+ /* matcher_indices */ MatcherIndicesIndex(120),
},
{
/* [354] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(114),
+ /* matcher_indices */ MatcherIndicesIndex(122),
},
{
/* [355] */
@@ -3850,32 +3891,32 @@
{
/* [356] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
},
{
/* [357] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(66),
+ /* matcher_indices */ MatcherIndicesIndex(74),
},
{
/* [358] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(122),
+ /* matcher_indices */ MatcherIndicesIndex(130),
},
{
/* [359] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(124),
+ /* matcher_indices */ MatcherIndicesIndex(132),
},
{
/* [360] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(126),
+ /* matcher_indices */ MatcherIndicesIndex(134),
},
{
/* [361] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(128),
+ /* matcher_indices */ MatcherIndicesIndex(136),
},
{
/* [362] */
@@ -3890,172 +3931,182 @@
{
/* [364] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(78),
+ /* matcher_indices */ MatcherIndicesIndex(86),
},
{
/* [365] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(81),
+ /* matcher_indices */ MatcherIndicesIndex(89),
},
{
/* [366] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(84),
+ /* matcher_indices */ MatcherIndicesIndex(92),
},
{
/* [367] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(87),
+ /* matcher_indices */ MatcherIndicesIndex(95),
},
{
/* [368] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(127),
+ /* matcher_indices */ MatcherIndicesIndex(30),
},
{
/* [369] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(170),
+ /* matcher_indices */ MatcherIndicesIndex(26),
},
{
/* [370] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(180),
+ /* matcher_indices */ MatcherIndicesIndex(135),
},
{
/* [371] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(23),
+ /* matcher_indices */ MatcherIndicesIndex(178),
},
{
/* [372] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(182),
+ /* matcher_indices */ MatcherIndicesIndex(188),
},
{
/* [373] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(184),
+ /* matcher_indices */ MatcherIndicesIndex(23),
},
{
/* [374] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(186),
+ /* matcher_indices */ MatcherIndicesIndex(190),
},
{
/* [375] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(188),
+ /* matcher_indices */ MatcherIndicesIndex(192),
},
{
/* [376] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(190),
+ /* matcher_indices */ MatcherIndicesIndex(194),
},
{
/* [377] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(192),
+ /* matcher_indices */ MatcherIndicesIndex(196),
},
{
/* [378] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(194),
+ /* matcher_indices */ MatcherIndicesIndex(198),
},
{
/* [379] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(196),
+ /* matcher_indices */ MatcherIndicesIndex(200),
},
{
/* [380] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(198),
+ /* matcher_indices */ MatcherIndicesIndex(202),
},
{
/* [381] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(200),
+ /* matcher_indices */ MatcherIndicesIndex(204),
},
{
/* [382] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(202),
+ /* matcher_indices */ MatcherIndicesIndex(206),
},
{
/* [383] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(204),
+ /* matcher_indices */ MatcherIndicesIndex(208),
},
{
/* [384] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(206),
+ /* matcher_indices */ MatcherIndicesIndex(210),
},
{
/* [385] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(208),
+ /* matcher_indices */ MatcherIndicesIndex(212),
},
{
/* [386] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(210),
+ /* matcher_indices */ MatcherIndicesIndex(214),
},
{
/* [387] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(212),
+ /* matcher_indices */ MatcherIndicesIndex(216),
},
{
/* [388] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(214),
+ /* matcher_indices */ MatcherIndicesIndex(218),
},
{
/* [389] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(216),
+ /* matcher_indices */ MatcherIndicesIndex(220),
},
{
/* [390] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(218),
+ /* matcher_indices */ MatcherIndicesIndex(222),
},
{
/* [391] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(220),
+ /* matcher_indices */ MatcherIndicesIndex(224),
},
{
/* [392] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(222),
+ /* matcher_indices */ MatcherIndicesIndex(226),
},
{
/* [393] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(224),
+ /* matcher_indices */ MatcherIndicesIndex(228),
},
{
/* [394] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(226),
+ /* matcher_indices */ MatcherIndicesIndex(230),
},
{
/* [395] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(228),
+ /* matcher_indices */ MatcherIndicesIndex(232),
},
{
/* [396] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(230),
+ /* matcher_indices */ MatcherIndicesIndex(234),
},
{
/* [397] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(232),
+ /* matcher_indices */ MatcherIndicesIndex(236),
+ },
+ {
+ /* [398] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(238),
+ },
+ {
+ /* [399] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(240),
},
};
@@ -4066,187 +4117,187 @@
{
/* [0] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(61),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [1] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [2] */
/* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(47),
+ /* matcher_indices */ MatcherIndicesIndex(55),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [3] */
/* name */ "W",
- /* matcher_indices */ MatcherIndicesIndex(59),
+ /* matcher_indices */ MatcherIndicesIndex(67),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [4] */
/* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [5] */
/* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [6] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [7] */
/* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(65),
+ /* matcher_indices */ MatcherIndicesIndex(73),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [8] */
/* name */ "W",
- /* matcher_indices */ MatcherIndicesIndex(59),
+ /* matcher_indices */ MatcherIndicesIndex(67),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [9] */
/* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [10] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [11] */
/* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(250),
+ /* matcher_indices */ MatcherIndicesIndex(258),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [12] */
/* name */ "W",
- /* matcher_indices */ MatcherIndicesIndex(59),
+ /* matcher_indices */ MatcherIndicesIndex(67),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [13] */
/* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [14] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(61),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [15] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [16] */
/* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [17] */
/* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [18] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [19] */
/* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(47),
+ /* matcher_indices */ MatcherIndicesIndex(55),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [20] */
/* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [21] */
/* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [22] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [23] */
/* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(65),
+ /* matcher_indices */ MatcherIndicesIndex(73),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [24] */
/* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [25] */
/* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [26] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [27] */
/* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(250),
+ /* matcher_indices */ MatcherIndicesIndex(258),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [28] */
/* name */ "R",
- /* matcher_indices */ MatcherIndicesIndex(68),
+ /* matcher_indices */ MatcherIndicesIndex(76),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [29] */
/* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [30] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(237),
+ /* matcher_indices */ MatcherIndicesIndex(245),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4270,7 +4321,7 @@
{
/* [34] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(51),
+ /* matcher_indices */ MatcherIndicesIndex(59),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4282,7 +4333,7 @@
{
/* [36] */
/* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(61),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4294,13 +4345,13 @@
{
/* [38] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(237),
+ /* matcher_indices */ MatcherIndicesIndex(245),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [39] */
/* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(239),
+ /* matcher_indices */ MatcherIndicesIndex(247),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4318,7 +4369,7 @@
{
/* [42] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(237),
+ /* matcher_indices */ MatcherIndicesIndex(245),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -4336,331 +4387,337 @@
{
/* [45] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(61),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [46] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [47] */
/* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [48] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(61),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [49] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [50] */
/* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(238),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [51] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(237),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [52] */
- /* name */ "C",
+ /* name */ "S",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
+ /* [52] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
/* [53] */
- /* name */ "R",
+ /* name */ "A",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [54] */
- /* name */ "N",
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(245),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [55] */
+ /* name */ "C",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [55] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(236),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
/* [56] */
- /* name */ "N",
+ /* name */ "R",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [57] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(238),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [58] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(116),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(244),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [59] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [60] */
- /* name */ "A",
+ /* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [61] */
+ /* [60] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(246),
/* kind */ TemplateInfo::Kind::kType,
},
{
+ /* [61] */
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(124),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
/* [62] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(61),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [63] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(57),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(61),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [64] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(65),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [65] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(240),
- /* kind */ TemplateInfo::Kind::kType,
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
},
{
/* [66] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(248),
+ /* kind */ TemplateInfo::Kind::kType,
},
{
/* [67] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(241),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [68] */
/* name */ "N",
/* matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* kind */ TemplateInfo::Kind::kNumber,
},
{
- /* [69] */
+ /* [68] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(251),
+ /* matcher_indices */ MatcherIndicesIndex(249),
/* kind */ TemplateInfo::Kind::kType,
},
{
+ /* [69] */
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
/* [70] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(60),
+ /* matcher_indices */ MatcherIndicesIndex(259),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [71] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [72] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(108),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [73] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(53),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [74] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(112),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [75] */
- /* name */ "S",
- /* matcher_indices */ MatcherIndicesIndex(53),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [76] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(53),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [77] */
- /* name */ "L",
- /* matcher_indices */ MatcherIndicesIndex(238),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [78] */
- /* name */ "F",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [79] */
- /* name */ "A",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [80] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(252),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
- /* [81] */
- /* name */ "N",
- /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
- /* kind */ TemplateInfo::Kind::kNumber,
- },
- {
- /* [82] */
/* name */ "T",
/* matcher_indices */ MatcherIndicesIndex(68),
/* kind */ TemplateInfo::Kind::kType,
},
{
+ /* [72] */
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [73] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(116),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [74] */
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(61),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [75] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(120),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [76] */
+ /* name */ "S",
+ /* matcher_indices */ MatcherIndicesIndex(61),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [77] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(61),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [78] */
+ /* name */ "L",
+ /* matcher_indices */ MatcherIndicesIndex(246),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [79] */
+ /* name */ "F",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [80] */
+ /* name */ "A",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
+ /* [81] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(260),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [82] */
+ /* name */ "N",
+ /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* kind */ TemplateInfo::Kind::kNumber,
+ },
+ {
/* [83] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(255),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(76),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [84] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(59),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(263),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [85] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(256),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(67),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [86] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(127),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(264),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [87] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(253),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(135),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [88] */
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(261),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [89] */
/* name */ "T",
/* matcher_indices */ MatcherIndicesIndex(9),
/* kind */ TemplateInfo::Kind::kType,
},
{
- /* [89] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(254),
- /* kind */ TemplateInfo::Kind::kType,
- },
- {
/* [90] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(47),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(262),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [91] */
- /* name */ "U",
- /* matcher_indices */ MatcherIndicesIndex(257),
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(55),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [92] */
- /* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(110),
+ /* name */ "U",
+ /* matcher_indices */ MatcherIndicesIndex(265),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [93] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(253),
+ /* matcher_indices */ MatcherIndicesIndex(118),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [94] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(254),
+ /* matcher_indices */ MatcherIndicesIndex(261),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [95] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(255),
+ /* matcher_indices */ MatcherIndicesIndex(262),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [96] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(256),
+ /* matcher_indices */ MatcherIndicesIndex(263),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [97] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(257),
+ /* matcher_indices */ MatcherIndicesIndex(264),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [98] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(258),
+ /* matcher_indices */ MatcherIndicesIndex(265),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [99] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(259),
+ /* matcher_indices */ MatcherIndicesIndex(266),
+ /* kind */ TemplateInfo::Kind::kType,
+ },
+ {
+ /* [100] */
+ /* name */ "T",
+ /* matcher_indices */ MatcherIndicesIndex(267),
/* kind */ TemplateInfo::Kind::kType,
},
};
@@ -4806,7 +4863,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(76),
+ /* templates */ TemplateIndex(77),
/* parameters */ ParameterIndex(301),
/* return_matcher_indices */ MatcherIndicesIndex(9),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4819,7 +4876,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(75),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4828,9 +4885,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(76),
+ /* templates */ TemplateIndex(77),
/* parameters */ ParameterIndex(303),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4841,7 +4898,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(27),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4850,9 +4907,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(76),
+ /* templates */ TemplateIndex(77),
/* parameters */ ParameterIndex(305),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4863,7 +4920,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(276),
- /* return_matcher_indices */ MatcherIndicesIndex(138),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4872,9 +4929,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(76),
+ /* templates */ TemplateIndex(77),
/* parameters */ ParameterIndex(307),
- /* return_matcher_indices */ MatcherIndicesIndex(138),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4885,7 +4942,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(154),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4894,9 +4951,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(76),
+ /* templates */ TemplateIndex(77),
/* parameters */ ParameterIndex(309),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4907,7 +4964,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4916,9 +4973,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(76),
+ /* templates */ TemplateIndex(77),
/* parameters */ ParameterIndex(311),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4929,7 +4986,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(279),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4940,7 +4997,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4951,7 +5008,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(313),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4962,7 +5019,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4973,7 +5030,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(315),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4984,7 +5041,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(161),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -4995,7 +5052,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(317),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5006,7 +5063,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5017,7 +5074,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(319),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5028,7 +5085,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(285),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5037,7 +5094,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(78),
+ /* templates */ TemplateIndex(79),
/* parameters */ ParameterIndex(364),
/* return_matcher_indices */ MatcherIndicesIndex(9),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -5048,9 +5105,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(78),
+ /* templates */ TemplateIndex(79),
/* parameters */ ParameterIndex(365),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5059,9 +5116,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(78),
+ /* templates */ TemplateIndex(79),
/* parameters */ ParameterIndex(366),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5070,9 +5127,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(78),
+ /* templates */ TemplateIndex(79),
/* parameters */ ParameterIndex(367),
- /* return_matcher_indices */ MatcherIndicesIndex(138),
+ /* return_matcher_indices */ MatcherIndicesIndex(146),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5083,7 +5140,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(240),
- /* return_matcher_indices */ MatcherIndicesIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(140),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5094,7 +5151,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(178),
+ /* return_matcher_indices */ MatcherIndicesIndex(186),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5103,9 +5160,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5114,9 +5171,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -5125,9 +5182,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -5136,9 +5193,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -5147,9 +5204,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -5158,9 +5215,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(205),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5169,9 +5226,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(205),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5180,9 +5237,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5191,9 +5248,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5202,9 +5259,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(291),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5213,9 +5270,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(291),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5224,9 +5281,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(294),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5235,9 +5292,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(294),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5246,9 +5303,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(340),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5257,9 +5314,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(340),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5268,9 +5325,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(342),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5279,9 +5336,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(342),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5290,9 +5347,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(344),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5301,9 +5358,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(344),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5312,9 +5369,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(370),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(372),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5323,9 +5380,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(370),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(372),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5334,9 +5391,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(370),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* templates */ TemplateIndex(87),
+ /* parameters */ ParameterIndex(372),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5345,9 +5402,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(88),
- /* parameters */ ParameterIndex(370),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* templates */ TemplateIndex(89),
+ /* parameters */ ParameterIndex(372),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5356,9 +5413,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(90),
- /* parameters */ ParameterIndex(370),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* templates */ TemplateIndex(91),
+ /* parameters */ ParameterIndex(372),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5369,7 +5426,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(45),
/* parameters */ ParameterIndex(270),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5380,7 +5437,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(45),
/* parameters */ ParameterIndex(273),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5391,7 +5448,7 @@
/* num_templates */ 4,
/* templates */ TemplateIndex(14),
/* parameters */ ParameterIndex(197),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5402,7 +5459,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(45),
/* parameters */ ParameterIndex(276),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5413,7 +5470,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(48),
/* parameters */ ParameterIndex(279),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5424,7 +5481,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(46),
/* parameters */ ParameterIndex(282),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5435,7 +5492,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(15),
/* parameters */ ParameterIndex(201),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5446,7 +5503,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(49),
/* parameters */ ParameterIndex(285),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5457,7 +5514,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(1),
/* parameters */ ParameterIndex(321),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5468,7 +5525,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(18),
/* parameters */ ParameterIndex(243),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5479,7 +5536,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(22),
/* parameters */ ParameterIndex(243),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* return_matcher_indices */ MatcherIndicesIndex(134),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5490,7 +5547,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(26),
/* parameters */ ParameterIndex(243),
- /* return_matcher_indices */ MatcherIndicesIndex(128),
+ /* return_matcher_indices */ MatcherIndicesIndex(136),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5501,7 +5558,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(18),
/* parameters */ ParameterIndex(246),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5512,7 +5569,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(22),
/* parameters */ ParameterIndex(246),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* return_matcher_indices */ MatcherIndicesIndex(134),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5523,7 +5580,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(26),
/* parameters */ ParameterIndex(246),
- /* return_matcher_indices */ MatcherIndicesIndex(128),
+ /* return_matcher_indices */ MatcherIndicesIndex(136),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5534,7 +5591,7 @@
/* num_templates */ 4,
/* templates */ TemplateIndex(18),
/* parameters */ ParameterIndex(185),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5545,7 +5602,7 @@
/* num_templates */ 4,
/* templates */ TemplateIndex(22),
/* parameters */ ParameterIndex(185),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* return_matcher_indices */ MatcherIndicesIndex(134),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5556,7 +5613,7 @@
/* num_templates */ 4,
/* templates */ TemplateIndex(26),
/* parameters */ ParameterIndex(185),
- /* return_matcher_indices */ MatcherIndicesIndex(128),
+ /* return_matcher_indices */ MatcherIndicesIndex(136),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5567,7 +5624,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(18),
/* parameters */ ParameterIndex(249),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5578,7 +5635,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(22),
/* parameters */ ParameterIndex(249),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* return_matcher_indices */ MatcherIndicesIndex(134),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5589,7 +5646,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(26),
/* parameters */ ParameterIndex(249),
- /* return_matcher_indices */ MatcherIndicesIndex(128),
+ /* return_matcher_indices */ MatcherIndicesIndex(136),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5600,7 +5657,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(176),
+ /* return_matcher_indices */ MatcherIndicesIndex(184),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5609,9 +5666,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -5620,9 +5677,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -5631,9 +5688,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -5642,9 +5699,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -5653,9 +5710,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -5664,9 +5721,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(205),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5675,9 +5732,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(205),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -5686,9 +5743,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5697,9 +5754,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(288),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5708,9 +5765,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(291),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5719,9 +5776,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(291),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(111),
},
{
@@ -5730,9 +5787,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(369),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(371),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5741,9 +5798,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(369),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(371),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5752,9 +5809,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(86),
- /* parameters */ ParameterIndex(369),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* templates */ TemplateIndex(87),
+ /* parameters */ ParameterIndex(371),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5763,9 +5820,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(88),
- /* parameters */ ParameterIndex(369),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* templates */ TemplateIndex(89),
+ /* parameters */ ParameterIndex(371),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5774,9 +5831,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(90),
- /* parameters */ ParameterIndex(369),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* templates */ TemplateIndex(91),
+ /* parameters */ ParameterIndex(371),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -5787,7 +5844,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(237),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5798,7 +5855,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5809,7 +5866,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(165),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5820,7 +5877,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5831,7 +5888,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(99),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5842,7 +5899,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5853,7 +5910,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(169),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5864,7 +5921,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(119),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5875,7 +5932,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(56),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5886,7 +5943,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5897,7 +5954,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(157),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5908,7 +5965,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5919,7 +5976,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(84),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5930,7 +5987,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(181),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5941,7 +5998,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5952,7 +6009,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(124),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5963,7 +6020,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(124),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5974,7 +6031,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(62),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5985,7 +6042,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(62),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -5996,7 +6053,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(129),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6007,7 +6064,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(129),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6018,7 +6075,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(177),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6029,7 +6086,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(134),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6040,7 +6097,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6051,7 +6108,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6062,7 +6119,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6073,7 +6130,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6084,7 +6141,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
/* parameters */ ParameterIndex(181),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6095,7 +6152,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6106,7 +6163,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(174),
+ /* return_matcher_indices */ MatcherIndicesIndex(182),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6115,9 +6172,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6126,9 +6183,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(209),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -6137,9 +6194,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(209),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -6148,9 +6205,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -6159,9 +6216,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(109),
},
{
@@ -6170,9 +6227,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(205),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -6181,9 +6238,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(205),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(110),
},
{
@@ -6192,9 +6249,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(82),
+ /* templates */ TemplateIndex(83),
/* parameters */ ParameterIndex(354),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6203,9 +6260,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(84),
+ /* templates */ TemplateIndex(85),
/* parameters */ ParameterIndex(354),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6214,9 +6271,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(86),
+ /* templates */ TemplateIndex(87),
/* parameters */ ParameterIndex(354),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6225,9 +6282,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(88),
+ /* templates */ TemplateIndex(89),
/* parameters */ ParameterIndex(354),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6236,9 +6293,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(90),
+ /* templates */ TemplateIndex(91),
/* parameters */ ParameterIndex(354),
- /* return_matcher_indices */ MatcherIndicesIndex(168),
+ /* return_matcher_indices */ MatcherIndicesIndex(176),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -6249,7 +6306,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(74),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6260,7 +6317,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(74),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6271,7 +6328,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(14),
/* parameters */ ParameterIndex(26),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6282,7 +6339,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(14),
/* parameters */ ParameterIndex(26),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6293,7 +6350,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(0),
/* parameters */ ParameterIndex(153),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6304,7 +6361,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(14),
/* parameters */ ParameterIndex(79),
- /* return_matcher_indices */ MatcherIndicesIndex(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(156),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6315,7 +6372,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6326,7 +6383,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(157),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6337,7 +6394,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(68),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6348,7 +6405,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(84),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6359,7 +6416,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(181),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6370,7 +6427,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(144),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -6511,7 +6568,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(61),
+ /* templates */ TemplateIndex(62),
/* parameters */ ParameterIndex(229),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
@@ -6522,7 +6579,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
+ /* templates */ TemplateIndex(85),
/* parameters */ ParameterIndex(347),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
@@ -6544,7 +6601,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(63),
+ /* templates */ TemplateIndex(64),
/* parameters */ ParameterIndex(349),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
@@ -6555,7 +6612,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(88),
+ /* templates */ TemplateIndex(89),
/* parameters */ ParameterIndex(350),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
@@ -6566,7 +6623,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(70),
+ /* templates */ TemplateIndex(71),
/* parameters */ ParameterIndex(351),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
@@ -6588,7 +6645,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(92),
+ /* templates */ TemplateIndex(93),
/* parameters */ ParameterIndex(353),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
@@ -6599,7 +6656,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(72),
+ /* templates */ TemplateIndex(73),
/* parameters */ ParameterIndex(229),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
@@ -6610,7 +6667,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 2,
- /* templates */ TemplateIndex(74),
+ /* templates */ TemplateIndex(75),
/* parameters */ ParameterIndex(354),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(10),
@@ -6731,7 +6788,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
@@ -6742,9 +6799,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -6753,9 +6810,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(327),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -6764,9 +6821,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(328),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -6777,7 +6834,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(42),
/* parameters */ ParameterIndex(333),
- /* return_matcher_indices */ MatcherIndicesIndex(26),
+ /* return_matcher_indices */ MatcherIndicesIndex(34),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -6788,7 +6845,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(42),
/* parameters */ ParameterIndex(332),
- /* return_matcher_indices */ MatcherIndicesIndex(26),
+ /* return_matcher_indices */ MatcherIndicesIndex(34),
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
@@ -6797,9 +6854,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(51),
+ /* templates */ TemplateIndex(54),
/* parameters */ ParameterIndex(334),
- /* return_matcher_indices */ MatcherIndicesIndex(102),
+ /* return_matcher_indices */ MatcherIndicesIndex(110),
/* const_eval_fn */ ConstEvalFunctionIndex(89),
},
{
@@ -6808,9 +6865,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 3,
- /* templates */ TemplateIndex(51),
+ /* templates */ TemplateIndex(54),
/* parameters */ ParameterIndex(336),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(90),
},
{
@@ -6821,7 +6878,7 @@
/* num_templates */ 4,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(338),
- /* return_matcher_indices */ MatcherIndicesIndex(30),
+ /* return_matcher_indices */ MatcherIndicesIndex(38),
/* const_eval_fn */ ConstEvalFunctionIndex(91),
},
{
@@ -6830,7 +6887,7 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
/* return_matcher_indices */ MatcherIndicesIndex(23),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
@@ -6841,8 +6898,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(371),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(373),
/* return_matcher_indices */ MatcherIndicesIndex(23),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
@@ -6853,7 +6910,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(371),
+ /* parameters */ ParameterIndex(373),
/* return_matcher_indices */ MatcherIndicesIndex(23),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
@@ -6907,8 +6964,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(372),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(374),
/* return_matcher_indices */ MatcherIndicesIndex(23),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
@@ -6918,8 +6975,8 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(373),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(375),
/* return_matcher_indices */ MatcherIndicesIndex(23),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
@@ -6929,9 +6986,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -6940,9 +6997,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(374),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(376),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -6952,8 +7009,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(374),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* parameters */ ParameterIndex(376),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -6964,7 +7021,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -6975,7 +7032,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -6986,7 +7043,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -6997,7 +7054,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7006,9 +7063,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(375),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(377),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7017,9 +7074,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(376),
- /* return_matcher_indices */ MatcherIndicesIndex(186),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(378),
+ /* return_matcher_indices */ MatcherIndicesIndex(194),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7028,9 +7085,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7039,9 +7096,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(377),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(379),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7051,8 +7108,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(377),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* parameters */ ParameterIndex(379),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7063,7 +7120,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7074,7 +7131,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7085,7 +7142,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7096,7 +7153,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7105,9 +7162,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(378),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(380),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7116,9 +7173,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(379),
- /* return_matcher_indices */ MatcherIndicesIndex(192),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(381),
+ /* return_matcher_indices */ MatcherIndicesIndex(200),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7127,9 +7184,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7138,9 +7195,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(380),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(382),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7150,8 +7207,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(380),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* parameters */ ParameterIndex(382),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7162,7 +7219,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7173,7 +7230,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7184,7 +7241,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(209),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7195,7 +7252,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(209),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7204,9 +7261,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(381),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(383),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7215,9 +7272,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(382),
- /* return_matcher_indices */ MatcherIndicesIndex(198),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(384),
+ /* return_matcher_indices */ MatcherIndicesIndex(206),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7226,9 +7283,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7237,9 +7294,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(383),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(385),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7249,8 +7306,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(383),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* parameters */ ParameterIndex(385),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7261,7 +7318,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7272,7 +7329,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7283,7 +7340,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7294,7 +7351,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7303,9 +7360,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(384),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(386),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7314,9 +7371,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(385),
- /* return_matcher_indices */ MatcherIndicesIndex(204),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(387),
+ /* return_matcher_indices */ MatcherIndicesIndex(212),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7325,9 +7382,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7336,9 +7393,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(386),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(388),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7348,8 +7405,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(386),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* parameters */ ParameterIndex(388),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7360,7 +7417,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7371,7 +7428,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7382,7 +7439,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7393,7 +7450,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7402,9 +7459,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(387),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(389),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7413,9 +7470,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(388),
- /* return_matcher_indices */ MatcherIndicesIndex(210),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(390),
+ /* return_matcher_indices */ MatcherIndicesIndex(218),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7424,9 +7481,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7435,9 +7492,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(391),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7447,8 +7504,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(389),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* parameters */ ParameterIndex(391),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7459,7 +7516,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7470,7 +7527,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7481,7 +7538,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(209),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7492,7 +7549,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(209),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7501,9 +7558,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(390),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(392),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7512,9 +7569,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(391),
- /* return_matcher_indices */ MatcherIndicesIndex(216),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(393),
+ /* return_matcher_indices */ MatcherIndicesIndex(224),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7523,9 +7580,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7534,9 +7591,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(392),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(394),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7546,8 +7603,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(392),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* parameters */ ParameterIndex(394),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7558,7 +7615,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7569,7 +7626,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7580,7 +7637,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7591,7 +7648,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7600,9 +7657,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(393),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(395),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7611,9 +7668,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(394),
- /* return_matcher_indices */ MatcherIndicesIndex(222),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(396),
+ /* return_matcher_indices */ MatcherIndicesIndex(230),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7622,9 +7679,9 @@
/* num_parameters */ 0,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
+ /* templates */ TemplateIndex(100),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -7633,9 +7690,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(99),
- /* parameters */ ParameterIndex(395),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* templates */ TemplateIndex(100),
+ /* parameters */ ParameterIndex(397),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7645,8 +7702,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
- /* parameters */ ParameterIndex(395),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* parameters */ ParameterIndex(397),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -7657,7 +7714,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7668,7 +7725,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(112),
},
{
@@ -7679,7 +7736,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7690,7 +7747,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(217),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(113),
},
{
@@ -7699,9 +7756,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(84),
- /* parameters */ ParameterIndex(396),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* templates */ TemplateIndex(85),
+ /* parameters */ ParameterIndex(398),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7710,9 +7767,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(82),
- /* parameters */ ParameterIndex(397),
- /* return_matcher_indices */ MatcherIndicesIndex(228),
+ /* templates */ TemplateIndex(83),
+ /* parameters */ ParameterIndex(399),
+ /* return_matcher_indices */ MatcherIndicesIndex(236),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -7723,7 +7780,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(104),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7734,7 +7791,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(104),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7745,7 +7802,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(38),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7756,7 +7813,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(38),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7767,7 +7824,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7778,7 +7835,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7789,7 +7846,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(173),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7800,7 +7857,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(114),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7811,7 +7868,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7822,7 +7879,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7833,7 +7890,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7844,7 +7901,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(19),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7855,7 +7912,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7866,7 +7923,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7877,7 +7934,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(119),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7888,7 +7945,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(56),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7899,7 +7956,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7910,7 +7967,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7921,7 +7978,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7932,7 +7989,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7943,7 +8000,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(161),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7954,7 +8011,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7965,7 +8022,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7976,7 +8033,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7987,7 +8044,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -7998,7 +8055,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8009,7 +8066,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(161),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8020,7 +8077,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8031,7 +8088,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8042,7 +8099,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8053,7 +8110,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8064,7 +8121,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8075,7 +8132,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(161),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8086,7 +8143,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(4),
/* parameters */ ParameterIndex(94),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -8139,7 +8196,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(78),
+ /* templates */ TemplateIndex(79),
/* parameters */ ParameterIndex(366),
/* return_matcher_indices */ MatcherIndicesIndex(9),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -8150,7 +8207,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
@@ -8161,9 +8218,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -8172,9 +8229,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(327),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -8183,9 +8240,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(328),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -8196,7 +8253,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(42),
/* parameters */ ParameterIndex(331),
- /* return_matcher_indices */ MatcherIndicesIndex(26),
+ /* return_matcher_indices */ MatcherIndicesIndex(34),
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
@@ -8205,7 +8262,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(87),
@@ -8216,9 +8273,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
@@ -8227,9 +8284,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(327),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
@@ -8238,9 +8295,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(328),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
@@ -8251,7 +8308,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(42),
/* parameters */ ParameterIndex(331),
- /* return_matcher_indices */ MatcherIndicesIndex(26),
+ /* return_matcher_indices */ MatcherIndicesIndex(34),
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
@@ -8260,7 +8317,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(92),
@@ -8271,9 +8328,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(92),
},
{
@@ -8282,9 +8339,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(327),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(92),
},
{
@@ -8293,9 +8350,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(328),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(92),
},
{
@@ -8304,7 +8361,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(93),
@@ -8315,9 +8372,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(93),
},
{
@@ -8326,9 +8383,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(327),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(93),
},
{
@@ -8337,9 +8394,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(328),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(93),
},
{
@@ -8350,7 +8407,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(224),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(95),
},
{
@@ -8361,7 +8418,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(35),
/* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(53),
/* const_eval_fn */ ConstEvalFunctionIndex(95),
},
{
@@ -8370,7 +8427,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(95),
@@ -8381,9 +8438,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(95),
},
{
@@ -8394,7 +8451,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(224),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(96),
},
{
@@ -8405,7 +8462,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(35),
/* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(53),
/* const_eval_fn */ ConstEvalFunctionIndex(96),
},
{
@@ -8414,7 +8471,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(96),
@@ -8425,9 +8482,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(96),
},
{
@@ -8449,7 +8506,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(226),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(43),
},
{
@@ -8460,7 +8517,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(43),
},
{
@@ -8469,7 +8526,7 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(230),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(63),
@@ -8480,9 +8537,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(222),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(63),
},
{
@@ -8491,9 +8548,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(64),
+ /* templates */ TemplateIndex(65),
/* parameters */ ParameterIndex(233),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(64),
},
{
@@ -8504,7 +8561,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* return_matcher_indices */ MatcherIndicesIndex(135),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8514,8 +8571,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(368),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* parameters */ ParameterIndex(370),
+ /* return_matcher_indices */ MatcherIndicesIndex(135),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8524,9 +8581,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(93),
+ /* templates */ TemplateIndex(94),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* return_matcher_indices */ MatcherIndicesIndex(135),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8557,7 +8614,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(94),
+ /* templates */ TemplateIndex(95),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(9),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
@@ -8570,7 +8627,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8581,7 +8638,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(356),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8590,9 +8647,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(95),
+ /* templates */ TemplateIndex(96),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8603,7 +8660,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(59),
+ /* return_matcher_indices */ MatcherIndicesIndex(67),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8614,7 +8671,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(347),
- /* return_matcher_indices */ MatcherIndicesIndex(59),
+ /* return_matcher_indices */ MatcherIndicesIndex(67),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8623,9 +8680,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(96),
+ /* templates */ TemplateIndex(97),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(59),
+ /* return_matcher_indices */ MatcherIndicesIndex(67),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8636,7 +8693,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(107),
},
{
@@ -8647,7 +8704,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(224),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
},
{
@@ -8656,9 +8713,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(97),
+ /* templates */ TemplateIndex(98),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -8667,7 +8724,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(0),
@@ -8678,9 +8735,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(57),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(0),
},
{
@@ -8702,7 +8759,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(1),
},
{
@@ -8724,7 +8781,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(2),
},
{
@@ -8735,7 +8792,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(224),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(3),
},
{
@@ -8746,7 +8803,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(35),
/* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(3),
},
{
@@ -8757,7 +8814,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(224),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(4),
},
{
@@ -8768,7 +8825,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(35),
/* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(4),
},
{
@@ -8790,7 +8847,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(5),
},
{
@@ -8812,7 +8869,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(6),
},
{
@@ -8834,7 +8891,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(7),
},
{
@@ -8856,7 +8913,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(42),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(8),
},
{
@@ -8878,7 +8935,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(9),
},
{
@@ -8900,7 +8957,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(11),
},
{
@@ -8909,7 +8966,7 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(12),
@@ -8920,9 +8977,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(12),
},
{
@@ -8944,7 +9001,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(13),
},
{
@@ -8966,7 +9023,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(14),
},
{
@@ -8975,7 +9032,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(15),
@@ -8986,9 +9043,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(56),
+ /* templates */ TemplateIndex(59),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(15),
},
{
@@ -8997,7 +9054,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(16),
@@ -9008,9 +9065,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(56),
+ /* templates */ TemplateIndex(59),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(16),
},
{
@@ -9019,7 +9076,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(17),
@@ -9030,9 +9087,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(56),
+ /* templates */ TemplateIndex(59),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(17),
},
{
@@ -9054,7 +9111,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(19),
},
{
@@ -9087,7 +9144,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(356),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9098,7 +9155,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(35),
/* parameters */ ParameterIndex(357),
- /* return_matcher_indices */ MatcherIndicesIndex(66),
+ /* return_matcher_indices */ MatcherIndicesIndex(74),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9120,7 +9177,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(25),
},
{
@@ -9142,7 +9199,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(26),
},
{
@@ -9151,7 +9208,7 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(16),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(27),
@@ -9162,9 +9219,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(56),
+ /* templates */ TemplateIndex(59),
/* parameters */ ParameterIndex(150),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(27),
},
{
@@ -9173,7 +9230,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(29),
@@ -9184,9 +9241,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(56),
+ /* templates */ TemplateIndex(59),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(29),
},
{
@@ -9195,7 +9252,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(30),
@@ -9206,9 +9263,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(56),
+ /* templates */ TemplateIndex(59),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(30),
},
{
@@ -9230,7 +9287,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(31),
},
{
@@ -9252,7 +9309,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(226),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(32),
},
{
@@ -9274,7 +9331,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(33),
},
{
@@ -9285,7 +9342,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(118),
+ /* return_matcher_indices */ MatcherIndicesIndex(126),
/* const_eval_fn */ ConstEvalFunctionIndex(34),
},
{
@@ -9296,7 +9353,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(69),
+ /* return_matcher_indices */ MatcherIndicesIndex(77),
/* const_eval_fn */ ConstEvalFunctionIndex(34),
},
{
@@ -9305,7 +9362,7 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(15),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(35),
@@ -9316,9 +9373,9 @@
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(56),
+ /* templates */ TemplateIndex(59),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(35),
},
{
@@ -9340,7 +9397,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(36),
},
{
@@ -9362,7 +9419,7 @@
/* num_templates */ 3,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(299),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(37),
},
{
@@ -9406,7 +9463,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(39),
},
{
@@ -9428,7 +9485,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(40),
},
{
@@ -9437,7 +9494,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(41),
@@ -9448,9 +9505,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(57),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(41),
},
{
@@ -9459,7 +9516,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(42),
@@ -9470,9 +9527,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(57),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(42),
},
{
@@ -9483,7 +9540,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(120),
+ /* return_matcher_indices */ MatcherIndicesIndex(128),
/* const_eval_fn */ ConstEvalFunctionIndex(44),
},
{
@@ -9494,7 +9551,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(75),
+ /* return_matcher_indices */ MatcherIndicesIndex(83),
/* const_eval_fn */ ConstEvalFunctionIndex(44),
},
{
@@ -9516,7 +9573,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(55),
},
{
@@ -9527,7 +9584,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(356),
- /* return_matcher_indices */ MatcherIndicesIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(76),
/* const_eval_fn */ ConstEvalFunctionIndex(56),
},
{
@@ -9538,7 +9595,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(35),
/* parameters */ ParameterIndex(357),
- /* return_matcher_indices */ MatcherIndicesIndex(66),
+ /* return_matcher_indices */ MatcherIndicesIndex(74),
/* const_eval_fn */ ConstEvalFunctionIndex(56),
},
{
@@ -9560,7 +9617,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(57),
},
{
@@ -9569,7 +9626,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(60),
@@ -9580,9 +9637,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(56),
+ /* templates */ TemplateIndex(59),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(60),
},
{
@@ -9604,7 +9661,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(61),
},
{
@@ -9626,7 +9683,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(42),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(62),
},
{
@@ -9635,7 +9692,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(67),
+ /* templates */ TemplateIndex(68),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(65),
@@ -9646,9 +9703,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(66),
+ /* templates */ TemplateIndex(67),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(65),
},
{
@@ -9670,7 +9727,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(66),
},
{
@@ -9692,7 +9749,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(67),
},
{
@@ -9714,7 +9771,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(226),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(68),
},
{
@@ -9736,7 +9793,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(69),
},
{
@@ -9758,7 +9815,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(70),
},
{
@@ -9780,7 +9837,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(71),
},
{
@@ -9802,7 +9859,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(72),
},
{
@@ -9824,7 +9881,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(74),
},
{
@@ -9857,7 +9914,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(44),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9868,7 +9925,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(240),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9877,7 +9934,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(69),
+ /* templates */ TemplateIndex(70),
/* parameters */ ParameterIndex(323),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -9888,9 +9945,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(68),
+ /* templates */ TemplateIndex(69),
/* parameters */ ParameterIndex(325),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -9901,7 +9958,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(224),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(83),
},
{
@@ -9912,7 +9969,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(35),
/* parameters */ ParameterIndex(235),
- /* return_matcher_indices */ MatcherIndicesIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(53),
/* const_eval_fn */ ConstEvalFunctionIndex(83),
},
{
@@ -9921,7 +9978,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(84),
@@ -9932,9 +9989,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(84),
},
{
@@ -9943,7 +10000,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(67),
+ /* templates */ TemplateIndex(68),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(85),
@@ -9954,9 +10011,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(67),
+ /* templates */ TemplateIndex(68),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(85),
},
{
@@ -9965,7 +10022,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(94),
@@ -9976,9 +10033,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(94),
},
{
@@ -9987,9 +10044,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
@@ -9998,9 +10055,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
@@ -10009,9 +10066,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(100),
},
{
@@ -10020,9 +10077,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(65),
+ /* templates */ TemplateIndex(66),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(100),
},
{
@@ -10031,9 +10088,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(101),
},
{
@@ -10042,9 +10099,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(101),
},
{
@@ -10053,9 +10110,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(102),
},
{
@@ -10064,9 +10121,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(102),
},
{
@@ -10075,9 +10132,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(103),
},
{
@@ -10086,9 +10143,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(103),
},
{
@@ -10097,9 +10154,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(1),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(104),
},
{
@@ -10108,9 +10165,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(55),
+ /* templates */ TemplateIndex(58),
/* parameters */ ParameterIndex(221),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(104),
},
{
@@ -10119,7 +10176,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(16),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(105),
@@ -10130,9 +10187,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(329),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(105),
},
{
@@ -10141,7 +10198,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(16),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(106),
@@ -10152,9 +10209,9 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(80),
+ /* templates */ TemplateIndex(81),
/* parameters */ ParameterIndex(329),
- /* return_matcher_indices */ MatcherIndicesIndex(48),
+ /* return_matcher_indices */ MatcherIndicesIndex(56),
/* const_eval_fn */ ConstEvalFunctionIndex(106),
},
{
@@ -10163,9 +10220,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 1,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(234),
+ /* return_matcher_indices */ MatcherIndicesIndex(242),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -10174,9 +10231,9 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(98),
+ /* templates */ TemplateIndex(99),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(234),
+ /* return_matcher_indices */ MatcherIndicesIndex(242),
/* const_eval_fn */ ConstEvalFunctionIndex(108),
},
{
@@ -10185,7 +10242,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(59),
+ /* templates */ TemplateIndex(52),
/* parameters */ ParameterIndex(346),
/* return_matcher_indices */ MatcherIndicesIndex(9),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -10198,7 +10255,7 @@
/* num_templates */ 1,
/* templates */ TemplateIndex(30),
/* parameters */ ParameterIndex(213),
- /* return_matcher_indices */ MatcherIndicesIndex(116),
+ /* return_matcher_indices */ MatcherIndicesIndex(124),
/* const_eval_fn */ ConstEvalFunctionIndex(18),
},
{
@@ -10218,7 +10275,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(54),
+ /* templates */ TemplateIndex(57),
/* parameters */ ParameterIndex(149),
/* return_matcher_indices */ MatcherIndicesIndex(4),
/* const_eval_fn */ ConstEvalFunctionIndex(22),
@@ -10231,7 +10288,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* return_matcher_indices */ MatcherIndicesIndex(135),
/* const_eval_fn */ ConstEvalFunctionIndex(23),
},
{
@@ -10253,7 +10310,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(226),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(28),
},
{
@@ -10264,7 +10321,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(45),
},
{
@@ -10374,7 +10431,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(58),
},
{
@@ -10385,7 +10442,7 @@
/* num_templates */ 2,
/* templates */ TemplateIndex(37),
/* parameters */ ParameterIndex(227),
- /* return_matcher_indices */ MatcherIndicesIndex(42),
+ /* return_matcher_indices */ MatcherIndicesIndex(50),
/* const_eval_fn */ ConstEvalFunctionIndex(59),
},
{
@@ -10418,7 +10475,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(122),
+ /* return_matcher_indices */ MatcherIndicesIndex(130),
/* const_eval_fn */ ConstEvalFunctionIndex(75),
},
{
@@ -10429,7 +10486,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(122),
+ /* return_matcher_indices */ MatcherIndicesIndex(130),
/* const_eval_fn */ ConstEvalFunctionIndex(76),
},
{
@@ -10440,7 +10497,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(122),
+ /* return_matcher_indices */ MatcherIndicesIndex(130),
/* const_eval_fn */ ConstEvalFunctionIndex(77),
},
{
@@ -10451,7 +10508,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(78),
},
{
@@ -10462,7 +10519,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(124),
+ /* return_matcher_indices */ MatcherIndicesIndex(132),
/* const_eval_fn */ ConstEvalFunctionIndex(79),
},
{
@@ -10473,7 +10530,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(126),
+ /* return_matcher_indices */ MatcherIndicesIndex(134),
/* const_eval_fn */ ConstEvalFunctionIndex(80),
},
{
@@ -10484,7 +10541,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(17),
- /* return_matcher_indices */ MatcherIndicesIndex(128),
+ /* return_matcher_indices */ MatcherIndicesIndex(136),
/* const_eval_fn */ ConstEvalFunctionIndex(81),
},
{
@@ -10493,7 +10550,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(59),
+ /* templates */ TemplateIndex(52),
/* parameters */ ParameterIndex(363),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -10504,7 +10561,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(0),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -10515,7 +10572,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(0),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -10526,7 +10583,7 @@
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(0),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -10537,9 +10594,9 @@
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(57),
+ /* templates */ TemplateIndex(60),
/* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(172),
+ /* return_matcher_indices */ MatcherIndicesIndex(180),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -10550,7 +10607,7 @@
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_matcher_indices */ MatcherIndicesIndex(128),
+ /* return_matcher_indices */ MatcherIndicesIndex(136),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -10559,7 +10616,7 @@
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(59),
+ /* templates */ TemplateIndex(52),
/* parameters */ ParameterIndex(1),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(82),
@@ -10567,23 +10624,45 @@
{
/* [525] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(224),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
- /* const_eval_fn */ ConstEvalFunctionIndex(97),
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(51),
+ /* parameters */ ParameterIndex(368),
+ /* return_matcher_indices */ MatcherIndicesIndex(26),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [526] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 3,
+ /* templates */ TemplateIndex(51),
+ /* parameters */ ParameterIndex(369),
+ /* return_matcher_indices */ MatcherIndicesIndex(30),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [527] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(224),
- /* return_matcher_indices */ MatcherIndicesIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
+ /* const_eval_fn */ ConstEvalFunctionIndex(97),
+ },
+ {
+ /* [528] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(224),
+ /* return_matcher_indices */ MatcherIndicesIndex(55),
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
};
@@ -11555,29 +11634,43 @@
constexpr IntrinsicInfo kUnaryOperators[] = {
{
/* [0] */
+ /* op &[S : address_space, T, A : access](ref<S, T, A>) -> ptr<S, T, A> */
+ /* num overloads */ 1,
+ /* overloads */ OverloadIndex(525),
+ },
+ {
+ /* [1] */
+ /* op *[S : address_space, T, A : access](ptr<S, T, A>) -> ref<S, T, A> */
+ /* num overloads */ 1,
+ /* overloads */ OverloadIndex(526),
+ },
+ {
+ /* [2] */
/* op !(bool) -> bool */
/* op ![N : num](vec<N, bool>) -> vec<N, bool> */
/* num overloads */ 2,
/* overloads */ OverloadIndex(464),
},
{
- /* [1] */
+ /* [3] */
/* op ~[T : ia_iu32](T) -> T */
/* op ~[T : ia_iu32, N : num](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
/* overloads */ OverloadIndex(466),
},
{
- /* [2] */
+ /* [4] */
/* op -[T : fia_fi32_f16](T) -> T */
/* op -[T : fia_fi32_f16, N : num](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
/* overloads */ OverloadIndex(468),
},
};
-constexpr uint8_t kUnaryOperatorNot = 0;
-constexpr uint8_t kUnaryOperatorComplement = 1;
-constexpr uint8_t kUnaryOperatorMinus = 2;
+constexpr uint8_t kUnaryOperatorAnd = 0;
+constexpr uint8_t kUnaryOperatorStar = 1;
+constexpr uint8_t kUnaryOperatorNot = 2;
+constexpr uint8_t kUnaryOperatorComplement = 3;
+constexpr uint8_t kUnaryOperatorMinus = 4;
constexpr IntrinsicInfo kBinaryOperators[] = {
{
@@ -11661,13 +11754,13 @@
/* [8] */
/* op &&(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(525),
+ /* overloads */ OverloadIndex(527),
},
{
/* [9] */
/* op ||(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(526),
+ /* overloads */ OverloadIndex(528),
},
{
/* [10] */
@@ -12026,8 +12119,8 @@
/* unary '!' */ kUnaryOperators[kUnaryOperatorNot],
/* unary '~' */ kUnaryOperators[kUnaryOperatorComplement],
/* unary '-' */ kUnaryOperators[kUnaryOperatorMinus],
- /* unary '*' */ tint::core::intrinsic::kNoOverloads,
- /* unary '&' */ tint::core::intrinsic::kNoOverloads,
+ /* unary '*' */ kUnaryOperators[kUnaryOperatorStar],
+ /* unary '&' */ kUnaryOperators[kUnaryOperatorAnd],
};
} // namespace tint::wgsl::intrinsic
diff --git a/src/tint/lang/wgsl/resolver/incomplete_type.cc b/src/tint/lang/wgsl/resolver/incomplete_type.cc
index 7f81517..47e2e67 100644
--- a/src/tint/lang/wgsl/resolver/incomplete_type.cc
+++ b/src/tint/lang/wgsl/resolver/incomplete_type.cc
@@ -54,14 +54,6 @@
return nullptr;
}
-core::type::TypeAndCount IncompleteType::Elements(const Type*, uint32_t) const {
- return {};
-}
-
-const core::type::Type* IncompleteType::Element(uint32_t) const {
- return nullptr;
-}
-
bool IncompleteType::Equals(const core::type::UniqueNode& other) const {
if (auto* o = other.As<IncompleteType>()) {
return o->builtin == builtin;
diff --git a/src/tint/lang/wgsl/resolver/incomplete_type.h b/src/tint/lang/wgsl/resolver/incomplete_type.h
index c363773..8ba8baf 100644
--- a/src/tint/lang/wgsl/resolver/incomplete_type.h
+++ b/src/tint/lang/wgsl/resolver/incomplete_type.h
@@ -67,13 +67,6 @@
/// @copydoc core::type::Type::Clone
core::type::Type* Clone(core::type::CloneContext& ctx) const override;
- /// @copydoc core::type::Type::Elements
- core::type::TypeAndCount Elements(const Type* type_if_invalid = nullptr,
- uint32_t count_if_invalid = 0) const override;
-
- /// @copydoc core::type::Type::Element
- const Type* Element(uint32_t index) const override;
-
/// @copydoc core::type::UniqueNode::Equals
bool Equals(const UniqueNode& other) const override;
};
diff --git a/src/tint/lang/wgsl/wgsl.def b/src/tint/lang/wgsl/wgsl.def
index ca0b0a2..acf3735 100644
--- a/src/tint/lang/wgsl/wgsl.def
+++ b/src/tint/lang/wgsl/wgsl.def
@@ -132,6 +132,7 @@
@display("vec{N}<{T}>") type vec<N: num, T>
@display("mat{N}x{M}<{T}>") type mat<N: num, M: num, T>
type ptr<S: address_space, T, A: access>
+type ref<S: address_space, T, A: access>
type atomic<T>
type array<T>
type sampler
@@ -838,6 +839,9 @@
////////////////////////////////////////////////////////////////////////////////
// Unary Operators //
////////////////////////////////////////////////////////////////////////////////
+@must_use op & [S: address_space, T, A: access] (ref<S, T, A>) -> ptr<S, T, A>
+@must_use op * [S: address_space, T, A: access] (ptr<S, T, A>) -> ref<S, T, A>
+
@must_use @const op ! (bool) -> bool
@must_use @const op ! [N: num](vec<N, bool>) -> vec<N, bool>
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc b/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc
index c0ee5e3..8bf72e7 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc
+++ b/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc
@@ -77,6 +77,7 @@
#include "src/tint/lang/core/type/sampler.h"
#include "src/tint/lang/core/type/texture.h"
#include "src/tint/lang/wgsl/ir/builtin_call.h"
+#include "src/tint/lang/wgsl/ir/unary.h"
#include "src/tint/lang/wgsl/program/program_builder.h"
#include "src/tint/lang/wgsl/resolver/resolve.h"
#include "src/tint/utils/containers/hashmap.h"
@@ -104,7 +105,8 @@
explicit State(const core::ir::Module& m) : mod(m) {}
Program Run(const ProgramOptions& options) {
- if (auto res = core::ir::Validate(mod); res != Success) {
+ core::ir::Capabilities caps{core::ir::Capability::kAllowRefTypes};
+ if (auto res = core::ir::Validate(mod, caps); res != Success) {
// IR module failed validation.
b.Diagnostics() = res.Failure().reason;
return Program{resolver::Resolve(b)};
@@ -127,12 +129,6 @@
}
private:
- /// The AST representation for an IR pointer type
- enum class PtrKind {
- kPtr, // IR pointer is represented in the AST as a pointer
- kRef, // IR pointer is represented in the AST as a reference
- };
-
/// The source IR module
const core::ir::Module& mod;
@@ -142,13 +138,11 @@
/// The structure for a value held by a 'let', 'var' or parameter.
struct VariableValue {
Symbol name; // Name of the variable
- PtrKind ptr_kind = PtrKind::kRef;
};
/// The structure for an inlined value
struct InlinedValue {
const ast::Expression* expr = nullptr;
- PtrKind ptr_kind = PtrKind::kRef;
};
/// Empty struct used as a sentinel value to indicate that an ast::Value has been consumed by
@@ -203,7 +197,7 @@
auto ty = Type(param->Type());
auto name = NameFor(param);
Vector<const ast::Attribute*, 1> attrs{};
- Bind(param, name, PtrKind::kPtr);
+ Bind(param, name);
// Emit parameter attributes.
if (auto builtin = param->Builtin()) {
@@ -554,10 +548,11 @@
void Var(const core::ir::Var* var) {
auto* val = var->Result(0);
- auto* ptr = As<core::type::Pointer>(val->Type());
- auto ty = Type(ptr->StoreType());
+ auto* ref = As<core::type::Reference>(val->Type());
+ TINT_ASSERT(ref /* converted by PtrToRef */);
+ auto ty = Type(ref->StoreType());
Symbol name = NameFor(var->Result(0));
- Bind(var->Result(0), name, PtrKind::kRef);
+ Bind(var->Result(0), name);
Vector<const ast::Attribute*, 4> attrs;
if (auto bp = var->BindingPoint()) {
@@ -569,18 +564,18 @@
if (var->Initializer()) {
init = Expr(var->Initializer());
}
- switch (ptr->AddressSpace()) {
+ switch (ref->AddressSpace()) {
case core::AddressSpace::kFunction:
Append(b.Decl(b.Var(name, ty, init, std::move(attrs))));
return;
case core::AddressSpace::kStorage:
- b.GlobalVar(name, ty, init, ptr->Access(), ptr->AddressSpace(), std::move(attrs));
+ b.GlobalVar(name, ty, init, ref->Access(), ref->AddressSpace(), std::move(attrs));
return;
case core::AddressSpace::kHandle:
b.GlobalVar(name, ty, init, std::move(attrs));
return;
default:
- b.GlobalVar(name, ty, init, ptr->AddressSpace(), std::move(attrs));
+ b.GlobalVar(name, ty, init, ref->AddressSpace(), std::move(attrs));
return;
}
}
@@ -589,10 +584,10 @@
auto* result = let->Result(0);
if (mod.NameOf(result).IsValid() || result->NumUsages() > 0) {
Symbol name = NameFor(result);
- Append(b.Decl(b.Let(name, Expr(let->Value(), PtrKind::kPtr))));
- Bind(result, name, PtrKind::kPtr);
+ Append(b.Decl(b.Let(name, Expr(let->Value()))));
+ Bind(result, name);
} else {
- Append(b.Assign(b.Phony(), Expr(let->Value(), PtrKind::kPtr)));
+ Append(b.Assign(b.Phony(), Expr(let->Value())));
}
}
@@ -611,7 +606,7 @@
void Call(const core::ir::Call* call) {
auto args = tint::Transform<4>(call->Args(), [&](const core::ir::Value* arg) {
// Pointer-like arguments are passed by pointer, never reference.
- return Expr(arg, PtrKind::kPtr);
+ return Expr(arg);
});
tint::Switch(
call, //
@@ -621,7 +616,7 @@
Append(b.CallStmt(expr));
return;
}
- Bind(c->Result(0), expr, PtrKind::kPtr);
+ Bind(c->Result(0), expr);
},
[&](const wgsl::ir::BuiltinCall* c) {
if (!disabled_derivative_uniformity_ && RequiresDerivativeUniformity(c->Func())) {
@@ -641,23 +636,23 @@
}
auto* expr = b.Call(c->Func(), std::move(args));
- if (call->Results().IsEmpty() || call->Result(0)->Type()->Is<core::type::Void>()) {
+ if (call->Results().IsEmpty() || !call->Result(0)->IsUsed()) {
Append(b.CallStmt(expr));
return;
}
- Bind(c->Result(0), expr, PtrKind::kPtr);
+ Bind(c->Result(0), expr);
},
[&](const core::ir::Construct* c) {
auto ty = Type(c->Result(0)->Type());
- Bind(c->Result(0), b.Call(ty, std::move(args)), PtrKind::kPtr);
+ Bind(c->Result(0), b.Call(ty, std::move(args)));
},
[&](const core::ir::Convert* c) {
auto ty = Type(c->Result(0)->Type());
- Bind(c->Result(0), b.Call(ty, std::move(args)), PtrKind::kPtr);
+ Bind(c->Result(0), b.Call(ty, std::move(args)));
},
[&](const core::ir::Bitcast* c) {
auto ty = Type(c->Result(0)->Type());
- Bind(c->Result(0), b.Bitcast(ty, args[0]), PtrKind::kPtr);
+ Bind(c->Result(0), b.Bitcast(ty, args[0]));
},
[&](const core::ir::Discard*) { Append(b.Discard()); }, //
TINT_ICE_ON_NO_MATCH);
@@ -665,9 +660,9 @@
void Load(const core::ir::Load* l) { Bind(l->Result(0), Expr(l->From())); }
- void LoadVectorElement(const core::ir::LoadVectorElement* load) {
- auto* ptr = Expr(load->From());
- Bind(load->Result(0), VectorMemberAccess(ptr, load->Index()));
+ void LoadVectorElement(const core::ir::LoadVectorElement* l) {
+ auto* vec = Expr(l->From());
+ Bind(l->Result(0), VectorMemberAccess(vec, l->Index()));
}
void Unary(const core::ir::Unary* u) {
@@ -679,6 +674,12 @@
case core::UnaryOp::kNegation:
expr = b.Negation(Expr(u->Val()));
break;
+ case core::UnaryOp::kAddressOf:
+ expr = b.AddressOf(Expr(u->Val()));
+ break;
+ case core::UnaryOp::kIndirection:
+ expr = b.Deref(Expr(u->Val()));
+ break;
default:
TINT_UNIMPLEMENTED() << u->Op();
break;
@@ -688,7 +689,7 @@
void Access(const core::ir::Access* a) {
auto* expr = Expr(a->Object());
- auto* obj_ty = a->Object()->Type()->UnwrapPtr();
+ auto* obj_ty = a->Object()->Type()->UnwrapRef();
for (auto* index : a->Indices()) {
tint::Switch(
obj_ty,
@@ -809,32 +810,27 @@
TINT_BEGIN_DISABLE_WARNING(UNREACHABLE_CODE);
- const ast::Expression* Expr(const core::ir::Value* value,
- PtrKind want_ptr_kind = PtrKind::kRef) {
- using ExprAndPtrKind = std::pair<const ast::Expression*, PtrKind>;
-
- auto [expr, got_ptr_kind] = tint::Switch(
- value,
- [&](const core::ir::Constant* c) -> ExprAndPtrKind {
- return {Constant(c), PtrKind::kRef};
- },
- [&](Default) -> ExprAndPtrKind {
+ const ast::Expression* Expr(const core::ir::Value* value) {
+ auto expr = tint::Switch(
+ value, //
+ [&](const core::ir::Constant* c) { return Constant(c); },
+ [&](Default) -> const ast::Expression* {
auto lookup = bindings_.Get(value);
if (TINT_UNLIKELY(!lookup)) {
TINT_ICE() << "Expr(" << (value ? value->TypeInfo().name : "null")
<< ") value has no expression";
- return {};
+ return nullptr;
}
return std::visit(
- [&](auto&& got) -> ExprAndPtrKind {
+ [&](auto&& got) -> const ast::Expression* {
using T = std::decay_t<decltype(got)>;
if constexpr (std::is_same_v<T, VariableValue>) {
- return {b.Expr(got.name), got.ptr_kind};
+ return b.Expr(got.name);
}
if constexpr (std::is_same_v<T, InlinedValue>) {
- auto result = ExprAndPtrKind{got.expr, got.ptr_kind};
+ auto result = got.expr;
// Single use (inlined) expression.
// Mark the bindings_ map entry as consumed.
*lookup = ConsumedValue{};
@@ -848,7 +844,7 @@
TINT_ICE()
<< "Expr(" << value->TypeInfo().name << ") has unhandled value";
}
- return {};
+ return nullptr;
},
*lookup);
});
@@ -857,10 +853,6 @@
return b.Expr("<error>");
}
- if (value->Type()->Is<core::type::Pointer>()) {
- return ToPtrKind(expr, got_ptr_kind, want_ptr_kind);
- }
-
return expr;
}
@@ -1041,16 +1033,6 @@
return b.ty(n);
}
- const ast::Expression* ToPtrKind(const ast::Expression* in, PtrKind got, PtrKind want) {
- if (want == PtrKind::kRef && got == PtrKind::kPtr) {
- return b.Deref(in);
- }
- if (want == PtrKind::kPtr && got == PtrKind::kRef) {
- return b.AddressOf(in);
- }
- return in;
- }
-
////////////////////////////////////////////////////////////////////////////////////////////////
// Bindings
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1070,24 +1052,20 @@
}
/// Associates the IR value @p value with the AST expression @p expr.
- /// @p ptr_kind defines how pointer values are represented by @p expr.
- void Bind(const core::ir::Value* value,
- const ast::Expression* expr,
- PtrKind ptr_kind = PtrKind::kRef) {
+ void Bind(const core::ir::Value* value, const ast::Expression* expr) {
TINT_ASSERT(value);
// Value will be inlined at its place of usage.
- if (TINT_UNLIKELY(!bindings_.Add(value, InlinedValue{expr, ptr_kind}))) {
+ if (TINT_UNLIKELY(!bindings_.Add(value, InlinedValue{expr}))) {
TINT_ICE() << "Bind(" << value->TypeInfo().name << ") called twice for same value";
}
}
/// Associates the IR value @p value with the AST 'var', 'let' or parameter with the name @p
/// name.
- /// @p ptr_kind defines how pointer values are represented by @p expr.
- void Bind(const core::ir::Value* value, Symbol name, PtrKind ptr_kind) {
+ void Bind(const core::ir::Value* value, Symbol name) {
TINT_ASSERT(value);
- bool added = bindings_.Add(value, VariableValue{name, ptr_kind});
+ bool added = bindings_.Add(value, VariableValue{name});
if (TINT_UNLIKELY(!added)) {
TINT_ICE() << "Bind(" << value->TypeInfo().name << ") called twice for same value";
}
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program_test.cc b/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program_test.cc
index 15395bb..6e78226 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program_test.cc
+++ b/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program_test.cc
@@ -562,7 +562,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct<i32>(i));
+ Var("v", b.Construct<i32>(i));
b.Return(fn);
});
@@ -579,7 +579,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct<u32>(i));
+ Var("v", b.Construct<u32>(i));
b.Return(fn);
});
@@ -596,7 +596,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct<f32>(i));
+ Var("v", b.Construct<f32>(i));
b.Return(fn);
});
@@ -613,7 +613,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct<bool>(i));
+ Var("v", b.Construct<bool>(i));
b.Return(fn);
});
@@ -638,7 +638,7 @@
fn->SetParams({x, y, z});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct(S, x, y, z));
+ Var("v", b.Construct(S, x, y, z));
b.Return(fn);
});
@@ -661,7 +661,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct<array<i32, 3u>>(i, i, i));
+ Var("v", b.Construct<array<i32, 3u>>(i, i, i));
b.Return(fn);
});
@@ -678,7 +678,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct<vec3<i32>>(i));
+ Var("v", b.Construct<vec3<i32>>(i));
b.Return(fn);
});
@@ -695,7 +695,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct<vec3<i32>>(i, i, i));
+ Var("v", b.Construct<vec3<i32>>(i, i, i));
b.Return(fn);
});
@@ -712,7 +712,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Construct<mat2x3<f32>>(i, i, i, i, i, i));
+ Var("v", b.Construct<mat2x3<f32>>(i, i, i, i, i, i));
b.Return(fn);
});
@@ -731,7 +731,7 @@
b.Append(fn->Block(), [&] {
auto* col_0 = b.Construct<vec3<f32>>(i, i, i);
auto* col_1 = b.Construct<vec3<f32>>(i, i, i);
- b.Var("v", b.Construct<mat2x3<f32>>(col_0, col_1));
+ Var("v", b.Construct<mat2x3<f32>>(col_0, col_1));
b.Return(fn);
});
@@ -759,7 +759,7 @@
auto* f0 = b.Construct<f32>(i0);
auto* f2 = b.Construct<f32>(i2);
auto* f1 = b.Construct<f32>(i1);
- b.Var("v", b.Construct<mat2x3<f32>>(f0, f1, f2, f3, f4, f5));
+ Var("v", b.Construct<mat2x3<f32>>(f0, f1, f2, f3, f4, f5));
b.Return(fn);
});
@@ -779,7 +779,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Convert<u32>(i));
+ Var("v", b.Convert<u32>(i));
b.Return(fn);
});
@@ -796,7 +796,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Convert<f32>(i));
+ Var("v", b.Convert<f32>(i));
b.Return(fn);
});
@@ -813,7 +813,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Convert<i32>(i));
+ Var("v", b.Convert<i32>(i));
b.Return(fn);
});
@@ -830,7 +830,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Convert<u32>(i));
+ Var("v", b.Convert<u32>(i));
b.Return(fn);
});
@@ -847,7 +847,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Convert<vec3<u32>>(i));
+ Var("v", b.Convert<vec3<u32>>(i));
b.Return(fn);
});
@@ -864,7 +864,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Convert<vec3<f32>>(i));
+ Var("v", b.Convert<vec3<f32>>(i));
b.Return(fn);
});
@@ -881,7 +881,7 @@
fn->SetParams({i});
b.Append(fn->Block(), [&] {
- b.Var("v", b.Convert<mat2x3<f16>>(i));
+ Var("v", b.Convert<mat2x3<f16>>(i));
b.Return(fn);
});
@@ -1142,7 +1142,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var<function, i32>("v");
+ auto* v = Var<function, i32>("v");
b.Store(v, b.Add(ty.i32(), b.Load(v), 1_i));
b.Return(fn);
@@ -1160,7 +1160,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var<function, i32>("v");
+ auto* v = Var<function, i32>("v");
b.Store(v, b.Subtract(ty.i32(), b.Load(v), 1_i));
b.Return(fn);
@@ -1178,7 +1178,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var<function, i32>("v");
+ auto* v = Var<function, i32>("v");
b.Store(v, b.Add(ty.i32(), b.Load(v), 8_i));
b.Return(fn);
@@ -1196,7 +1196,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var<function, i32>("v");
+ auto* v = Var<function, i32>("v");
b.Store(v, b.Subtract(ty.i32(), b.Load(v), 8_i));
b.Return(fn);
@@ -1214,7 +1214,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var<function, i32>("v");
+ auto* v = Var<function, i32>("v");
b.Store(v, b.Multiply(ty.i32(), b.Load(v), 8_i));
b.Return(fn);
@@ -1232,7 +1232,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var<function, i32>("v");
+ auto* v = Var<function, i32>("v");
b.Store(v, b.Divide(ty.i32(), b.Load(v), 8_i));
b.Return(fn);
@@ -1250,7 +1250,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var<function, i32>("v");
+ auto* v = Var<function, i32>("v");
b.Store(v, b.Xor(ty.i32(), b.Load(v), 8_i));
b.Return(fn);
@@ -1310,7 +1310,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] { //
- b.Var<function, i32>("i");
+ Var<function, i32>("i");
b.Return(fn);
});
@@ -1326,7 +1326,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- b.Var("i", 42_i);
+ Var("i", 42_i);
b.Return(fn);
});
@@ -1342,11 +1342,11 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* va = b.Var("a", 42_i);
+ auto* va = Var("a", 42_i);
- auto* vb = b.Var("b", b.Load(va));
+ auto* vb = Var("b", b.Load(va));
- b.Var("c", b.Load(vb));
+ Var("c", b.Load(vb));
b.Return(fn);
});
@@ -1418,7 +1418,7 @@
auto* fn = b.Function("f", ty.i32());
b.Append(fn->Block(), [&] {
- auto* cond = b.Var("cond", true);
+ auto* cond = Var("cond", true);
auto if_ = b.If(b.Load(cond));
b.Append(if_->True(), [&] { b.Return(fn, 42_i); });
@@ -1482,7 +1482,7 @@
auto* fn = b.Function("f", ty.f32());
b.Append(fn->Block(), [&] {
- auto* cond = b.Var("cond", true);
+ auto* cond = Var("cond", true);
auto if_ = b.If(b.Load(cond));
b.Append(if_->True(), [&] { b.Return(fn, 1.0_f); });
b.Append(if_->False(), [&] { b.Return(fn, 2.0_f); });
@@ -1512,7 +1512,7 @@
auto* fn = b.Function("f", ty.u32());
b.Append(fn->Block(), [&] {
- auto* cond = b.Var("cond", true);
+ auto* cond = Var("cond", true);
auto if_ = b.If(b.Load(cond));
b.Append(if_->True(), [&] { b.Return(fn, 1_u); });
b.Append(if_->False(), [&] {
@@ -1556,7 +1556,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* cond = b.Var("cond", true);
+ auto* cond = Var("cond", true);
auto if1 = b.If(b.Load(cond));
b.Append(if1->True(), [&] {
b.Call(ty.void_(), fn_a);
@@ -1668,7 +1668,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var("v", 42_i);
+ auto* v = Var("v", 42_i);
auto s = b.Switch(b.Load(v));
b.Append(b.DefaultCase(s), [&] {
@@ -1707,7 +1707,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var("v", 42_i);
+ auto* v = Var("v", 42_i);
auto s = b.Switch(b.Load(v));
b.Append(b.Case(s, {b.Constant(0_i)}), [&] {
@@ -1760,7 +1760,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v = b.Var("v", 42_i);
+ auto* v = Var("v", 42_i);
auto s = b.Switch(b.Load(v));
b.Append(b.Case(s, {b.Constant(0_i)}), [&] { b.Return(fn); });
@@ -1805,9 +1805,9 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* v1 = b.Var("v1", 42_i);
+ auto* v1 = Var("v1", 42_i);
- auto* v2 = b.Var("v2", 24_i);
+ auto* v2 = Var("v2", 24_i);
auto s1 = b.Switch(b.Load(v1));
b.Append(b.Case(s1, {b.Constant(0_i)}), [&] {
@@ -1872,7 +1872,7 @@
auto* loop = b.Loop();
b.Append(loop->Initializer(), [&] {
- auto* i = b.Var("i", 0_i);
+ auto* i = Var("i", 0_i);
b.NextIteration(loop);
b.Append(loop->Body(), [&] {
@@ -1903,7 +1903,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* i = b.Var("i", 0_i);
+ auto* i = Var("i", 0_i);
auto* loop = b.Loop();
@@ -1938,7 +1938,7 @@
auto* loop = b.Loop();
b.Append(loop->Initializer(), [&] {
- auto* i = b.Var("i", 0_i);
+ auto* i = Var("i", 0_i);
b.NextIteration(loop);
b.Append(loop->Body(), [&] {
@@ -1972,7 +1972,7 @@
auto* loop = b.Loop();
b.Append(loop->Initializer(), [&] {
- auto* i = b.Var("i", 0_i);
+ auto* i = Var("i", 0_i);
b.NextIteration(loop);
b.Append(loop->Body(), [&] {
@@ -2022,7 +2022,7 @@
auto* fn = b.Function("f", ty.i32());
b.Append(fn->Block(), [&] {
- auto* i = b.Var("i", 0_i);
+ auto* i = Var("i", 0_i);
auto* loop = b.Loop();
@@ -2077,7 +2077,7 @@
auto* loop = b.Loop();
b.Append(loop->Initializer(), [&] {
- auto* i = b.Var("i", 0_i);
+ auto* i = Var("i", 0_i);
b.NextIteration(loop);
b.Append(loop->Body(), [&] {
@@ -2126,7 +2126,7 @@
auto* loop = b.Loop();
b.Append(loop->Initializer(), [&] {
- auto* i = b.Var("i", b.Call(ty.i32(), fn_n, 0_i));
+ auto* i = Var("i", b.Call(ty.i32(), fn_n, 0_i));
b.NextIteration(loop);
b.Append(loop->Body(), [&] {
@@ -2193,7 +2193,7 @@
// }
b.Append(mod.root_block, [&] {
- auto* i = b.Var<storage, u32, read_write>();
+ auto* i = Var<storage, u32, read_write>();
i->SetBindingPoint(0, 0);
auto* fn_f = b.Function("f", ty.void_());
@@ -2460,7 +2460,7 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* cond = b.Var("cond", false);
+ auto* cond = Var("cond", false);
auto* loop = b.Loop();
@@ -2497,12 +2497,12 @@
auto* fn = b.Function("f", ty.void_());
b.Append(fn->Block(), [&] {
- auto* var_b = b.Var("b", 1_i);
+ auto* var_b = Var("b", 1_i);
auto* loop = b.Loop();
b.Append(loop->Body(), [&] {
- auto* var_a = b.Var("a", 2_i);
+ auto* var_a = Var("a", 2_i);
auto* body_load_a = b.Load(var_a);
auto* body_load_b = b.Load(var_b);
diff --git a/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program_test.h b/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program_test.h
index 2b82285..f7a1338 100644
--- a/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program_test.h
+++ b/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program_test.h
@@ -29,8 +29,10 @@
#define SRC_TINT_LANG_WGSL_WRITER_IR_TO_PROGRAM_IR_TO_PROGRAM_TEST_H_
#include <string>
+#include <utility>
#include "src/tint/lang/core/ir/ir_helper_test.h"
+#include "src/tint/lang/core/type/reference.h"
namespace tint::wgsl::writer {
@@ -50,6 +52,51 @@
};
/// @returns the WGSL generated from the IR
Result Run();
+
+ /// Creates a new `var` declaration with a name and initializer value, using a reference type.
+ /// @tparam SPACE the var's address space
+ /// @tparam ACCESS the var's access mode
+ /// @param name the var name
+ /// @param init the var initializer
+ /// @returns the instruction
+ template <
+ core::AddressSpace SPACE = core::AddressSpace::kFunction,
+ core::Access ACCESS = core::Access::kReadWrite,
+ typename VALUE = void,
+ typename = std::enable_if_t<
+ !traits::IsTypeOrDerived<std::remove_pointer_t<std::decay_t<VALUE>>, core::type::Type>>>
+ core::ir::Var* Var(std::string_view name, VALUE&& init) {
+ auto* val = b.Value(std::forward<VALUE>(init));
+ if (TINT_UNLIKELY(!val)) {
+ TINT_ASSERT(val);
+ return nullptr;
+ }
+ auto* var = b.Var(name, mod.Types().ref(SPACE, val->Type(), ACCESS));
+ var->SetInitializer(val);
+ mod.SetName(var->Result(0), name);
+ return var;
+ }
+
+ /// Creates a new `var` declaration
+ /// @tparam SPACE the var's address space
+ /// @tparam T the storage pointer's element type
+ /// @tparam ACCESS the var's access mode
+ /// @returns the instruction
+ template <core::AddressSpace SPACE, typename T, core::Access ACCESS = core::Access::kReadWrite>
+ core::ir::Var* Var() {
+ return b.Var(mod.Types().ref<SPACE, T, ACCESS>());
+ }
+
+ /// Creates a new `var` declaration with a name
+ /// @tparam SPACE the var's address space
+ /// @tparam T the storage pointer's element type
+ /// @tparam ACCESS the var's access mode
+ /// @param name the var name
+ /// @returns the instruction
+ template <core::AddressSpace SPACE, typename T, core::Access ACCESS = core::Access::kReadWrite>
+ core::ir::Var* Var(std::string_view name) {
+ return b.Var(name, mod.Types().ref<SPACE, T, ACCESS>());
+ }
};
#define EXPECT_WGSL(expected_wgsl) \
diff --git a/src/tint/lang/wgsl/writer/raise/BUILD.bazel b/src/tint/lang/wgsl/writer/raise/BUILD.bazel
index 00fe151..c4b925d 100644
--- a/src/tint/lang/wgsl/writer/raise/BUILD.bazel
+++ b/src/tint/lang/wgsl/writer/raise/BUILD.bazel
@@ -39,11 +39,13 @@
cc_library(
name = "raise",
srcs = [
+ "ptr_to_ref.cc",
"raise.cc",
"rename_conflicts.cc",
"value_to_let.cc",
],
hdrs = [
+ "ptr_to_ref.h",
"raise.h",
"rename_conflicts.h",
"value_to_let.h",
@@ -79,6 +81,7 @@
name = "test",
alwayslink = True,
srcs = [
+ "ptr_to_ref_test.cc",
"raise_test.cc",
"rename_conflicts_test.cc",
"value_to_let_test.cc",
diff --git a/src/tint/lang/wgsl/writer/raise/BUILD.cmake b/src/tint/lang/wgsl/writer/raise/BUILD.cmake
index 6bc7469..d2ae1d1 100644
--- a/src/tint/lang/wgsl/writer/raise/BUILD.cmake
+++ b/src/tint/lang/wgsl/writer/raise/BUILD.cmake
@@ -39,6 +39,8 @@
# Kind: lib
################################################################################
tint_add_target(tint_lang_wgsl_writer_raise lib
+ lang/wgsl/writer/raise/ptr_to_ref.cc
+ lang/wgsl/writer/raise/ptr_to_ref.h
lang/wgsl/writer/raise/raise.cc
lang/wgsl/writer/raise/raise.h
lang/wgsl/writer/raise/rename_conflicts.cc
@@ -77,6 +79,7 @@
# Kind: test
################################################################################
tint_add_target(tint_lang_wgsl_writer_raise_test test
+ lang/wgsl/writer/raise/ptr_to_ref_test.cc
lang/wgsl/writer/raise/raise_test.cc
lang/wgsl/writer/raise/rename_conflicts_test.cc
lang/wgsl/writer/raise/value_to_let_test.cc
diff --git a/src/tint/lang/wgsl/writer/raise/BUILD.gn b/src/tint/lang/wgsl/writer/raise/BUILD.gn
index f873e62..095b41e 100644
--- a/src/tint/lang/wgsl/writer/raise/BUILD.gn
+++ b/src/tint/lang/wgsl/writer/raise/BUILD.gn
@@ -44,6 +44,8 @@
libtint_source_set("raise") {
sources = [
+ "ptr_to_ref.cc",
+ "ptr_to_ref.h",
"raise.cc",
"raise.h",
"rename_conflicts.cc",
@@ -79,6 +81,7 @@
if (tint_build_unittests) {
tint_unittests_source_set("unittests") {
sources = [
+ "ptr_to_ref_test.cc",
"raise_test.cc",
"rename_conflicts_test.cc",
"value_to_let_test.cc",
diff --git a/src/tint/lang/wgsl/writer/raise/ptr_to_ref.cc b/src/tint/lang/wgsl/writer/raise/ptr_to_ref.cc
new file mode 100644
index 0000000..916a65d
--- /dev/null
+++ b/src/tint/lang/wgsl/writer/raise/ptr_to_ref.cc
@@ -0,0 +1,143 @@
+// Copyright 2024 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.
+
+#include "src/tint/lang/wgsl/writer/raise/ptr_to_ref.h"
+#include "src/tint/lang/core/ir/builder.h"
+#include "src/tint/lang/core/ir/function.h"
+#include "src/tint/lang/core/ir/let.h"
+#include "src/tint/lang/core/ir/module.h"
+#include "src/tint/lang/core/ir/var.h"
+#include "src/tint/lang/core/type/pointer.h"
+#include "src/tint/lang/core/type/reference.h"
+#include "src/tint/lang/wgsl/ir/unary.h"
+#include "src/tint/utils/containers/reverse.h"
+
+namespace tint::wgsl::writer::raise {
+namespace {
+
+struct Impl {
+ core::ir::Module& mod;
+ core::ir::Builder b{mod};
+
+ Result<SuccessType> Run() {
+ Vector<core::ir::Block*, 32> blocks;
+ for (auto fn : mod.functions) {
+ blocks.Push(fn->Block());
+ }
+ blocks.Push(mod.root_block);
+
+ while (!blocks.IsEmpty()) {
+ auto* block = blocks.Pop();
+ for (auto* inst : *block) {
+ tint::Switch(
+ inst, //
+ [&](core::ir::Var* var) { ResultPtrToRef(var); },
+ [&](core::ir::Let* let) {
+ OperandRefToPtr({let, core::ir::Let::kValueOperandOffset});
+ },
+ [&](core::ir::Call* call) { OperandsRefToPtr(call); },
+ [&](core::ir::Access* access) {
+ OperandPtrToRef({access, core::ir::Access::kObjectOperandOffset});
+ ResultPtrToRef(access);
+ },
+ [&](core::ir::Store* store) {
+ OperandPtrToRef({store, core::ir::Store::kToOperandOffset});
+ },
+ [&](core::ir::StoreVectorElement* store) {
+ OperandPtrToRef({store, core::ir::StoreVectorElement::kToOperandOffset});
+ },
+ [&](core::ir::Load* load) {
+ OperandPtrToRef({load, core::ir::Load::kFromOperandOffset});
+ },
+ [&](core::ir::LoadVectorElement* load) {
+ OperandPtrToRef({load, core::ir::LoadVectorElement::kFromOperandOffset});
+ },
+ [&](core::ir::ControlInstruction* ctrl) {
+ Vector<core::ir::Block*, 3> children;
+ ctrl->ForeachBlock([&](core::ir::Block* child) { children.Push(child); });
+ for (auto* child : Reverse(children)) {
+ blocks.Push(child);
+ }
+ });
+ }
+ }
+
+ return Success;
+ }
+
+ void OperandsRefToPtr(core::ir::Instruction* inst) {
+ for (size_t i = 0, n = inst->Operands().Length(); i < n; i++) {
+ OperandRefToPtr({inst, i});
+ }
+ }
+
+ void OperandRefToPtr(const core::ir::Usage& use) {
+ auto* operand = use.instruction->Operand(use.operand_index);
+ TINT_ASSERT(operand);
+ if (auto* ref_ty = As<core::type::Reference>(operand->Type())) {
+ auto* as_ptr = b.InstructionResult(RefToPtr(ref_ty));
+ mod.instructions.Create<wgsl::ir::Unary>(as_ptr, core::UnaryOp::kAddressOf, operand)
+ ->InsertBefore(use.instruction);
+ use.instruction->SetOperand(use.operand_index, as_ptr);
+ }
+ }
+
+ const core::type::Pointer* RefToPtr(const core::type::Reference* ref_ty) {
+ return mod.Types().Get<core::type::Pointer>(ref_ty->AddressSpace(), ref_ty->StoreType(),
+ ref_ty->Access());
+ }
+
+ void OperandPtrToRef(const core::ir::Usage& use) {
+ auto* operand = use.instruction->Operand(use.operand_index);
+ if (auto* ptr_ty = As<core::type::Pointer>(operand->Type())) {
+ auto* as_ptr = b.InstructionResult(PtrToRef(ptr_ty));
+ mod.instructions.Create<wgsl::ir::Unary>(as_ptr, core::UnaryOp::kIndirection, operand)
+ ->InsertBefore(use.instruction);
+ use.instruction->SetOperand(use.operand_index, as_ptr);
+ }
+ }
+
+ void ResultPtrToRef(core::ir::Instruction* inst) {
+ auto* result = inst->Result(0);
+ if (auto* ptr = result->Type()->As<core::type::Pointer>()) {
+ result->SetType(PtrToRef(ptr));
+ }
+ }
+
+ const core::type::Reference* PtrToRef(const core::type::Pointer* ptr_ty) {
+ return mod.Types().Get<core::type::Reference>(ptr_ty->AddressSpace(), ptr_ty->StoreType(),
+ ptr_ty->Access());
+ }
+};
+
+} // namespace
+
+Result<SuccessType> PtrToRef(core::ir::Module& mod) {
+ return Impl{mod}.Run();
+}
+
+} // namespace tint::wgsl::writer::raise
diff --git a/src/tint/lang/wgsl/writer/raise/ptr_to_ref.h b/src/tint/lang/wgsl/writer/raise/ptr_to_ref.h
new file mode 100644
index 0000000..2d4279c
--- /dev/null
+++ b/src/tint/lang/wgsl/writer/raise/ptr_to_ref.h
@@ -0,0 +1,48 @@
+// Copyright 2024 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.
+
+#ifndef SRC_TINT_LANG_WGSL_WRITER_RAISE_PTR_TO_REF_H_
+#define SRC_TINT_LANG_WGSL_WRITER_RAISE_PTR_TO_REF_H_
+
+#include "src/tint/utils/result/result.h"
+
+// Forward declarations.
+namespace tint::core::ir {
+class Module;
+}
+
+namespace tint::wgsl::writer::raise {
+
+/// PtrToRef is a transform that modifies values and instructions to convert from pointer types to
+/// reference types.
+/// @param module the module to transform
+/// @returns success or failure
+Result<SuccessType> PtrToRef(core::ir::Module& module);
+
+} // namespace tint::wgsl::writer::raise
+
+#endif // SRC_TINT_LANG_WGSL_WRITER_RAISE_PTR_TO_REF_H_
diff --git a/src/tint/lang/wgsl/writer/raise/ptr_to_ref_test.cc b/src/tint/lang/wgsl/writer/raise/ptr_to_ref_test.cc
new file mode 100644
index 0000000..851f9bb
--- /dev/null
+++ b/src/tint/lang/wgsl/writer/raise/ptr_to_ref_test.cc
@@ -0,0 +1,601 @@
+// Copyright 2024 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.
+
+#include "src/tint/lang/wgsl/writer/raise/ptr_to_ref.h"
+
+#include <string>
+#include <utility>
+
+#include "gtest/gtest.h"
+#include "src/tint/lang/core/ir/builder.h"
+#include "src/tint/lang/core/ir/disassembler.h"
+#include "src/tint/lang/core/ir/validator.h"
+
+namespace tint::wgsl::writer::raise {
+namespace {
+
+using namespace tint::core::fluent_types; // NOLINT
+using namespace tint::core::number_suffixes; // NOLINT
+
+class WgslWriter_PtrToRefTest : public testing::Test {
+ public:
+ /// Transforms the module, using the PtrToRef transform
+ void Run() {
+ // Validate the input IR.
+ {
+ auto res = core::ir::Validate(mod);
+ EXPECT_EQ(res, Success);
+ if (res != Success) {
+ return;
+ }
+ }
+
+ // Run the transforms.
+ auto result = PtrToRef(mod);
+ EXPECT_EQ(result, Success);
+
+ // Validate the output IR.
+ core::ir::Capabilities caps{core::ir::Capability::kAllowRefTypes};
+ auto res = core::ir::Validate(mod, caps);
+ EXPECT_EQ(res, Success);
+ }
+
+ /// @returns the transformed module as a disassembled string
+ std::string str() {
+ core::ir::Disassembler dis(mod);
+ return "\n" + dis.Disassemble();
+ }
+
+ protected:
+ /// The test IR module.
+ core::ir::Module mod;
+ /// The test IR builder.
+ core::ir::Builder b{mod};
+ /// The type manager.
+ core::type::Manager& ty{mod.Types()};
+};
+
+TEST_F(WgslWriter_PtrToRefTest, PtrParam_NoChange) {
+ auto fn = b.Function(ty.void_());
+ fn->SetParams({b.FunctionParam(ty.ptr<function, i32, read_write>())});
+ b.Append(fn->Block(), [&] { b.Return(fn); });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, i32, read_write>):void -> %b1 {
+ %b1 = block {
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = src;
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, Var) {
+ b.Append(mod.root_block, [&] { b.Var(ty.ptr<private_, i32>()); });
+
+ auto* src = R"(
+%b1 = block { # root
+ %1:ptr<private, i32, read_write> = var
+}
+
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%b1 = block { # root
+ %1:ref<private, i32, read_write> = var
+}
+
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, LoadVar) {
+ auto fn = b.Function(ty.i32());
+ b.Append(fn->Block(), [&] {
+ auto* v = b.Var<function, i32>();
+ b.Return(fn, b.Load(v));
+ });
+
+ auto* src = R"(
+%1 = func():i32 -> %b1 {
+ %b1 = block {
+ %2:ptr<function, i32, read_write> = var
+ %3:i32 = load %2
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func():i32 -> %b1 {
+ %b1 = block {
+ %2:ref<function, i32, read_write> = var
+ %3:i32 = load %2
+ ret %3
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, StoreVar) {
+ auto fn = b.Function(ty.void_());
+ b.Append(fn->Block(), [&] {
+ auto* v = b.Var<function, i32>();
+ b.Store(v, 42_i);
+ b.Return(fn);
+ });
+
+ auto* src = R"(
+%1 = func():void -> %b1 {
+ %b1 = block {
+ %2:ptr<function, i32, read_write> = var
+ store %2, 42i
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func():void -> %b1 {
+ %b1 = block {
+ %2:ref<function, i32, read_write> = var
+ store %2, 42i
+ ret
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, LoadPtrParam) {
+ auto fn = b.Function(ty.i32());
+ auto* ptr = b.FunctionParam(ty.ptr<function, i32, read_write>());
+ fn->SetParams({ptr});
+ b.Append(fn->Block(), [&] { b.Return(fn, b.Load(ptr)); });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, i32, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %3:i32 = load %2
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, i32, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %3:ref<function, i32, read_write> = ptr-to-ref %2
+ %4:i32 = load %3
+ ret %4
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, StorePtrParam) {
+ auto fn = b.Function(ty.void_());
+ auto* ptr = b.FunctionParam(ty.ptr<function, i32, read_write>());
+ fn->SetParams({ptr});
+ b.Append(fn->Block(), [&] {
+ b.Store(ptr, 42_i);
+ b.Return(fn);
+ });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, i32, read_write>):void -> %b1 {
+ %b1 = block {
+ store %2, 42i
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, i32, read_write>):void -> %b1 {
+ %b1 = block {
+ %3:ref<function, i32, read_write> = ptr-to-ref %2
+ store %3, 42i
+ ret
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, VarUsedAsPtrArg) {
+ auto fn_a = b.Function(ty.void_());
+ fn_a->SetParams({b.FunctionParam<ptr<function, i32, read_write>>("p")});
+ b.Append(fn_a->Block(), [&] { b.Return(fn_a); });
+ auto fn_b = b.Function(ty.void_());
+ b.Append(fn_b->Block(), [&] {
+ auto* v = b.Var<function, i32>();
+ b.Call(fn_a, v);
+ b.Return(fn_b);
+ });
+
+ auto* src = R"(
+%1 = func(%p:ptr<function, i32, read_write>):void -> %b1 {
+ %b1 = block {
+ ret
+ }
+}
+%3 = func():void -> %b2 {
+ %b2 = block {
+ %4:ptr<function, i32, read_write> = var
+ %5:void = call %1, %4
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%p:ptr<function, i32, read_write>):void -> %b1 {
+ %b1 = block {
+ ret
+ }
+}
+%3 = func():void -> %b2 {
+ %b2 = block {
+ %4:ref<function, i32, read_write> = var
+ %5:ptr<function, i32, read_write> = ref-to-ptr %4
+ %6:void = call %1, %5
+ ret
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, LoadPtrParamViaLet) {
+ auto fn = b.Function(ty.i32());
+ auto* ptr = b.FunctionParam(ty.ptr<function, i32, read_write>());
+ fn->SetParams({ptr});
+ b.Append(fn->Block(), [&] {
+ auto let = b.Let("l", ptr);
+ b.Return(fn, b.Load(let));
+ });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, i32, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %l:ptr<function, i32, read_write> = let %2
+ %4:i32 = load %l
+ ret %4
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, i32, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %l:ptr<function, i32, read_write> = let %2
+ %4:ref<function, i32, read_write> = ptr-to-ref %l
+ %5:i32 = load %4
+ ret %5
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, StorePtrParamViaLet) {
+ auto fn = b.Function(ty.void_());
+ auto* ptr = b.FunctionParam(ty.ptr<function, i32, read_write>());
+ fn->SetParams({ptr});
+ b.Append(fn->Block(), [&] {
+ auto let = b.Let("l", ptr);
+ b.Store(let, 42_i);
+ b.Return(fn);
+ });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, i32, read_write>):void -> %b1 {
+ %b1 = block {
+ %l:ptr<function, i32, read_write> = let %2
+ store %l, 42i
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, i32, read_write>):void -> %b1 {
+ %b1 = block {
+ %l:ptr<function, i32, read_write> = let %2
+ %4:ref<function, i32, read_write> = ptr-to-ref %l
+ store %4, 42i
+ ret
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, LoadAccessFromPtrArrayParam) {
+ auto fn = b.Function(ty.i32());
+ auto* param = b.FunctionParam(ty.ptr<function, array<i32, 4>, read_write>());
+ fn->SetParams({param});
+ b.Append(fn->Block(), [&] {
+ auto access = b.Access<ptr<function, i32, read_write>>(param, 2_i);
+ b.Return(fn, b.Load(access));
+ });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, array<i32, 4>, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %3:ptr<function, i32, read_write> = access %2, 2i
+ %4:i32 = load %3
+ ret %4
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, array<i32, 4>, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %3:ref<function, array<i32, 4>, read_write> = ptr-to-ref %2
+ %4:ref<function, i32, read_write> = access %3, 2i
+ %5:i32 = load %4
+ ret %5
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, StoreAccessFromPtrArrayParam) {
+ auto fn = b.Function(ty.void_());
+ auto* param = b.FunctionParam(ty.ptr<function, array<i32, 4>, read_write>());
+ fn->SetParams({param});
+ b.Append(fn->Block(), [&] {
+ auto access = b.Access<ptr<function, i32, read_write>>(param, 2_i);
+ b.Store(access, 42_i);
+ b.Return(fn);
+ });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, array<i32, 4>, read_write>):void -> %b1 {
+ %b1 = block {
+ %3:ptr<function, i32, read_write> = access %2, 2i
+ store %3, 42i
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, array<i32, 4>, read_write>):void -> %b1 {
+ %b1 = block {
+ %3:ref<function, array<i32, 4>, read_write> = ptr-to-ref %2
+ %4:ref<function, i32, read_write> = access %3, 2i
+ store %4, 42i
+ ret
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, LoadAccessFromPtrArrayParamViaLet) {
+ auto fn = b.Function(ty.i32());
+ auto* param = b.FunctionParam(ty.ptr<function, array<i32, 4>, read_write>());
+ fn->SetParams({param});
+ b.Append(fn->Block(), [&] {
+ auto access = b.Access<ptr<function, i32, read_write>>(param, 2_i);
+ auto let = b.Let("l", access);
+ b.Return(fn, b.Load(let));
+ });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, array<i32, 4>, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %3:ptr<function, i32, read_write> = access %2, 2i
+ %l:ptr<function, i32, read_write> = let %3
+ %5:i32 = load %l
+ ret %5
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, array<i32, 4>, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %3:ref<function, array<i32, 4>, read_write> = ptr-to-ref %2
+ %4:ref<function, i32, read_write> = access %3, 2i
+ %5:ptr<function, i32, read_write> = ref-to-ptr %4
+ %l:ptr<function, i32, read_write> = let %5
+ %7:ref<function, i32, read_write> = ptr-to-ref %l
+ %8:i32 = load %7
+ ret %8
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, StoreAccessFromPtrArrayParamViaLet) {
+ auto fn = b.Function(ty.void_());
+ auto* param = b.FunctionParam(ty.ptr<function, array<i32, 4>, read_write>());
+ fn->SetParams({param});
+ b.Append(fn->Block(), [&] {
+ auto access = b.Access<ptr<function, i32, read_write>>(param, 2_i);
+ auto let = b.Let("l", access);
+ b.Store(let, 42_i);
+ b.Return(fn);
+ });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, array<i32, 4>, read_write>):void -> %b1 {
+ %b1 = block {
+ %3:ptr<function, i32, read_write> = access %2, 2i
+ %l:ptr<function, i32, read_write> = let %3
+ store %l, 42i
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, array<i32, 4>, read_write>):void -> %b1 {
+ %b1 = block {
+ %3:ref<function, array<i32, 4>, read_write> = ptr-to-ref %2
+ %4:ref<function, i32, read_write> = access %3, 2i
+ %5:ptr<function, i32, read_write> = ref-to-ptr %4
+ %l:ptr<function, i32, read_write> = let %5
+ %7:ref<function, i32, read_write> = ptr-to-ref %l
+ store %7, 42i
+ ret
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, LoadVectorElementFromPtrParam) {
+ auto fn = b.Function(ty.i32());
+ auto* param = b.FunctionParam(ty.ptr<function, vec3<i32>, read_write>());
+ fn->SetParams({param});
+ b.Append(fn->Block(), [&] { b.Return(fn, b.LoadVectorElement(param, 2_i)); });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, vec3<i32>, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %3:i32 = load_vector_element %2, 2i
+ ret %3
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, vec3<i32>, read_write>):i32 -> %b1 {
+ %b1 = block {
+ %3:ref<function, vec3<i32>, read_write> = ptr-to-ref %2
+ %4:i32 = load_vector_element %3, 2i
+ ret %4
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(WgslWriter_PtrToRefTest, StoreVectorElementFromPtrParam) {
+ auto fn = b.Function(ty.void_());
+ auto* param = b.FunctionParam(ty.ptr<function, vec3<i32>, read_write>());
+ fn->SetParams({param});
+ b.Append(fn->Block(), [&] {
+ b.StoreVectorElement(param, 2_i, 42_i);
+ b.Return(fn);
+ });
+
+ auto* src = R"(
+%1 = func(%2:ptr<function, vec3<i32>, read_write>):void -> %b1 {
+ %b1 = block {
+ store_vector_element %2, 2i, 42i
+ ret
+ }
+}
+)";
+ EXPECT_EQ(src, str());
+
+ auto* expect = R"(
+%1 = func(%2:ptr<function, vec3<i32>, read_write>):void -> %b1 {
+ %b1 = block {
+ %3:ref<function, vec3<i32>, read_write> = ptr-to-ref %2
+ store_vector_element %3, 2i, 42i
+ ret
+ }
+}
+)";
+
+ Run();
+
+ EXPECT_EQ(expect, str());
+}
+
+} // namespace
+} // namespace tint::wgsl::writer::raise
diff --git a/src/tint/lang/wgsl/writer/raise/raise.cc b/src/tint/lang/wgsl/writer/raise/raise.cc
index e2c4f56..2678f4c 100644
--- a/src/tint/lang/wgsl/writer/raise/raise.cc
+++ b/src/tint/lang/wgsl/writer/raise/raise.cc
@@ -35,6 +35,7 @@
#include "src/tint/lang/core/type/pointer.h"
#include "src/tint/lang/wgsl/builtin_fn.h"
#include "src/tint/lang/wgsl/ir/builtin_call.h"
+#include "src/tint/lang/wgsl/writer/raise/ptr_to_ref.h"
#include "src/tint/lang/wgsl/writer/raise/rename_conflicts.h"
#include "src/tint/lang/wgsl/writer/raise/value_to_let.h"
@@ -237,6 +238,9 @@
if (auto result = raise::ValueToLet(mod); result != Success) {
return result.Failure();
}
+ if (auto result = raise::PtrToRef(mod); result != Success) {
+ return result.Failure();
+ }
return Success;
}
diff --git a/src/tint/lang/wgsl/writer/raise/raise_test.cc b/src/tint/lang/wgsl/writer/raise/raise_test.cc
index fbdb64b..0e5cae6 100644
--- a/src/tint/lang/wgsl/writer/raise/raise_test.cc
+++ b/src/tint/lang/wgsl/writer/raise/raise_test.cc
@@ -28,6 +28,7 @@
#include <utility>
#include "src/tint/lang/core/ir/transform/helper_test.h"
+#include "src/tint/lang/core/ir/validator.h"
#include "src/tint/lang/core/type/struct.h"
#include "src/tint/lang/wgsl/writer/raise/raise.h"
@@ -37,7 +38,10 @@
using namespace tint::core::fluent_types; // NOLINT
using namespace tint::core::number_suffixes; // NOLINT
-using WgslWriter_RaiseTest = core::ir::transform::TransformTest;
+class WgslWriter_RaiseTest : public core::ir::transform::TransformTest {
+ public:
+ WgslWriter_RaiseTest() { capabilities.Add(core::ir::Capability::kAllowRefTypes); }
+};
TEST_F(WgslWriter_RaiseTest, BuiltinConversion) {
auto* f = b.Function("f", ty.void_());
@@ -100,13 +104,14 @@
auto* expect = R"(
%b1 = block { # root
- %W:ptr<workgroup, i32, read_write> = var
+ %W:ref<workgroup, i32, read_write> = var
}
%f = func():i32 -> %b2 {
%b2 = block {
- %3:i32 = wgsl.workgroupUniformLoad %W
- ret %3
+ %3:ptr<workgroup, i32, read_write> = ref-to-ptr %W
+ %4:i32 = wgsl.workgroupUniformLoad %3
+ ret %4
}
}
)";
@@ -147,7 +152,7 @@
auto* expect = R"(
%b1 = block { # root
- %W:ptr<workgroup, i32, read_write> = var
+ %W:ref<workgroup, i32, read_write> = var
}
%f = func():i32 -> %b2 {