Skip to content

Commit b67280b

Browse files
Merge branch 'feature/v4.0' into develop
2 parents d3299a2 + 5371b2e commit b67280b

38 files changed

+580
-717
lines changed

Sources/LambdaConverters.Wpf/Annotations/LambdaConverters.Annotations.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package>
33
<metadata>
44
<id>LambdaConverters.Annotations</id>
5-
<version>3.0.0</version>
5+
<version>4.0.0</version>
66
<title>Lambda Converters Annotations</title>
77
<authors>Michael Damatov</authors>
88
<description>Annotations for the Lambda Converters</description>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<assembly name="LambdaConverters.Wpf, Version=4.0.0.0">
2+
<member name="M:LambdaConverters.MultiValueConverter.Create``2(System.Func{LambdaConverters.MultiValueConverterArgs{``0},``1},System.Func{LambdaConverters.ValueConverterArgs{``1},System.Collections.Generic.IEnumerable{``0}},LambdaConverters.ConverterErrorStrategy)">
3+
<attribute ctor="M:JetBrains.Annotations.PureAttribute.#ctor" />
4+
</member>
5+
<member name="M:LambdaConverters.MultiValueConverter.Create``3(System.Func{LambdaConverters.MultiValueConverterArgs{``0,``2},``1},System.Func{LambdaConverters.ValueConverterArgs{``1,``2},System.Collections.Generic.IEnumerable{``0}},LambdaConverters.ConverterErrorStrategy)">
6+
<attribute ctor="M:JetBrains.Annotations.PureAttribute.#ctor" />
7+
</member>
8+
<member name="M:LambdaConverters.TemplateSelector.Create``1(System.Func{LambdaConverters.TemplateSelectorArgs{``0},System.Windows.DataTemplate},LambdaConverters.SelectorErrorStrategy)">
9+
<attribute ctor="M:JetBrains.Annotations.PureAttribute.#ctor" />
10+
</member>
11+
<member name="M:LambdaConverters.Validator.Create``1(System.Func{LambdaConverters.ValidationRuleArgs{``0},System.Windows.Controls.ValidationResult},LambdaConverters.RuleErrorStrategy)">
12+
<attribute ctor="M:JetBrains.Annotations.PureAttribute.#ctor" />
13+
</member>
14+
<member name="M:LambdaConverters.ValueConverter.Create``2(System.Func{LambdaConverters.ValueConverterArgs{``0},``1},System.Func{LambdaConverters.ValueConverterArgs{``1},``0},LambdaConverters.ConverterErrorStrategy)">
15+
<attribute ctor="M:JetBrains.Annotations.PureAttribute.#ctor" />
16+
</member>
17+
<member name="M:LambdaConverters.ValueConverter.Create``3(System.Func{LambdaConverters.ValueConverterArgs{``0,``2},``1},System.Func{LambdaConverters.ValueConverterArgs{``1,``2},``0},LambdaConverters.ConverterErrorStrategy)">
18+
<attribute ctor="M:JetBrains.Annotations.PureAttribute.#ctor" />
19+
</member>
20+
</assembly>

