return {};
}
+ auto itPhraseName = ir.BlockNameMap.find(i.Name);
+
+ if (itPhraseName != ir.BlockNameMap.end())
+ {
+ AddMessage(
+ Message::MessageItem{
+ Message::MessageKind::Error,
+ Message::MessageID::DuplicatedName,
+ ir.Name,
+ i.Location,
+ {i.Name}
+ }
+ );
+
+ return {};
+ }
+
auto newIndex = IR::TrackBlockReference{ir.TrackBlocks.size()};
ir.TrackBlockNameMap[i.Name] = newIndex;
ir.TrackBlocks.emplace_back();
{Message::MessageID::UnknownInIRProcessor, ICEMessage + " (IRProcessor: Message = '{0}')"},
{Message::MessageID::UnknownInIR2MIDI, ICEMessage + " (IR2MIDI: Message = '{0}')"},
{Message::MessageID::UnprocessedAttribute, ICEMessage + " (Unprocessed attribute: '{0}')"},
+ {Message::MessageID::DuplicatedName, "composition or phrase named '{0}' is already defined"},
{Message::MessageID::DuplicatedCompositionName, "composition named '{0}' is already defined"},
{Message::MessageID::DuplicatedPhraseName, "phrase named '{0}' is already defined"},
{Message::MessageID::NoSuchPhraseName, "cannot find a phrase named '{0}'"},