@@ -37,28 +37,26 @@ private bool TryGetValue<T>(CliSymbol symbol, out T? value)
3737 public T ? GetValue < T > ( CliValueSymbol valueSymbol )
3838 => GetValueInternal < T > ( valueSymbol ) ;
3939
40- private T ? GetValueInternal < T > ( CliSymbol ? symbol )
40+ private T ? GetValueInternal < T > ( CliValueSymbol ? valueSymbol )
4141 {
4242 // NOTE: We use the subsystem's TryGetAnnotation here instead of the GetDefaultValue etc
4343 // extension methods, as the subsystem's TryGetAnnotation respects its annotation provider
44- return symbol switch
44+ return valueSymbol switch
4545 {
46- not null when TryGetValue < T > ( symbol , out var value )
46+ { } when TryGetValue < T > ( valueSymbol , out var value )
4747 => value , // It has already been retrieved at least once
48- CliArgument argument when parseResult ? . GetValueResult ( argument ) is { } valueResult // GetValue not used because it would always return a value
49- => UseValue ( symbol , valueResult . GetValue < T > ( ) ) , // Value was supplied during parsing,
50- CliOption option when parseResult ? . GetValueResult ( option ) is { } valueResult // GetValue not used because it would always return a value
51- => UseValue ( symbol , valueResult . GetValue < T > ( ) ) , // Value was supplied during parsing
48+ { } when parseResult ? . GetValueResult ( valueSymbol ) is { } valueResult // GetValue not used because it would always return a value
49+ => UseValue ( valueSymbol , valueResult . GetValue < T > ( ) ) , // Value was supplied during parsing,
5250 // Value was not supplied during parsing, determine default now
5351 // configuration values go here in precedence
5452 //not null when GetDefaultFromEnvironmentVariable<T>(symbol, out var envName)
5553 // => UseValue(symbol, GetEnvByName(envName)),
56- not null when symbol . TryGetAnnotation ( ValueAnnotations . DefaultValueCalculation , out Func < T ? > ? defaultValueCalculation )
57- => UseValue ( symbol , CalculatedDefault < T > ( symbol , ( Func < T ? > ) defaultValueCalculation ) ) ,
58- not null when symbol . TryGetAnnotation ( ValueAnnotations . DefaultValue , out T ? explicitValue )
59- => UseValue ( symbol , explicitValue ) ,
60- null => throw new ArgumentNullException ( nameof ( symbol ) ) ,
61- _ => UseValue ( symbol , default ( T ) )
54+ { } when valueSymbol . TryGetAnnotation ( ValueAnnotations . DefaultValueCalculation , out Func < T ? > ? defaultValueCalculation )
55+ => UseValue ( valueSymbol , CalculatedDefault < T > ( valueSymbol , ( Func < T ? > ) defaultValueCalculation ) ) ,
56+ { } when valueSymbol . TryGetAnnotation ( ValueAnnotations . DefaultValue , out T ? explicitValue )
57+ => UseValue ( valueSymbol , explicitValue ) ,
58+ null => throw new ArgumentNullException ( nameof ( valueSymbol ) ) ,
59+ _ => UseValue ( valueSymbol , default ( T ) )
6260 } ;
6361
6462 TValue ? UseValue < TValue > ( CliSymbol symbol , TValue ? value )
@@ -68,7 +66,7 @@ not null when symbol.TryGetAnnotation(ValueAnnotations.DefaultValue, out T? expl
6866 }
6967 }
7068
71- private static T ? CalculatedDefault < T > ( CliSymbol symbol , Func < T ? > defaultValueCalculation )
69+ private static T ? CalculatedDefault < T > ( CliValueSymbol valueSymbol , Func < T ? > defaultValueCalculation )
7270 {
7371 var objectValue = defaultValueCalculation ( ) ;
7472 var value = objectValue is null
0 commit comments