…lines 1–299 unchanged (299 lines)
300 else if (isSingleDriverUDNT)
301 code = diag::MultipleUDNTDrivers;
302 else if (second->kind == DriverKind::Continuous && first->kind == DriverKind::Continuous)
303 code = diag::MultipleContAssigns;
304 else
305 code = diag::MixedVarAssigns;
306
307 // Use the "second" driver for printing the LSP, unless we see that it's
308 // an indirect port connection or we're printing a message about single-driver
309 // procedures, in which case we'll try the other one.
310 if (second->flags.has(DriverFlags::ViaIndirectPort) ||
311 (bothProcedural && !second->isInSingleDriverProcedure())) {
312 std::swap(first, second);
313 }
314
315 auto secondRange = second->getSourceRange();
316 auto& diag = context.addDiag(symbol, code, secondRange);
317 diag << getLSPName(symbol, *second);
318
319 if (bothProcedural) {
…lines 320–723 unchanged (404 lines)