private static Attributes GetPropertyAttibutes(ComField property)
        {
            var attributes = new Attributes();

            if (property.Flags.HasFlag(VARFLAGS.VARFLAG_FDEFAULTBIND))
            {
                attributes.AddDefaultMemberAttribute(property.Name);
            }
            if (property.Flags.HasFlag(VARFLAGS.VARFLAG_FHIDDEN))
            {
                attributes.AddHiddenMemberAttribute(property.Name);
            }
            return(attributes);
        }
        private static (Declaration getter, Declaration writer) GetDeclarationsForProperty(QualifiedModuleName moduleName, Declaration moduleDeclaration, ComField item, Attributes attributes)
        {
            var getter = new PropertyGetDeclaration(item, moduleDeclaration, moduleName, attributes);

            if (item.Flags.HasFlag(VARFLAGS.VARFLAG_FREADONLY))
            {
                return(getter, null);
            }

            if (item.IsReferenceType)
            {
                var setter = new PropertySetDeclaration(item, moduleDeclaration, moduleName, attributes);
                return(getter, setter);
            }

            var letter = new PropertyLetDeclaration(item, moduleDeclaration, moduleName, attributes);

            return(getter, letter);
        }