static void MatchMethod(List <IDocumentationMember> members, XmlNode node) { Identifier member = IdentifierFor.XmlString(node.Attributes["name"].Value); for (int i = 0; i < members.Count; i++) { var reflected = members[i] as ReflectedMethod; if (reflected != null && reflected.Match(member)) { members[i] = new DocumentedMethod(reflected.Name, node, reflected.Method, reflected.TargetType); } } }
static void MatchType(List <IDocumentationMember> members, XmlNode node) { var identifier = IdentifierFor.XmlString(node.Attributes["name"].Value); var positionOfUndocumentedType = members.FindIndex(m => { var reflected = m as ReflectedType; return(reflected != null && reflected.Match(identifier)); }); if (positionOfUndocumentedType >= 0) { members[positionOfUndocumentedType] = new DocumentedType(identifier, node, members[positionOfUndocumentedType].TargetType); } }
public Comment Parse(ICommentParser parser, XmlNode node, bool first, bool last, ParseOptions options) { IReferencable reference = new NullReference(); if (node.Attributes["cref"] == null) { return(new See(reference)); } var referenceTarget = IdentifierFor.XmlString(node.Attributes["cref"].Value); if (referenceTarget is NamespaceIdentifier) { reference = Namespace.Unresolved((NamespaceIdentifier)referenceTarget); } else if (referenceTarget is TypeIdentifier) { reference = DeclaredType.Unresolved((TypeIdentifier)referenceTarget, Namespace.Unresolved(referenceTarget.CloneAsNamespace())); } else if (referenceTarget is MethodIdentifier) { reference = Method.Unresolved( (MethodIdentifier)referenceTarget, DeclaredType.Unresolved( referenceTarget.CloneAsType(), Namespace.Unresolved(referenceTarget.CloneAsNamespace()) ) ); } else if (referenceTarget is PropertyIdentifier) { reference = Property.Unresolved( (PropertyIdentifier)referenceTarget, DeclaredType.Unresolved( referenceTarget.CloneAsType(), Namespace.Unresolved(referenceTarget.CloneAsNamespace()) ) ); } else if (referenceTarget is EventIdentifier) { reference = Event.Unresolved( (EventIdentifier)referenceTarget, DeclaredType.Unresolved( referenceTarget.CloneAsType(), Namespace.Unresolved(referenceTarget.CloneAsNamespace()) ) ); } else if (referenceTarget is FieldIdentifier) { reference = Field.Unresolved( (FieldIdentifier)referenceTarget, DeclaredType.Unresolved( referenceTarget.CloneAsType(), Namespace.Unresolved(referenceTarget.CloneAsNamespace()) ) ); } return(new See(reference)); }