diff --git a/framework/tools/hdi-gen/codegen/code_emitter.cpp b/framework/tools/hdi-gen/codegen/code_emitter.cpp index d5645eb2475f49a1833966c2d956f61af1fe49e7..657a0eeaebe39ab58ee6423b0f25f4c548b24ef3 100644 --- a/framework/tools/hdi-gen/codegen/code_emitter.cpp +++ b/framework/tools/hdi-gen/codegen/code_emitter.cpp @@ -142,7 +142,9 @@ std::string CodeEmitter::InterfaceToFilePath(const std::string &interfaceName) c { std::string fullName = interfaceName; if (StringHelper::EndWith(fullName, "]")) { - fullName = fullName.substr(0, fullName.find("[")); + if (interfaceName.find("[") != std::string::npos) { + fullName = interfaceName.substr(0, interfaceName.find("[")); + } } size_t index = fullName.rfind("."); std::string prefix = fullName.substr(0, index + 1);