private void AddCustomFields(Document luceneDocument) { var customProperties = programElement.GetCustomProperties(); foreach (var customProperty in customProperties) { luceneDocument.Add(new Field(customProperty.Name, customProperty.GetValue(programElement, null) as string, Field.Store.YES, Field.Index.ANALYZED)); } }
public static SandoDocument Create(ProgramElement programElement) { Contract.Requires(programElement != null, "DocumentFactory:Create - programElement cannot be null!"); Contract.Ensures(Contract.Result<SandoDocument>() != null, "DocumentFactory:Create - an object must be returned from this method!"); if(programElement as ClassElement != null) { return new ClassDocument(programElement as ClassElement); } if(programElement as CommentElement != null) { return new CommentDocument(programElement as CommentElement); } if(programElement as EnumElement != null) { return new EnumDocument(programElement as EnumElement); } if(programElement as FieldElement != null) { return new FieldDocument(programElement as FieldElement); } if(programElement as MethodElement != null) { return new MethodDocument(programElement as MethodElement); } if(programElement as MethodPrototypeElement != null) { return new MethodPrototypeDocument(programElement as MethodPrototypeElement); } if(programElement as PropertyElement != null) { return new PropertyDocument(programElement as PropertyElement); } if (programElement as StructElement != null) { return new StructDocument(programElement as StructElement); } if(programElement as TextFileElement != null) { return new TextFileDocument(programElement as TextFileElement); } if (programElement as XmlXElement!= null) { return new XmlXElementDocument(programElement as XmlXElement); } if(programElement.GetCustomProperties().Count>0) { return new SandoDocument(programElement); } //if this code is reached, contract will fail return null; }
public static SandoDocument Create(ProgramElement programElement) { Contract.Requires(programElement != null, "DocumentFactory:Create - programElement cannot be null!"); Contract.Ensures(Contract.Result <SandoDocument>() != null, "DocumentFactory:Create - an object must be returned from this method!"); if (programElement as ClassElement != null) { return(new ClassDocument(programElement as ClassElement)); } if (programElement as CommentElement != null) { return(new CommentDocument(programElement as CommentElement)); } if (programElement as EnumElement != null) { return(new EnumDocument(programElement as EnumElement)); } if (programElement as FieldElement != null) { return(new FieldDocument(programElement as FieldElement)); } if (programElement as MethodElement != null) { return(new MethodDocument(programElement as MethodElement)); } if (programElement as MethodPrototypeElement != null) { return(new MethodPrototypeDocument(programElement as MethodPrototypeElement)); } if (programElement as PropertyElement != null) { return(new PropertyDocument(programElement as PropertyElement)); } if (programElement as StructElement != null) { return(new StructDocument(programElement as StructElement)); } if (programElement as TextLineElement != null) { return(new TextLineDocument(programElement as TextLineElement)); } if (programElement as XmlXElement != null) { return(new XmlXElementDocument(programElement as XmlXElement)); } if (programElement.GetCustomProperties().Count > 0) { return(new SandoDocument(programElement)); } //if this code is reached, contract will fail return(null); }
public static IEnumerable <String> ExtractElementWords(ProgramElement element) { var list = new List <string>(); if (element as ClassElement != null) { AddElementName(element, list); list.AddRange(ExtractClassWords(element as ClassElement)); return(list); } if (element as CommentElement != null) { list.AddRange(ExtractCommentWords(element as CommentElement)); return(list); } if (element as FieldElement != null) { AddElementName(element, list); list.AddRange(ExtractFieldWords(element as FieldElement)); return(list); } if (element as MethodElement != null) { AddElementName(element, list); list.AddRange(ExtractMethodWords(element as MethodElement)); return(list); } if (element as MethodPrototypeElement != null) { list.AddRange(ExtractMethodPrototypeWords(element as MethodPrototypeElement)); return(list); } if (element as PropertyElement != null) { AddElementName(element, list); list.AddRange(ExtractPropertyWords(element as PropertyElement)); return(list); } if (element as StructElement != null) { AddElementName(element, list); list.AddRange(ExtractStructWords(element as StructElement)); return(list); } if (element as TextLineElement != null) { list.AddRange(ExtractTextLineElement(element as TextLineElement)); return(list); } if (element as XmlXElement != null) { list.AddRange(ExtractXmlWords(element as XmlXElement)); return(list); } if (element.GetCustomProperties().Count > 0) { list.AddRange(ExtractUnknownElementWords(element)); return(list); } list.Clear(); return(list); }
public static IEnumerable<String> ExtractElementWords(ProgramElement element) { var list = new List<string>(); if (element as ClassElement != null) { AddElementName(element, list); list.AddRange(ExtractClassWords(element as ClassElement)); return list; } if (element as CommentElement != null) { list.AddRange(ExtractCommentWords(element as CommentElement)); return list; } if (element as FieldElement != null) { AddElementName(element, list); list.AddRange(ExtractFieldWords(element as FieldElement)); return list; } if (element as MethodElement != null) { AddElementName(element, list); list.AddRange(ExtractMethodWords(element as MethodElement)); return list; } if (element as MethodPrototypeElement != null) { list.AddRange(ExtractMethodPrototypeWords(element as MethodPrototypeElement)); return list; } if (element as PropertyElement != null) { AddElementName(element, list); list.AddRange(ExtractPropertyWords(element as PropertyElement)); return list; } if (element as StructElement != null) { AddElementName(element, list); list.AddRange(ExtractStructWords(element as StructElement)); return list; } if (element as TextFileElement != null) { list.AddRange(ExtractTextLineElement(element as TextFileElement)); return list; } if (element as XmlXElement != null) { list.AddRange(ExtractXmlWords(element as XmlXElement)); return list; } if (element.GetCustomProperties().Count > 0) { list.AddRange(ExtractUnknownElementWords(element)); return list; } list.Clear(); return list; }