This is a follow-up of D95931. In that patch, we made the function getXCOFFSection has optional parameters for StorageMappingClass and SymbolType.
This patch makes
1: the private class members MappingClass and Type optional;
2: add an override version constructor function that has no MappingClass and Type properties.
Non-csect sections like debug sections have no such properties.
I would suggest storing a XCOFF::CsectProperties member. That semantically reflects that these are either both present or both non-present (which is the case at the level of the object file encoding as well).