static void rec(QualifiedElement q, QualifiedNameSyntax name) { if (name.Left is QualifiedNameSyntax qs) { rec(q, qs); } else if (name.Left is SimpleNameSyntax sn) { _ = new IdentityElement(q, sn.Identifier.Text); } else { throw new InvalidOperationException($"{name.Left.GetType().Name} is unexpected"); } _ = new IdentityElement(q, name.Right.Identifier.Text); }