@@ -391,10 +391,45 @@ private static void RegisterStringHandlers()
391391 RegisterHandler ( ( string s ) => s . ToString ( ) , HandleStringToString ) ;
392392
393393 RegisterHandler ( ( string ? s ) => string . IsNullOrEmpty ( s ) , HandleStringIsNullOrEmpty ) ;
394+ RegisterHandler ( ( string ? s ) => string . IsNullOrWhiteSpace ( s ) , HandleStringIsNullOrWhiteSpace ) ;
394395 RegisterHandler ( ( string s , int startIndex , int length ) => s . Substring ( startIndex , length ) , HandleStringSubstring ) ;
395396 RegisterHandler ( ( string s , string value ) => s . Contains ( value ) , HandleStringContains ) ;
397+ RegisterHandler ( ( string s , string value ) => s . StartsWith ( value ) , HandleStringStartsWith ) ;
396398 RegisterHandler ( ( string s , string value ) => s . EndsWith ( value ) , HandleStringEndsWith ) ;
397399 RegisterHandler ( ( string s , string value ) => s . IndexOf ( value ) , HandleStringIndexOf ) ;
400+ RegisterHandler ( ( string s , string value ) => s . LastIndexOf ( value ) , HandleStringLastIndexOf ) ;
401+ RegisterHandler ( ( string strA , string strB ) => string . Compare ( strA , strB ) , HandleStringCompare ) ;
402+ RegisterHandler ( ( string s , char separator ) => s . Split ( separator , StringSplitOptions . None ) , HandleStringSplit ) ;
403+ RegisterHandler < string , char , StringSplitOptions , string [ ] > ( ( s , separator , options ) => s . Split ( separator , options ) , HandleStringSplit ) ;
404+ SystemCallHandlers [ "string.Split(char, int, System.StringSplitOptions)" ] = HandleStringSplit ;
405+ SystemCallHandlers [ "string.Split(char, System.StringSplitOptions)" ] = HandleStringSplit ;
406+ SystemCallHandlers [ "string.Split(char[], System.StringSplitOptions)" ] = HandleStringSplit ;
407+ SystemCallHandlers [ "string.Split(char[], int, System.StringSplitOptions)" ] = HandleStringSplit ;
408+ SystemCallHandlers [ "string.Split(char[])" ] = HandleStringSplit ;
409+ SystemCallHandlers [ "string.Split(char[], int)" ] = HandleStringSplit ;
410+ SystemCallHandlers [ "string.Split(char[]?, System.StringSplitOptions)" ] = HandleStringSplit ;
411+ SystemCallHandlers [ "string.Split(char[]?, int, System.StringSplitOptions)" ] = HandleStringSplit ;
412+ SystemCallHandlers [ "string.Split(char[]?)" ] = HandleStringSplit ;
413+ SystemCallHandlers [ "string.Split(char[]?, int)" ] = HandleStringSplit ;
414+ RegisterHandler < string , string ? , string [ ] > ( ( s , separator ) => s . Split ( separator , StringSplitOptions . None ) , HandleStringSplit ) ;
415+ RegisterHandler < string , string ? , StringSplitOptions , string [ ] > ( ( s , separator , options ) => s . Split ( separator , options ) , HandleStringSplit ) ;
416+ SystemCallHandlers [ "string.Split(string?, int, System.StringSplitOptions)" ] = HandleStringSplit ;
417+ SystemCallHandlers [ "string.Split(string?[], System.StringSplitOptions)" ] = HandleStringSplit ;
418+ SystemCallHandlers [ "string.Split(string?[], int, System.StringSplitOptions)" ] = HandleStringSplit ;
419+ SystemCallHandlers [ "string.Split(string?[])" ] = HandleStringSplit ;
420+ SystemCallHandlers [ "string.Split(string?[], int)" ] = HandleStringSplit ;
421+ SystemCallHandlers [ "string.Split(string[], System.StringSplitOptions)" ] = HandleStringSplit ;
422+ SystemCallHandlers [ "string.Split(string[], int, System.StringSplitOptions)" ] = HandleStringSplit ;
423+ SystemCallHandlers [ "string.Split(string[])" ] = HandleStringSplit ;
424+ SystemCallHandlers [ "string.Split(string[], int)" ] = HandleStringSplit ;
425+ SystemCallHandlers [ "string.Split(string[]?, System.StringSplitOptions)" ] = HandleStringSplit ;
426+ SystemCallHandlers [ "string.Split(string[]?, int, System.StringSplitOptions)" ] = HandleStringSplit ;
427+ SystemCallHandlers [ "string.Split(string[]?)" ] = HandleStringSplit ;
428+ SystemCallHandlers [ "string.Split(string[]?, int)" ] = HandleStringSplit ;
429+ SystemCallHandlers [ "string.Split(string?[]?, System.StringSplitOptions)" ] = HandleStringSplit ;
430+ SystemCallHandlers [ "string.Split(string?[]?, int, System.StringSplitOptions)" ] = HandleStringSplit ;
431+ SystemCallHandlers [ "string.Split(string?[]?)" ] = HandleStringSplit ;
432+ SystemCallHandlers [ "string.Split(string?[]?, int)" ] = HandleStringSplit ;
398433 RegisterHandler ( ( string s , int index ) => s [ index ] , HandleStringPickItem ) ;
399434 RegisterHandler ( ( string s , int startIndex ) => s . Substring ( startIndex ) , HandleStringSubStringToEnd ) ;
400435 RegisterHandler ( ( string ? s1 , string ? s2 ) => string . Concat ( s1 , s2 ) , HandleStringConcat ) ;
@@ -403,7 +438,29 @@ private static void RegisterStringHandlers()
403438 RegisterHandler ( ( string s ) => s . ToUpper ( ) , HandleStringToUpper ) ;
404439 RegisterHandler ( ( string s ) => s . Trim ( ) , HandleStringTrim ) ;
405440 RegisterHandler ( ( string s , char trimChar ) => s . Trim ( trimChar ) , HandleStringTrimChar ) ;
441+ RegisterHandler < string , char [ ] , string > ( ( s , trimChars ) => s . Trim ( trimChars ) , HandleStringTrimCharArray ) ;
442+ SystemCallHandlers [ "string.Trim(char[])" ] = HandleStringTrimCharArray ;
443+ SystemCallHandlers [ "string.Trim(char[]?)" ] = HandleStringTrimCharArray ;
444+ SystemCallHandlers [ "string.Trim(params char[])" ] = HandleStringTrimCharArray ;
445+ SystemCallHandlers [ "string.Trim(params char[]?)" ] = HandleStringTrimCharArray ;
446+ RegisterHandler ( ( string s ) => s . TrimStart ( ) , HandleStringTrimStart ) ;
447+ RegisterHandler ( ( string s , char trimChar ) => s . TrimStart ( trimChar ) , HandleStringTrimStartChar ) ;
448+ RegisterHandler < string , char [ ] , string > ( ( s , trimChars ) => s . TrimStart ( trimChars ) , HandleStringTrimStartCharArray ) ;
449+ SystemCallHandlers [ "string.TrimStart(char[])" ] = HandleStringTrimStartCharArray ;
450+ SystemCallHandlers [ "string.TrimStart(char[]?)" ] = HandleStringTrimStartCharArray ;
451+ SystemCallHandlers [ "string.TrimStart(params char[])" ] = HandleStringTrimStartCharArray ;
452+ SystemCallHandlers [ "string.TrimStart(params char[]?)" ] = HandleStringTrimStartCharArray ;
453+ RegisterHandler ( ( string s ) => s . TrimEnd ( ) , HandleStringTrimEnd ) ;
454+ RegisterHandler ( ( string s , char trimChar ) => s . TrimEnd ( trimChar ) , HandleStringTrimEndChar ) ;
455+ RegisterHandler < string , char [ ] , string > ( ( s , trimChars ) => s . TrimEnd ( trimChars ) , HandleStringTrimEndCharArray ) ;
456+ SystemCallHandlers [ "string.TrimEnd(char[])" ] = HandleStringTrimEndCharArray ;
457+ SystemCallHandlers [ "string.TrimEnd(char[]?)" ] = HandleStringTrimEndCharArray ;
458+ SystemCallHandlers [ "string.TrimEnd(params char[])" ] = HandleStringTrimEndCharArray ;
459+ SystemCallHandlers [ "string.TrimEnd(params char[]?)" ] = HandleStringTrimEndCharArray ;
406460 RegisterHandler ( ( string s , string oldValue , string newValue ) => s . Replace ( oldValue , newValue ) , HandleStringReplace ) ;
461+ RegisterHandler ( ( string s , int startIndex ) => s . Remove ( startIndex ) , HandleStringRemove ) ;
462+ RegisterHandler ( ( string s , int startIndex , int count ) => s . Remove ( startIndex , count ) , HandleStringRemove ) ;
463+ RegisterHandler ( ( string s , int startIndex , string value ) => s . Insert ( startIndex , value ) , HandleStringInsert ) ;
407464 RegisterHandler ( ( string s ) => s . Length , HandleStringLength ) ;
408465 }
409466
0 commit comments