public override ResolveResult Resolve(CSharpResolver resolver) { ResolveResult targetRR = target.Resolve(resolver); if (targetRR.IsError) { return(targetRR); } IList <IType> typeArgs = typeArguments.Resolve(resolver.CurrentTypeResolveContext); return(resolver.ResolveMemberAccess(targetRR, identifier, typeArgs, lookupMode)); }
public override ResolveResult Resolve(CSharpResolver resolver) { ResolveResult targetRR = target.Resolve(resolver); if (targetRR.IsError) { return(targetRR); } IList <IType> typeArgs = typeArguments.Resolve(resolver.CurrentTypeResolveContext); using (var busyLock = BusyManager.Enter(this)) { if (busyLock.Success) { return(resolver.ResolveMemberType(targetRR, identifier, typeArgs)); } else { // This can happen for "class Test : $Test.Base$ { public class Base {} }": return(ErrorResolveResult.UnknownError); // don't cache this error } } }