Skip to content

Commit 238b5e6

Browse files
committed
More CultureInfo.InvariantCulture in the URC inspection backend
1 parent 6ae3c30 commit 238b5e6

File tree

4 files changed

+21
-21
lines changed

4 files changed

+21
-21
lines changed

Rubberduck.CodeAnalysis/Inspections/Concrete/UnreachableCaseInspection/LetCoerce.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public struct LetCoerce
120120
[Tokens.LongLong] = a => long.Parse(BankersRound(a), CultureInfo.InvariantCulture).ToString(CultureInfo.InvariantCulture),
121121
[Tokens.Double] = a => a,
122122
[Tokens.Single] = a => a,
123-
[Tokens.Currency] = a => decimal.Parse(a).ToString(CultureInfo.InvariantCulture),
123+
[Tokens.Currency] = a => decimal.Parse(a, CultureInfo.InvariantCulture).ToString(CultureInfo.InvariantCulture),
124124
[Tokens.Boolean] = NumericToBoolean,
125125
[Tokens.Date] = NumericToDate,
126126
},

Rubberduck.CodeAnalysis/Inspections/Concrete/UnreachableCaseInspection/ParseTreeExpressionEvaluator.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -283,8 +283,8 @@ private IParseTreeValue EvaluateArithmeticOp(string opSymbol, IParseTreeValue LH
283283
return _valueFactory.CreateExpression($"{LHS.Token} {opSymbol} {RHS.Token}", opProvider.OperatorDeclaredType);
284284
}
285285

286-
if (!LHS.TryLetCoerce(opProvider.OperatorEffectiveType, out IParseTreeValue effLHS)
287-
|| !RHS.TryLetCoerce(opProvider.OperatorEffectiveType, out IParseTreeValue effRHS))
286+
if (!LHS.TryLetCoerce(opProvider.OperatorEffectiveType, out var effLHS)
287+
|| !RHS.TryLetCoerce(opProvider.OperatorEffectiveType, out var effRHS))
288288
{
289289
return _valueFactory.CreateExpression($"{LHS.Token} {opSymbol} {RHS.Token}", opProvider.OperatorDeclaredType);
290290
}
@@ -299,45 +299,45 @@ private IParseTreeValue EvaluateArithmeticOp(string opSymbol, IParseTreeValue LH
299299

300300
if (opSymbol.Equals(ArithmeticOperators.MULTIPLY))
301301
{
302-
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => { return a * b; }, (double a, double b) => { return a * b; }), opProvider.OperatorDeclaredType);
302+
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => a * b, (double a, double b) => a * b), opProvider.OperatorDeclaredType);
303303
}
304-
else if (opSymbol.Equals(ArithmeticOperators.DIVIDE))
304+
if (opSymbol.Equals(ArithmeticOperators.DIVIDE))
305305
{
306-
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => { return a / b; }, (double a, double b) => { return a / b; }), opProvider.OperatorDeclaredType);
306+
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => a / b, (double a, double b) => a / b), opProvider.OperatorDeclaredType);
307307
}
308-
else if (opSymbol.Equals(ArithmeticOperators.INTEGER_DIVIDE))
308+
if (opSymbol.Equals(ArithmeticOperators.INTEGER_DIVIDE))
309309
{
310310
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, IntDivision, IntDivision), opProvider.OperatorDeclaredType);
311311
}
312-
else if (opSymbol.Equals(ArithmeticOperators.PLUS))
312+
if (opSymbol.Equals(ArithmeticOperators.PLUS))
313313
{
314314
if (opProvider.OperatorEffectiveType.Equals(Tokens.String))
315315
{
316316
return _valueFactory.CreateValueType(Concatenate(LHS, RHS), opProvider.OperatorDeclaredType);
317317
}
318318
if (opProvider.OperatorEffectiveType.Equals(Tokens.Date))
319319
{
320-
var result = _valueFactory.CreateDeclaredType(Calculate(effLHS, effRHS, null, (double a, double b) => { return a + b; }), Tokens.Double);
320+
var result = _valueFactory.CreateDeclaredType(Calculate(effLHS, effRHS, null, (double a, double b) => a + b), Tokens.Double);
321321
return _valueFactory.CreateDate(result.AsDouble());
322322
}
323-
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => { return a + b; }, (double a, double b) => { return a + b; }), opProvider.OperatorDeclaredType);
323+
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => a + b, (double a, double b) => a + b), opProvider.OperatorDeclaredType);
324324
}
325-
else if (opSymbol.Equals(ArithmeticOperators.MINUS))
325+
if (opSymbol.Equals(ArithmeticOperators.MINUS))
326326
{
327327
if (LHS.ValueType.Equals(Tokens.Date) && RHS.ValueType.Equals(Tokens.Date))
328328
{
329329
return _valueFactory.CreateDate(LHS.AsDouble() - RHS.AsDouble());
330330
}
331-
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => { return a - b; }, (double a, double b) => { return a - b; }), opProvider.OperatorDeclaredType);
331+
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => a - b, (double a, double b) => a - b), opProvider.OperatorDeclaredType);
332332
}
333-
else if (opSymbol.Equals(ArithmeticOperators.EXPONENT))
333+
if (opSymbol.Equals(ArithmeticOperators.EXPONENT))
334334
{
335335
//Math.Pow only takes doubles, so the decimal conversion option is null
336-
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, null, (double a, double b) => { return Math.Pow(a, b); }), opProvider.OperatorDeclaredType);
336+
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, null, Math.Pow), opProvider.OperatorDeclaredType);
337337
}
338-
else if (opSymbol.Equals(ArithmeticOperators.MODULO))
338+
if (opSymbol.Equals(ArithmeticOperators.MODULO))
339339
{
340-
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => { return a % b; }, (double a, double b) => { return a % b; }), opProvider.OperatorDeclaredType);
340+
return _valueFactory.CreateValueType(Calculate(effLHS, effRHS, (decimal a, decimal b) => a % b, (double a, double b) => a % b), opProvider.OperatorDeclaredType);
341341
}
342342

