public override void VisitAttribute(AXmlAttribute attribute) { Debug.Assert(document != null); if (attribute.ParentElement != null) { if (attribute.ParentElement.Parent == document && attribute.LocalName == "Class" && attribute.Namespace == CompletionDataHelper.XamlNamespace) { this.generatedClass = AddClass(attribute.Value, attribute.ParentElement); } else if (generatedClass != null && attribute.LocalName == "Name") { string name = attribute.Value; if (!string.IsNullOrEmpty(name)) { IReturnType type = TypeFromXmlNode(CompilationUnit, attribute.ParentElement); DomRegion position = CreateRegion(attribute.ParentElement.StartOffset, attribute.ParentElement.StartOffset + attribute.ParentElement.Name.Length); ModifierEnum fieldModifier = ModifierEnum.Internal; string modifierValue = (attribute.ParentElement.GetAttributeValue(CompletionDataHelper.XamlNamespace, "FieldModifier") ?? string.Empty).Trim(); string publicString = currentAmbience.ConvertAccessibility(ModifierEnum.Public).Trim(); if (projectContent.Language.NameComparer.Compare(modifierValue, publicString) == 0) { fieldModifier = ModifierEnum.Public; } generatedClass.Fields.Add(new DefaultField(type, name, fieldModifier, position, generatedClass)); } } } base.VisitAttribute(attribute); }