/// <summary> /// Normalizes the <paramref name="initializer" />. /// </summary> public override SyntaxNode VisitEqualsValueClause(EqualsValueClauseSyntax initializer) { var typeInfo = SemanticModel.GetTypeInfo(initializer.Value); if (typeInfo.Type == null || typeInfo.Type.Equals(typeInfo.ConvertedType)) return base.VisitEqualsValueClause(initializer); var convertedType = DetermineType(typeInfo.ConvertedType); if (convertedType == ExpressionType.Other) return base.VisitEqualsValueClause(initializer); return initializer.WithValue(CreateInvocation(convertedType, initializer.Value)); }
/// <summary> /// Normalizes the <paramref name="initializer" />. /// </summary> public override SyntaxNode VisitEqualsValueClause(EqualsValueClauseSyntax initializer) { var typeInfo = SemanticModel.GetTypeInfo(initializer.Value); if (typeInfo.Type == null || typeInfo.Type.Equals(typeInfo.ConvertedType)) return base.VisitEqualsValueClause(initializer); if (!IsFormulaType(typeInfo.ConvertedType)) return base.VisitEqualsValueClause(initializer); return initializer.WithValue(CreateInvocation(initializer.Value)); }