Skip to content

Commit 25bb53a

Browse files
Razmo99JustinGrote
authored andcommitted
additional changes to getast utility method
1 parent 24d37af commit 25bb53a

File tree

1 file changed

+10
-26
lines changed
  • src/PowerShellEditorServices/Services/PowerShell/Refactoring

1 file changed

+10
-26
lines changed

src/PowerShellEditorServices/Services/PowerShell/Refactoring/Utilities.cs

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -108,42 +108,26 @@ public static FunctionDefinitionAst GetFunctionDefByCommandAst(string OldName, i
108108

109109
public static Ast GetAst(int StartLineNumber, int StartColumnNumber, Ast Ast)
110110
{
111+
Ast token = null;
111112

112-
// Get all the tokens on the startline so we can look for an appropriate Ast to return
113-
IEnumerable<Ast> tokens = Ast.FindAll(ast =>
113+
token = Ast.Find(ast =>
114114
{
115-
return StartLineNumber == ast.Extent.StartLineNumber;
115+
return StartLineNumber == ast.Extent.StartLineNumber &&
116+
ast.Extent.EndColumnNumber >= StartColumnNumber &&
117+
StartColumnNumber >= ast.Extent.StartColumnNumber;
116118
}, true);
117-
// Check if the Ast is a FunctionDefinitionAst
118-
IEnumerable<FunctionDefinitionAst> Functions = tokens.OfType<FunctionDefinitionAst>();
119-
if (Functions.Any())
120-
{
121-
foreach (FunctionDefinitionAst Function in Functions)
122-
{
123-
if (Function.Extent.StartLineNumber != Function.Extent.EndLineNumber)
124-
{
125-
return Function;
126-
}
127-
}
128-
}
129119

130120
IEnumerable<Ast> token = null;
131121
token = Ast.FindAll(ast =>
132122
{
133-
return ast.Extent.StartLineNumber == StartLineNumber &&
134-
ast.Extent.StartColumnNumber <= StartColumnNumber &&
135-
ast.Extent.EndColumnNumber >= StartColumnNumber;
123+
return ast.Extent.EndColumnNumber >= StartColumnNumber
124+
&& StartColumnNumber >= ast.Extent.StartColumnNumber;
136125
}, true);
137-
if (token != null)
126+
if (tokens.Count() > 1)
138127
{
139-
if (token.First() is AssignmentStatementAst Assignment)
140-
{
141-
return Assignment.Left;
142-
}
143-
return token.Last();
128+
token = tokens.LastOrDefault();
144129
}
145-
146-
return token.First();
130+
return token;
147131
}
148132
}
149133
}

0 commit comments

Comments
 (0)