public ResolveMemberAccess ( ResolveResult target, string identifier, IList |
||
target | ResolveResult | |
identifier | string | |
typeArguments | IList |
|
lookupMode | NameLookupMode | |
Résultat | ResolveResult |
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 ResolveResult DoResolve(ITypeResolveContext context) { ResolveResult targetRR = target.DoResolve(context); if (targetRR.IsError) return targetRR; CSharpResolver r = new CSharpResolver(context); r.CurrentTypeDefinition = parentTypeDefinition != null ? parentTypeDefinition.GetCompoundClass() : null; r.UsingScope = parentUsingScope; IType[] typeArgs = new IType[typeArguments.Count]; for (int i = 0; i < typeArgs.Length; i++) { typeArgs[i] = typeArguments[i].Resolve(context); } return r.ResolveMemberAccess(targetRR, identifier, typeArgs, false); }
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.ResolveMemberAccess(targetRR, identifier, typeArgs, lookupMode); } else { // This can happen for "class Test : $Test.Base$ { public class Base {} }": return ErrorResolveResult.UnknownError; // don't cache this error } } }
public ResolveResult DoResolve(ITypeResolveContext context) { ResolveResult targetRR = target.DoResolve(context); if (targetRR.IsError) { return(targetRR); } CSharpResolver r = new CSharpResolver(context); r.CurrentTypeDefinition = parentTypeDefinition != null?parentTypeDefinition.GetCompoundClass() : null; r.UsingScope = parentUsingScope; IType[] typeArgs = new IType[typeArguments.Count]; for (int i = 0; i < typeArgs.Length; i++) { typeArgs[i] = typeArguments[i].Resolve(context); } return(r.ResolveMemberAccess(targetRR, identifier, typeArgs, false)); }
public override ResolveResult Resolve(CSharpResolver resolver) { ResolveResult rr; if (targetType != null) rr = new TypeResolveResult(targetType.Resolve(resolver.CurrentTypeResolveContext)); else rr = targetExpression.Resolve(resolver); return resolver.ResolveMemberAccess(rr, memberName, typeArguments.Resolve(resolver.CurrentTypeResolveContext)); }