Exemple #1
0
        public override object VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, object data)
        {
            Contract.Requires(propertyDeclaration != null);
            propertyDeclaration.AcceptChildren(this, data);

            if (propertyDeclaration.Modifier != Modifiers.Private)
            {
                var jsProperty = new JsProperty()
                {
                    Name    = propertyDeclaration.Name,
                    IsArray = (propertyDeclaration.TypeReference.GenericTypes.Count > 0 || propertyDeclaration.TypeReference.IsArrayType)
                };

                CurrentParent.Properties.Add(jsProperty);
                if (propertyDeclaration.Attributes.Count > 0)
                {
                    var jsAttributes = new List <JsAttribute>();

                    foreach (var attribute in propertyDeclaration.Attributes)
                    {
                        var a = attribute.Attributes[0];

                        jsAttributes.Add(new JsAttribute()
                        {
                            Name = a.Name
                        });
                    }

                    jsProperty.Attributes = jsAttributes;
                }
            }

            return(null);
        }