public override object VisitPropertyDeclaration (ICSharpCode.NRefactory.Ast.PropertyDeclaration propertyDeclaration, object data)
			{
				DomProperty property = new DomProperty ();
				property.Name = propertyDeclaration.Name;
				property.Documentation = RetrieveDocumentation (propertyDeclaration.StartLocation.Line);
				property.Location = ConvertLocation (propertyDeclaration.StartLocation);
				property.BodyRegion = ConvertRegion (propertyDeclaration.EndLocation, propertyDeclaration.BodyEnd);
				property.GetterModifier = property.SetterModifier = ConvertModifiers (propertyDeclaration.Modifier);
				property.ReturnType = ConvertReturnType (propertyDeclaration.TypeReference);
				AddAttributes (property, propertyDeclaration.Attributes);
				AddExplicitInterfaces (property, propertyDeclaration.InterfaceImplementations);
				if (propertyDeclaration.HasGetRegion) {
					property.PropertyModifier |= PropertyModifier.HasGet;
					if (propertyDeclaration.GetRegion.Modifier != ICSharpCode.NRefactory.Ast.Modifiers.None)
						property.GetterModifier = ConvertModifiers (propertyDeclaration.GetRegion.Modifier);
					property.GetRegion = ConvertRegion (propertyDeclaration.GetRegion.StartLocation, propertyDeclaration.GetRegion.EndLocation);
				}
				if (propertyDeclaration.HasSetRegion) {
					property.PropertyModifier |= PropertyModifier.HasSet;
					if (propertyDeclaration.SetRegion.Modifier != ICSharpCode.NRefactory.Ast.Modifiers.None)
						property.SetterModifier = ConvertModifiers (propertyDeclaration.SetRegion.Modifier);
					property.SetRegion = ConvertRegion (propertyDeclaration.SetRegion.StartLocation, propertyDeclaration.SetRegion.EndLocation);
				}
				property.DeclaringType = typeStack.Peek ();
				typeStack.Peek ().Add (property);
				return null;
			}
Esempio n. 2
0
            public override object VisitPropertyDeclaration(ICSharpCode.NRefactory.Ast.PropertyDeclaration propertyDeclaration, object data)
            {
                Debug.Assert(currentType.Count > 0);
                DomType type = currentType.Peek();

                type.Add(new DomProperty(propertyDeclaration.Name,
                                         (MonoDevelop.Projects.Dom.Modifiers)propertyDeclaration.Modifier,
                                         new DomLocation(propertyDeclaration.StartLocation.Line, propertyDeclaration.StartLocation.Column),
                                         TranslateRegion(propertyDeclaration.BodyStart, propertyDeclaration.BodyEnd),
                                         TranslateTypeReference(propertyDeclaration.TypeReference)));
                return(null);
            }
Esempio n. 3
0
            public override object VisitPropertyDeclaration(ICSharpCode.NRefactory.Ast.PropertyDeclaration propertyDeclaration, object data)
            {
                Debug.Assert(currentType.Count > 0);
                DomType type = currentType.Peek();

                var getterModifier = (Modifiers)propertyDeclaration.Modifier;
                var setterModifier = (Modifiers)propertyDeclaration.Modifier;

                if (propertyDeclaration.HasGetRegion && propertyDeclaration.GetRegion.Modifier != ICSharpCode.NRefactory.Ast.Modifiers.None)
                {
                    getterModifier = (Modifiers)propertyDeclaration.GetRegion.Modifier;
                }
                if (propertyDeclaration.HasSetRegion && propertyDeclaration.SetRegion.Modifier != ICSharpCode.NRefactory.Ast.Modifiers.None)
                {
                    setterModifier = (Modifiers)propertyDeclaration.SetRegion.Modifier;
                }

                type.Add(new DomProperty(propertyDeclaration.Name,
                                         getterModifier, setterModifier,
                                         new DomLocation(propertyDeclaration.StartLocation.Line, propertyDeclaration.StartLocation.Column),
                                         TranslateRegion(propertyDeclaration.BodyStart, propertyDeclaration.BodyEnd),
                                         TranslateTypeReference(propertyDeclaration.TypeReference)));
                return(null);
            }