Sources/LambdaConverters.Wpf/Converter.cs

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ namespace LambdaConverters
77
{
88
internal abstract class Converter
99
{
10-
internal Converter(
10+
protected Converter(
1111
ConverterErrorStrategy errorStrategy,
12-
object defaultInputTypeValue,
13-
object defaultOutputTypeValue,
14-
[NotNull] Type inputType,
15-
[NotNull] Type outputType,
12+
object? defaultInputTypeValue,
13+
object? defaultOutputTypeValue,
14+
Type inputType,
15+
Type outputType,
1616
bool isConvertFunctionAvailable,
1717
bool isConvertBackFunctionAvailable)
1818
{
@@ -27,37 +27,26 @@ internal Converter(
2727

2828
internal ConverterErrorStrategy ErrorStrategy { get; }
2929

30-
internal object DefaultInputTypeValue { get; }
30+
internal object? DefaultInputTypeValue { get; }
3131

32-
internal object DefaultOutputTypeValue { get; }
32+
internal object? DefaultOutputTypeValue { get; }
3333

34-
[NotNull]
3534
internal Type InputType { get; }
3635

37-
[NotNull]
3836
internal Type OutputType { get; }
3937

4038
internal bool IsConvertFunctionAvailable { get; }
4139

4240
internal bool IsConvertBackFunctionAvailable { get; }
4341

4442
[Pure]
45-
internal object GetErrorValue(object defaultValue)
46-
{
47-
switch (ErrorStrategy)
43+
internal object? GetErrorValue(object? defaultValue)
44+
=> ErrorStrategy switch
4845
{
49-
case ConverterErrorStrategy.ReturnDefaultValue:
50-
return defaultValue;
51-
52-
case ConverterErrorStrategy.UseFallbackOrDefaultValue:
53-
return DependencyProperty.UnsetValue;
54-
55-
case ConverterErrorStrategy.DoNothing:
56-
return Binding.DoNothing;
57-
58-
default:
59-
throw new NotSupportedException();
60-
}
61-
}
46+
ConverterErrorStrategy.ReturnDefaultValue => defaultValue,
47+
ConverterErrorStrategy.UseFallbackOrDefaultValue => DependencyProperty.UnsetValue,
48+
ConverterErrorStrategy.DoNothing => Binding.DoNothing,
49+
_ => throw new NotSupportedException()
50+
};
6251
}
6352
}

Sources/LambdaConverters.Wpf/EventSource.cs

Lines changed: 38 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public static class Keywords
1616
public const EventKeywords Rules = (EventKeywords)0x10;
1717
}
1818

19-
[JetBrains.Annotations.NotNull]
2019
public static readonly EventSource Log = new EventSource();
2120

2221
EventSource() { }
@@ -39,8 +38,8 @@ public static class Keywords
3938
public void MissingConvertFunction(
4039
string callback,
4140
string errorStrategy,
42-
[CallerMemberName] string memberName = null,
43-
[CallerFilePath] string sourceFilePath = null,
41+
[CallerMemberName] string? memberName = null,
42+
[CallerFilePath] string? sourceFilePath = null,
4443
[CallerLineNumber] int sourceLineNumber = 0)
4544
=>
4645
WriteEvent(
@@ -69,8 +68,8 @@ public void MissingConvertFunction(
6968
public void MissingConvertBackFunction(
7069
string callback,
7170
string errorStrategy,
72-
[CallerMemberName] string memberName = null,
73-
[CallerFilePath] string sourceFilePath = null,
71+
[CallerMemberName] string? memberName = null,
72+
[CallerFilePath] string? sourceFilePath = null,
7473
[CallerLineNumber] int sourceLineNumber = 0)
7574
=>
7675
WriteEvent(
@@ -100,8 +99,8 @@ public void NonAssignableTargetType(
10099
string targetType,
101100
string outputType,
102101
string errorStrategy,
103-
[CallerMemberName] string memberName = null,
104-
[CallerFilePath] string sourceFilePath = null,
102+
[CallerMemberName] string? memberName = null,
103+
[CallerFilePath] string? sourceFilePath = null,
105104
[CallerLineNumber] int sourceLineNumber = 0)
106105
=>
107106
WriteEvent(
@@ -132,8 +131,8 @@ public void NonAssignableTargetTypeForBackConversion(
132131
string targetType,
133132
string inputType,
134133
string errorStrategy,
135-
[CallerMemberName] string memberName = null,
136-
[CallerFilePath] string sourceFilePath = null,
134+
[CallerMemberName] string? memberName = null,
135+
[CallerFilePath] string? sourceFilePath = null,
137136
[CallerLineNumber] int sourceLineNumber = 0)
138137
=>
139138
WriteEvent(
@@ -165,8 +164,8 @@ public void NonAssignableTargetTypeAtPositionForBackConversion(
165164
int position,
166165
string inputType,
167166
string errorStrategy,
168-
[CallerMemberName] string memberName = null,
169-
[CallerFilePath] string sourceFilePath = null,
167+
[CallerMemberName] string? memberName = null,
168+
[CallerFilePath] string? sourceFilePath = null,
170169
[CallerLineNumber] int sourceLineNumber = 0)
171170
=>
172171
WriteEvent(
@@ -196,8 +195,8 @@ public void NonAssignableTargetTypeAtPositionForBackConversion(
196195
)]
197196
public void NullValues(
198197
string errorStrategy,
199-
[CallerMemberName] string memberName = null,
200-
[CallerFilePath] string sourceFilePath = null,
198+
[CallerMemberName] string? memberName = null,
199+
[CallerFilePath] string? sourceFilePath = null,
201200
[CallerLineNumber] int sourceLineNumber = 0)
202201
=>
203202
WriteEvent(
@@ -223,8 +222,8 @@ public void NullValues(
223222
#endif
224223
)]
225224
public void NonRequestedTargetType(
226-
[CallerMemberName] string memberName = null,
227-
[CallerFilePath] string sourceFilePath = null,
225+
[CallerMemberName] string? memberName = null,
226+
[CallerFilePath] string? sourceFilePath = null,
228227
[CallerLineNumber] int sourceLineNumber = 0)
229228
=>
230229
WriteEvent(
@@ -250,8 +249,8 @@ public void NonRequestedTargetType(
250249
)]
251250
public void NonRequestedTargetTypeAtPosition(
252251
int position,
253-
[CallerMemberName] string memberName = null,
254-
[CallerFilePath] string sourceFilePath = null,
252+
[CallerMemberName] string? memberName = null,
253+
[CallerFilePath] string? sourceFilePath = null,
255254
[CallerLineNumber] int sourceLineNumber = 0)
256255
=>
257256
WriteEvent(
@@ -279,8 +278,8 @@ public void NonRequestedTargetTypeAtPosition(
279278
public void ParameterInParameterlessConverter(
280279
string objectType,
281280
string errorStrategy,
282-
[CallerMemberName] string memberName = null,
283-
[CallerFilePath] string sourceFilePath = null,
281+
[CallerMemberName] string? memberName = null,
282+
[CallerFilePath] string? sourceFilePath = null,
284283
[CallerLineNumber] int sourceLineNumber = 0)
285284
=>
286285
WriteEvent(
@@ -309,8 +308,8 @@ public void ParameterInParameterlessConverter(
309308
public void ParameterInParameterlessConverterForBackConversion(
310309
string objectType,
311310
string errorStrategy,
312-
[CallerMemberName] string memberName = null,
313-
[CallerFilePath] string sourceFilePath = null,
311+
[CallerMemberName] string? memberName = null,
312+
[CallerFilePath] string? sourceFilePath = null,
314313
[CallerLineNumber] int sourceLineNumber = 0)
315314
=>
316315
WriteEvent(
@@ -340,8 +339,8 @@ public void UnableToCastToInputType(
340339
string objectType,
341340
string inputType,
342341
string errorStrategy,
343-
[CallerMemberName] string memberName = null,
344-
[CallerFilePath] string sourceFilePath = null,
342+
[CallerMemberName] string? memberName = null,
343+
[CallerFilePath] string? sourceFilePath = null,
345344
[CallerLineNumber] int sourceLineNumber = 0)
346345
=>
347346
WriteEvent(
@@ -373,8 +372,8 @@ public void UnableToCastAtPositionToInputType(
373372
int position,
374373
string inputType,
375374
string errorStrategy,
376-
[CallerMemberName] string memberName = null,
377-
[CallerFilePath] string sourceFilePath = null,
375+
[CallerMemberName] string? memberName = null,
376+
[CallerFilePath] string? sourceFilePath = null,
378377
[CallerLineNumber] int sourceLineNumber = 0)
379378
=>
380379
WriteEvent(
@@ -406,8 +405,8 @@ public void UnableToCastToOutputType(
406405
string objectType,
407406
string outputType,
408407
string errorStrategy,
409-
[CallerMemberName] string memberName = null,
410-
[CallerFilePath] string sourceFilePath = null,
408+
[CallerMemberName] string? memberName = null,
409+
[CallerFilePath] string? sourceFilePath = null,
411410
[CallerLineNumber] int sourceLineNumber = 0)
412411
=>
413412
WriteEvent(
@@ -438,8 +437,8 @@ public void UnableToCastToParameterType(
438437
string objectType,
439438
string parameter,
440439
string errorStrategy,
441-
[CallerMemberName] string memberName = null,
442-
[CallerFilePath] string sourceFilePath = null,
440+
[CallerMemberName] string? memberName = null,
441+
[CallerFilePath] string? sourceFilePath = null,
443442
[CallerLineNumber] int sourceLineNumber = 0)
444443
=>
445444
WriteEvent(
@@ -470,8 +469,8 @@ public void UnableToCastToParameterTypeForBackConversion(
470469
string objectType,
471470
string parameter,
472471
string errorStrategy,
473-
[CallerMemberName] string memberName = null,
474-
[CallerFilePath] string sourceFilePath = null,
472+
[CallerMemberName] string? memberName = null,
473+
[CallerFilePath] string? sourceFilePath = null,
475474
[CallerLineNumber] int sourceLineNumber = 0)
476475
=>
477476
WriteEvent(
@@ -501,8 +500,8 @@ public void UnableToCastToParameterTypeForBackConversion(
501500
public void MissingSelectTemplateFunction(
502501
string callback,
503502
string errorStrategy,
504-
[CallerMemberName] string memberName = null,
505-
[CallerFilePath] string sourceFilePath = null,
503+
[CallerMemberName] string? memberName = null,
504+
[CallerFilePath] string? sourceFilePath = null,
506505
[CallerLineNumber] int sourceLineNumber = 0)
507506
=>
508507
WriteEvent(
@@ -532,8 +531,8 @@ public void UnableToCastToItemType(
532531
string itemType,
533532
string inputType,
534533
string errorStrategy,
535-
[CallerMemberName] string memberName = null,
536-
[CallerFilePath] string sourceFilePath = null,
534+
[CallerMemberName] string? memberName = null,
535+
[CallerFilePath] string? sourceFilePath = null,
537536
[CallerLineNumber] int sourceLineNumber = 0)
538537
=>
539538
WriteEvent(
@@ -563,8 +562,8 @@ public void UnableToCastToItemType(
563562
public void MissingRuleFunction(
564563
string callback,
565564
string errorStrategy,
566-
[CallerMemberName] string memberName = null,
567-
[CallerFilePath] string sourceFilePath = null,
565+
[CallerMemberName] string? memberName = null,
566+
[CallerFilePath] string? sourceFilePath = null,
568567
[CallerLineNumber] int sourceLineNumber = 0)
569568
=>
570569
WriteEvent(
@@ -594,8 +593,8 @@ public void UnableToCastToRuleInputType(
594593
string itemType,
595594
string inputType,
596595
string errorStrategy,
597-
[CallerMemberName] string memberName = null,
598-
[CallerFilePath] string sourceFilePath = null,
596+
[CallerMemberName] string? memberName = null,
597+
[CallerFilePath] string? sourceFilePath = null,
599598
[CallerLineNumber] int sourceLineNumber = 0)
600599
=>
601600
WriteEvent(

0 commit comments

Comments
 (0)