Exemplo n.º 1
0
        public string GetMostSimilarMemberName(INamespace ns, string name, EntityType elementType)
        {
            if (null == ns)
            {
                return(null);
            }

            string expectedSoundex = StringUtilities.GetSoundex(name);
            string lastMemberName  = null;

            foreach (IEntity member in ns.GetMembers())
            {
                if (EntityType.Any != elementType && elementType != member.EntityType)
                {
                    continue;
                }
                if (lastMemberName == member.Name)
                {
                    continue;                    //no need to check this name again
                }
                //TODO: try Levenshtein distance or Metaphone instead of Soundex.
                if (expectedSoundex == StringUtilities.GetSoundex(member.Name))
                {
                    //return properties without get_/set_ prefix
                    IMethod method = member as IMethod;
                    if (null != method && method.IsSpecialName)
                    {
                        return(member.Name.Substring(4));
                    }
                    return(member.Name);
                }
                lastMemberName = member.Name;
            }
            return(null);
        }
Exemplo n.º 2
0
 private static void CollectAllMembers(List<IEntity> members, INamespace entity)
 {
     var type = entity as IType;
     if (null != type)
     {
         members.ExtendUnique(type.GetMembers());
         CollectBaseTypeMembers(members, type.BaseType);
     }
     else
     {
         members.Extend(entity.GetMembers());
     }
 }
Exemplo n.º 3
0
 private static void FlattenChildNamespaces(ICollection <INamespace> resultingList, INamespace ns)
 {
     foreach (IEntity ent in ns.GetMembers())
     {
         if (EntityType.Namespace != ent.EntityType)
         {
             continue;
         }
         INamespace nsEnt = (INamespace)ent;
         resultingList.Add(nsEnt);
         FlattenChildNamespaces(resultingList, nsEnt);
     }
 }
Exemplo n.º 4
0
        private static void CollectAllMembers(List <IEntity> members, INamespace entity)
        {
            var type = entity as IType;

            if (null != type)
            {
                members.ExtendUnique(type.GetMembers());
                CollectBaseTypeMembers(members, type.BaseType);
            }
            else
            {
                members.Extend(entity.GetMembers());
            }
        }
Exemplo n.º 5
0
        private static void GetAllMembers(List members, INamespace entity)
        {
            if (null == entity)
            {
                return;
            }

            IType type = entity as IType;

            if (null != type)
            {
                members.ExtendUnique(type.GetMembers());
                GetAllMembers(members, type.BaseType);
            }
            else
            {
                members.Extend(entity.GetMembers());
            }
        }
Exemplo n.º 6
0
 public override IEnumerable <IEntity> GetMembers()
 {
     return(_namespace.GetMembers());
 }
Exemplo n.º 7
0
        private static void GetAllMembers(List members, INamespace entity)
        {
            if (null == entity) return;

            IType type = entity as IType;
            if (null != type)
            {
                members.ExtendUnique(type.GetMembers());
                GetAllMembers(members, type.BaseType);
            }
            else
            {
                members.Extend(entity.GetMembers());
            }
        }
Exemplo n.º 8
0
 private static void FlattenChildNamespaces(List<INamespace> list, INamespace ns)
 {
     foreach (IEntity ent in ns.GetMembers())
     {
         if (EntityType.Namespace != ent.EntityType) continue;
         list.Add((INamespace) ent);
         FlattenChildNamespaces(list, (INamespace) ent);
     }
 }
Exemplo n.º 9
0
        public string GetMostSimilarMemberName(INamespace ns, string name, EntityType elementType)
        {
            if (null == ns) return null;

            string expectedSoundex = ToSoundex(name);
            string lastMemberName = null;
            foreach (IEntity member in ns.GetMembers())
            {
                if (EntityType.Any != elementType && elementType != member.EntityType)
                    continue;
                if (lastMemberName == member.Name)
                    continue;//no need to check this name again
                //TODO: try Levenshtein distance or Metaphone instead of Soundex.
                if (expectedSoundex == ToSoundex(member.Name))
                {
                    return member.Name;
                }
                lastMemberName = member.Name;
            }
            return null;
        }
Exemplo n.º 10
0
 public IEntity[] GetMembers()
 {
     return(_moduleClassNamespace.GetMembers());
 }