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); }