@@ -2233,76 +2233,76 @@ private static object ChangeType(object value, Type conversionType)
22332233 return Convert . ChangeType ( value , conversionType ) ;
22342234 }
22352235
2236- //private string GetCodeUntilEndOfString(string subExpr, Match stringBeginningMatch)
2237- //{
2238- // Match codeUntilEndOfStringMatch = stringBeginningMatch.Value.Contains("$") ? endOfStringWithDollar.Match(subExpr) : endOfStringWithoutDollar.Match(subExpr);
2239- // string result = subExpr;
2240-
2241- // if (codeUntilEndOfStringMatch.Success)
2242- // {
2243- // if (codeUntilEndOfStringMatch.Value.EndsWith("\""))
2244- // {
2245- // result = codeUntilEndOfStringMatch.Value;
2246- // }
2247- // else if (codeUntilEndOfStringMatch.Value.EndsWith("{") && codeUntilEndOfStringMatch.Length < subExpr.Length)
2248- // {
2249- // if (subExpr[codeUntilEndOfStringMatch.Length] == '{')
2250- // {
2251- // result = codeUntilEndOfStringMatch.Value + "{"
2252- // + GetCodeUntilEndOfString(subExpr.Substring(codeUntilEndOfStringMatch.Length + 1), stringBeginningMatch);
2253- // }
2254- // else
2255- // {
2256- // string interpolation = GetCodeUntilEndOfStringInterpolation(subExpr.Substring(codeUntilEndOfStringMatch.Length));
2257- // result = codeUntilEndOfStringMatch.Value + interpolation
2258- // + GetCodeUntilEndOfString(subExpr.Substring(codeUntilEndOfStringMatch.Length + interpolation.Length), stringBeginningMatch);
2259- // }
2260- // }
2261- // }
2262-
2263- // return result;
2264- //}
2265-
22662236 private string GetCodeUntilEndOfString ( string subExpr , Match stringBeginningMatch )
22672237 {
22682238 Match codeUntilEndOfStringMatch = stringBeginningMatch . Value . Contains ( "$" ) ? endOfStringWithDollar . Match ( subExpr ) : endOfStringWithoutDollar . Match ( subExpr ) ;
2269- StringBuilder result = new StringBuilder ( ) ;
2239+ string result = subExpr ;
22702240
22712241 if ( codeUntilEndOfStringMatch . Success )
22722242 {
22732243 if ( codeUntilEndOfStringMatch . Value . EndsWith ( "\" " ) )
22742244 {
2275- result . Append ( codeUntilEndOfStringMatch . Value ) ;
2245+ result = codeUntilEndOfStringMatch . Value ;
22762246 }
22772247 else if ( codeUntilEndOfStringMatch . Value . EndsWith ( "{" ) && codeUntilEndOfStringMatch . Length < subExpr . Length )
22782248 {
22792249 if ( subExpr [ codeUntilEndOfStringMatch . Length ] == '{' )
22802250 {
2281- result . Append ( codeUntilEndOfStringMatch . Value ) ;
2282- result . Append ( "{" ) ;
2283- result . Append ( GetCodeUntilEndOfString ( subExpr . Substring ( codeUntilEndOfStringMatch . Length + 1 ) , stringBeginningMatch ) ) ;
2251+ result = codeUntilEndOfStringMatch . Value + "{"
2252+ + GetCodeUntilEndOfString ( subExpr . Substring ( codeUntilEndOfStringMatch . Length + 1 ) , stringBeginningMatch ) ;
22842253 }
22852254 else
22862255 {
22872256 string interpolation = GetCodeUntilEndOfStringInterpolation ( subExpr . Substring ( codeUntilEndOfStringMatch . Length ) ) ;
2288- result . Append ( codeUntilEndOfStringMatch . Value ) ;
2289- result . Append ( interpolation ) ;
2290- result . Append ( GetCodeUntilEndOfString ( subExpr . Substring ( codeUntilEndOfStringMatch . Length + interpolation . Length ) , stringBeginningMatch ) ) ;
2257+ result = codeUntilEndOfStringMatch . Value + interpolation
2258+ + GetCodeUntilEndOfString ( subExpr . Substring ( codeUntilEndOfStringMatch . Length + interpolation . Length ) , stringBeginningMatch ) ;
22912259 }
22922260 }
2293- else
2294- {
2295- result . Append ( subExpr ) ;
2296- }
2297- }
2298- else
2299- {
2300- result . Append ( subExpr ) ;
23012261 }
23022262
2303- return result . ToString ( ) ;
2263+ return result ;
23042264 }
23052265
2266+ //private string GetCodeUntilEndOfString(string subExpr, Match stringBeginningMatch, StringBuilder stringBuilder = null)
2267+ //{
2268+ // Match codeUntilEndOfStringMatch = stringBeginningMatch.Value.Contains("$") ? endOfStringWithDollar.Match(subExpr) : endOfStringWithoutDollar.Match(subExpr);
2269+ // StringBuilder result = stringBuilder ?? new StringBuilder();
2270+
2271+ // if (codeUntilEndOfStringMatch.Success)
2272+ // {
2273+ // if (codeUntilEndOfStringMatch.Value.EndsWith("\""))
2274+ // {
2275+ // result.Append(codeUntilEndOfStringMatch.Value);
2276+ // }
2277+ // else if (codeUntilEndOfStringMatch.Value.EndsWith("{") && codeUntilEndOfStringMatch.Length < subExpr.Length)
2278+ // {
2279+ // if (subExpr[codeUntilEndOfStringMatch.Length] == '{')
2280+ // {
2281+ // result.Append(codeUntilEndOfStringMatch.Value);
2282+ // result.Append("{");
2283+ // result.Append(GetCodeUntilEndOfString(subExpr.Substring(codeUntilEndOfStringMatch.Length + 1), stringBeginningMatch));
2284+ // }
2285+ // else
2286+ // {
2287+ // string interpolation = GetCodeUntilEndOfStringInterpolation(subExpr.Substring(codeUntilEndOfStringMatch.Length));
2288+ // result.Append(codeUntilEndOfStringMatch.Value);
2289+ // result.Append(interpolation);
2290+ // GetCodeUntilEndOfString(subExpr.Substring(codeUntilEndOfStringMatch.Length + interpolation.Length), stringBeginningMatch, result);
2291+ // }
2292+ // }
2293+ // else
2294+ // {
2295+ // result.Append(subExpr);
2296+ // }
2297+ // }
2298+ // else
2299+ // {
2300+ // result.Append(subExpr);
2301+ // }
2302+
2303+ // return result.ToString();
2304+ //}
2305+
23062306 private string GetCodeUntilEndOfStringInterpolation ( string subExpr )
23072307 {
23082308 Match endOfStringInterpolationMatch = endOfStringInterpolationRegex . Match ( subExpr ) ;
0 commit comments