{{- /*
--------------------------------------------------------------------------------
Template file for use with tools/src/cmd/gen to generate init_conv_intrinsic.cc

To update the generated file, run:
    ./tools/run gen

See:
* tools/src/cmd/gen for structures used by this template
* https://golang.org/pkg/text/template/ for documentation on the template syntax
--------------------------------------------------------------------------------
*/ -}}

#include "src/tint/resolver/init_conv_intrinsic.h"

namespace tint::resolver {

const char* str(InitConvIntrinsic i) {
    switch (i) {
        case InitConvIntrinsic::kNone:
            return "<none>";
{{- range Sem.InitializersAndConverters  }}
        case InitConvIntrinsic::k{{Title .Name}}:
            return "{{.Name}}";
{{- end  }}
    }
    return "<unknown>";
}

}  // namespace tint::resolver
