@@ -228,7 +228,7 @@ public static bool TryFindFunctionDefinition(this Ast ast, CommandAst command, o
228228 {
229229 if ( ast is not FunctionDefinitionAst funcDef ) { return false ; }
230230
231- if ( funcDef . Name . ToLower ( ) != name ) { return false ; }
231+ if ( ! funcDef . Name . Equals ( name , StringComparison . CurrentCultureIgnoreCase ) ) { return false ; }
232232
233233 // If the function is recursive (calls itself), its parent is a match unless a more specific in-scope function definition comes next (this is a "bad practice" edge case)
234234 // TODO: Consider a simple "contains" match
@@ -298,10 +298,10 @@ public static IEnumerable<Ast> FindParents(this Ast ast, params Type[] types)
298298 (
299299 ast => ast is FunctionDefinitionAst funcDef
300300 && funcDef . StartsBefore ( target )
301- && funcDef . Name . ToLower ( ) == functionName . ToLower ( )
301+ && funcDef . Name . Equals ( functionName , StringComparison . CurrentCultureIgnoreCase )
302302 && ( funcDef . Parameters ?? funcDef . Body . ParamBlock . Parameters )
303303 . SingleOrDefault (
304- param => param . Name . GetUnqualifiedName ( ) . ToLower ( ) == parameterName . ToLower ( )
304+ param => param . Name . GetUnqualifiedName ( ) . Equals ( parameterName , StringComparison . CurrentCultureIgnoreCase )
305305 ) is not null
306306 , false
307307 ) . LastOrDefault ( ) as FunctionDefinitionAst ;
@@ -311,7 +311,7 @@ public static IEnumerable<Ast> FindParents(this Ast ast, params Type[] types)
311311 return ( funcDef . Parameters ?? funcDef . Body . ParamBlock . Parameters )
312312 . SingleOrDefault
313313 (
314- param => param . Name . GetUnqualifiedName ( ) . ToLower ( ) == parameterName . ToLower ( )
314+ param => param . Name . GetUnqualifiedName ( ) . Equals ( parameterName , StringComparison . CurrentCultureIgnoreCase )
315315 ) ? . Name ; //Should not be null at this point
316316 }
317317
@@ -384,7 +384,7 @@ public static bool IsScopedVariableAssignment(this VariableExpressionAst var)
384384 return assignmentAst . FindStartsAfter ( ast =>
385385 ast is VariableExpressionAst var
386386 && var . Splatted
387- && var . GetUnqualifiedName ( ) . ToLower ( ) == leftAssignVarAst . GetUnqualifiedName ( ) . ToLower ( )
387+ && var . GetUnqualifiedName ( ) . Equals ( leftAssignVarAst . GetUnqualifiedName ( ) , StringComparison . CurrentCultureIgnoreCase )
388388 , true ) as VariableExpressionAst ;
389389 }
390390
@@ -464,7 +464,7 @@ public static bool TryGetFunction(this ParameterAst ast, out FunctionDefinitionA
464464 _ => null
465465 } ;
466466 ParameterAst ? matchParam = parameters ? . SingleOrDefault (
467- param => param . Name . GetUnqualifiedName ( ) . ToLower ( ) == name . ToLower ( )
467+ param => param . Name . GetUnqualifiedName ( ) . Equals ( name , StringComparison . CurrentCultureIgnoreCase )
468468 ) ;
469469 if ( matchParam is not null )
470470 {
@@ -491,7 +491,7 @@ public static bool TryGetFunction(this ParameterAst ast, out FunctionDefinitionA
491491 varAssignment = reference switch
492492 {
493493 VariableExpressionAst => scope . FindStartsBefore < VariableExpressionAst > ( var =>
494- var . GetUnqualifiedName ( ) . ToLower ( ) == name . ToLower ( )
494+ var . GetUnqualifiedName ( ) . Equals ( name , StringComparison . CurrentCultureIgnoreCase )
495495 && (
496496 ( var . IsVariableAssignment ( ) && ! var . IsOperatorAssignment ( ) )
497497 || var . IsScopedVariableAssignment ( )
@@ -500,7 +500,7 @@ public static bool TryGetFunction(this ParameterAst ast, out FunctionDefinitionA
500500 ) ,
501501
502502 CommandParameterAst param => scope . FindStartsBefore < VariableExpressionAst > ( var =>
503- var . GetUnqualifiedName ( ) . ToLower ( ) == name . ToLower ( )
503+ var . GetUnqualifiedName ( ) . Equals ( name , StringComparison . CurrentCultureIgnoreCase )
504504 && var . Parent is ParameterAst paramAst
505505 && paramAst . TryGetFunction ( out FunctionDefinitionAst ? foundFunction )
506506 && foundFunction ? . Name . ToLower ( )
0 commit comments