Skip to content

Instantly share code, notes, and snippets.

@controlflow
Last active December 21, 2016 15:16
Show Gist options
  • Save controlflow/38a9ed2f4e45411ddd0e3e0b05a94c68 to your computer and use it in GitHub Desktop.
Save controlflow/38a9ed2f4e45411ddd0e3e0b05a94c68 to your computer and use it in GitHub Desktop.
IDeclaredElement declaredElement;
PsiLanguageType language;
Func<RenameIdentifierMarker, IDeclaredElementPointer<IDeclaredElement>> elementPointerFactory;
Func<string> newNameGetter;
IDeclaration declaration;
var nameRange = GetNameRangeByChange(change, out declaredElement, out declaration, out language,
out elementPointerFactory, out newNameGetter);
///////////////////////////////////////////////////////////////////////////////////////////////////////
private DocumentRange GetNameRangeByChange(DocumentChange change, out IDeclaredElement declaredElement,
out IDeclaration declaration, out PsiLanguageType language,
out Func<RenameIdentifierMarker, IDeclaredElementPointer<IDeclaredElement>> elementPointerFactory,
out Func<string> newNameGetter)
{
// ...
var nameRange = GetNameRangeByChange(change, out var declaredElement, out var declaration, out var language,
out var elementPointerFactory, out var newNameGetter);
///////////////////////////////////////////////////////////////////////////////////////////////////////
private DocumentRange GetNameRangeByChange(DocumentChange change, out IDeclaredElement declaredElement,
out IDeclaration declaration, out PsiLanguageType language,
out Func<RenameIdentifierMarker, IDeclaredElementPointer<IDeclaredElement>> elementPointerFactory,
out Func<string> newNameGetter)
{
// ...
var (nameRange, declaredElement, declaration, language, elementPointerFactory, newNameGetter) = GetNameRangeByChange(change);
///////////////////////////////////////////////////////////////////////////////////////////////////////
private (DocumentRange nameRange, IDeclaredElement declaredElement, IDeclaration declaration, PsiLanguageType language,
Func<RenameIdentifierMarker, IDeclaredElementPointer<IDeclaredElement>> elementPointerFactory,
Func<string> newNameGetter)
GetNameRangeByChange(DocumentChange change)
{
// ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment