protected override ICachedDeclaration2 FindDeclaration(IFile file, ICachedDeclaration2 candidateDeclaration) { if (Offset < TreeOffset.Zero) { return(null); } if (candidateDeclaration is T) { return(candidateDeclaration); } return(null); }
protected override void AssignDeclaredElement(ICachedDeclaration2 declaration) { base.AssignDeclaredElement(declaration); var parameters = TypeElement?.TypeParameters; if (parameters == null || parameters.IsEmpty()) { return; } var typeDeclaration = (T)declaration; var typeParameterDeclarations = typeDeclaration.TypeParameters; var parametersCount = Math.Min(parameters.Count, typeParameterDeclarations.Count); for (var i = 0; i < parametersCount; i++) { AssignToCachedDeclaration((ICachedDeclaration2)typeParameterDeclarations[i], parameters[i]); } }
protected override ICachedDeclaration2 FindDeclaration(IFile file, ICachedDeclaration2 candidateDeclaration) { return(null); }
protected override ICachedDeclaration2 FindDeclaration(IFile file, ICachedDeclaration2 candidateDeclaration) => Offset >= TreeOffset.Zero && candidateDeclaration is T ? candidateDeclaration : null;