343343
//ArithmeticOperators.AMPERSAND
@@ -377,9 +377,9 @@ private string Calculate(IParseTreeValue LHS, IParseTreeValue RHS, Func<decimal,
377377

378378
if (!(DecimalCalc is null) && LHS.TryLetCoerce(out decimal lhsValue) && RHS.TryLetCoerce(out decimal rhsValue))
379379
{
380-
return DecimalCalc(lhsValue, rhsValue).ToString();
380+
return DecimalCalc(lhsValue, rhsValue).ToString(CultureInfo.InvariantCulture);
381381
}
382-
return DoubleCalc(LHS.AsDouble(), RHS.AsDouble()).ToString();
382+
return DoubleCalc(LHS.AsDouble(), RHS.AsDouble()).ToString(CultureInfo.InvariantCulture);
383383
}
384384

385385
private string Compare(IParseTreeValue LHS, IParseTreeValue RHS, Func<decimal, decimal, bool> DecimalCompare, Func<double, double, bool> DoubleCompare)

Rubberduck.CodeAnalysis/Inspections/Concrete/UnreachableCaseInspection/ParseTreeValue.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ public static class ParseTreeValueExtensions
154154
public static bool TryLetCoerce(this IParseTreeValue parseTreeValue, string destinationType, out IParseTreeValue newValue)
155155
{
156156
newValue = null;
157-
if (LetCoerce.TryCoerceToken((parseTreeValue.ValueType, parseTreeValue.Token), destinationType, out string valueText))
157+
if (LetCoerce.TryCoerceToken((parseTreeValue.ValueType, parseTreeValue.Token), destinationType, out var valueText))
158158
{
159159
newValue = ParseTreeValue.CreateValueType(new TypeTokenPair(destinationType, valueText));
160160
return true;

Rubberduck.CodeAnalysis/Inspections/Concrete/UnreachableCaseInspection/TypeTokenPair.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ namespace Rubberduck.Inspections.Concrete.UnreachableCaseInspection
88
{
99
public struct TypeTokenPair
1010
{
11-
public string ValueType { private set; get; }
12-
public string Token { private set; get; }
11+
public string ValueType { get; }
12+
public string Token { get; }
1313

1414
public TypeTokenPair(string valueType, string token)
1515
{

0 commit comments

Comments
 (0)