private string GetSignature(PropertySetDeclaration member)
        {
            var signature = member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString();

            signature += " Property Set " + member.IdentifierName + "(";

            var selectedParams = Parameters.Where(p => !p.IsRemoved).Select(s => s.Name).ToList();

            selectedParams.Add(new Parameter(member.Parameters.Last()).Name);
            return(signature + string.Join(", ", selectedParams) + ")");
        }
        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);
        }
示例#3
0
 public virtual T Visit(PropertySetDeclaration stmt) => Visit(stmt as PropertyDeclaration);