ResolveResult CreateResult(ICompilationUnit unit, IReturnType type)
        {
            MemberResolveResult result = new MemberResolveResult(null);

            result.CallingType    = resolver.CallingType;
            result.CallingMember  = resolver.CallingMember;
            result.ResolvedType   = type;
            result.UnresolvedType = type;
            if (unit != null && resolver.Dom != null && type != null && type.Type == null)
            {
                IType searchedType = resolver.SearchType(type);
                if (searchedType != null)
                {
                    DomReturnType resType = new DomReturnType(searchedType);
                    resType.ArrayDimensions = type.ArrayDimensions;
                    for (int i = 0; i < type.ArrayDimensions; i++)
                    {
                        resType.SetDimension(i, type.GetDimension(i));
                    }
                    resType.PointerNestingLevel = type.PointerNestingLevel;
                    result.ResolvedType         = resType;
                }
            }
            return(result);
        }