private IEnumerable<DynamicPropertyResult> EventIdPropertyCalculator(IQueryContext context, Name type, Name subject, Name def, Name target)
{
if (!context.Perspective.Match(Name.SELF_SYMBOL))
yield break;
var key = Name.BuildName(EVT_NAME, type, subject, def, target);
foreach (var c in context.Constraints)
{
foreach (var pair in m_typeIndexes.Unify(key, c))
{
foreach (var id in pair.Item1)
yield return new DynamicPropertyResult(Name.BuildName(id), new SubstitutionSet(pair.Item2));
}
}
}