// because doing so will not exclude messages like {x: x ∈ target ∧ x ∉ source.all ∧ x ∈ source.fallback}
//
// For 'obsolete' messages, the code can't be simplified as ``array_diff_assoc($this->source->all($domain), $this->target->all($domain))``
// because doing so will not exclude messages like {x: x ∈ source ∧ x ∉ target.all ∧ x ∈ target.fallback}
foreach($this->source->all($domain)as$id => $message){ if($this->target->has($id, $domain)){ $this->messages[$domain]['all'][$id] = $message; $d = $this->source->defines($id, $intlDomain) ? $intlDomain : $domain; $this->result->add([$id => $message], $d); if(null !== $keyMetadata = $this->source->getMetadata($id, $d)){ $this->result->setMetadata($id, $keyMetadata, $d); } }else{ $this->messages[$domain]['obsolete'][$id] = $message; } }