public override IEnumerable <object> CreateResolveResult(ProjectDom dom, IMember callingMember) { List <object> result = new List <object> (); MemberResolveResult.AddType(dom, result, GetsInvoked ? ResolvedType : DomReturnType.Delegate, callingMember, StaticResolve); return(result); }
public override IEnumerable <object> CreateResolveResult(ProjectDom dom, IMember callingMember) { List <object> result = new List <object> (); if (IsLoopVariable) { if (ResolvedType.Name == "IEnumerable" && ResolvedType.GenericArguments != null && ResolvedType.GenericArguments.Count > 0) { MemberResolveResult.AddType(dom, result, ResolvedType.GenericArguments [0], callingMember, StaticResolve); } else if (ResolvedType.Name == "IEnumerable") { MemberResolveResult.AddType(dom, result, DomReturnType.Object, callingMember, StaticResolve); } else { MemberResolveResult.AddType(dom, result, dom.GetType(ResolvedType), callingMember, StaticResolve); } } else { MemberResolveResult.AddType(dom, result, ResolvedType, callingMember, StaticResolve); } return(result); }
public override IEnumerable <object> CreateResolveResult(ProjectDom dom, IMember callingMember) { List <object> result = new List <object> (); if (CallingMember != null && !CallingMember.IsStatic) { MemberResolveResult.AddType(dom, result, new DomReturnType(CallingType), callingMember, StaticResolve); } return(result); }
public override IEnumerable <object> CreateResolveResult(ProjectDom dom, IMember callingMember) { List <object> result = new List <object> (); if (CallingMember != null && !CallingMember.IsStatic) { IType baseType = dom.SearchType(CallingType != null ? CallingType.CompilationUnit : null, CallingType, CallingMember.Location, CallingType.BaseType ?? DomReturnType.Object); MemberResolveResult.AddType(dom, result, baseType, new BaseMemberDecorator(CallingMember, baseType), StaticResolve, m => m.IsAbstract); } return(result); }