71 references to IsOptional
Microsoft.CodeAnalysis.CSharp (12)
Binder\Binder_Await.cs (1)
482
return parameter.
IsOptional
|| parameter.IsParams;
Binder\Binder_Expressions.cs (1)
8298
return !parameter.
IsOptional
&& !parameter.IsParams;
Binder\Binder_InterpolatedString.cs (1)
970
if (parameter.
IsOptional
|| (originalParameterIndex + 1 == parameters.Length && OverloadResolution.IsValidParamsParameter(parameter)))
Binder\Binder_Invocation.cs (1)
1324
Debug.Assert(parameter.
IsOptional
|| !assertMissingParametersAreOptional);
Binder\ForEachLoopBinder.cs (1)
911
if (getEnumeratorMethod?.Parameters[0].
IsOptional
== false)
Binder\Semantics\OverloadResolution\OverloadResolution_ArgsToParameters.cs (1)
395
return !isMethodGroupConversion && parameter.
IsOptional
;
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (2)
500
Debug.Assert(method.Parameters.AsSpan()[1..].All(assertParametersAreOptional, (p, assertOptional) => (p.
IsOptional
|| p.IsParams || !assertOptional) && p.RefKind == RefKind.None));
505
Debug.Assert(!assertParametersAreOptional || method.Parameters.All(p => p.
IsOptional
|| p.IsParams));
Symbols\Attributes\SourceAttributeData.cs (1)
130
Debug.Assert(this.AttributeConstructor.Parameters[parameterIndex].
IsOptional
);
Symbols\ParameterSymbol.cs (2)
182
/// <see cref="
IsOptional
"/> to determine if the parameter will be considered optional by
202
return
IsOptional
&& ExplicitDefaultConstantValue != null;
Symbols\PublicModel\ParameterSymbol.cs (1)
67
bool IParameterSymbol.IsOptional => _underlying.
IsOptional
;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
CodeGen\CodeGenOverridingAndHiding.cs (2)
4113
Assert.False(parameterA.
IsOptional
, "ParameterArray param cannot be optional");
4120
Assert.False(parameterB.
IsOptional
, "ParameterArray param cannot be optional");
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (7)
Attributes\AttributeTests_Conditional.cs (1)
633
Assert.True(paramY.
IsOptional
);
Attributes\AttributeTests_WellKnownAttributes.cs (6)
872
Assert.False(ps[0].
IsOptional
);
902
Assert.False(ps[0].
IsOptional
);
931
Assert.True(ps[0].
IsOptional
);
1020
Assert.True(ps[0].
IsOptional
);
1064
Assert.True(ps[0].
IsOptional
);
9658
Assert.False(param.
IsOptional
);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (34)
Semantics\NamedAndOptionalTests.cs (34)
2052
Assert.False(parameters[0].
IsOptional
);
2058
Assert.True(parameters[1].
IsOptional
);
2064
Assert.True(parameters[2].
IsOptional
);
2070
Assert.True(parameters[3].
IsOptional
);
2076
Assert.False(parameters[4].
IsOptional
);
2083
Assert.False(parameters[5].
IsOptional
);
2090
Assert.True(parameters[6].
IsOptional
);
2096
Assert.True(parameters[7].
IsOptional
);
2134
Assert.False(parameters[0].
IsOptional
);
2140
Assert.True(parameters[1].
IsOptional
);
2146
Assert.True(parameters[2].
IsOptional
);
2185
Assert.False(parameters[0].
IsOptional
);
2191
Assert.True(parameters[1].
IsOptional
);
2197
Assert.True(parameters[2].
IsOptional
);
2203
Assert.True(parameters[3].
IsOptional
);
2209
Assert.False(parameters[4].
IsOptional
);
2216
Assert.True(parameters[5].
IsOptional
);
2222
Assert.False(parameters[6].
IsOptional
);
2229
Assert.True(parameters[7].
IsOptional
);
2268
Assert.False(parameters[0].
IsOptional
);
2274
Assert.True(parameters[1].
IsOptional
);
2280
Assert.True(parameters[2].
IsOptional
);
2286
Assert.True(parameters[3].
IsOptional
);
2292
Assert.False(parameters[4].
IsOptional
);
2299
Assert.False(parameters[5].
IsOptional
);
2306
Assert.True(parameters[6].
IsOptional
);
2312
Assert.True(parameters[7].
IsOptional
);
2350
Assert.False(parameters[0].
IsOptional
);
2356
Assert.True(parameters[1].
IsOptional
);
2362
Assert.True(parameters[2].
IsOptional
);
2368
Assert.False(parameters[3].
IsOptional
);
2375
Assert.False(parameters[4].
IsOptional
);
2382
Assert.True(parameters[5].
IsOptional
);
2388
Assert.True(parameters[6].
IsOptional
);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (16)
Symbols\CompilationCreationTests.cs (2)
2355
Assert.False(x1.
IsOptional
);
2368
Assert.True(x4.
IsOptional
);
Symbols\Metadata\MetadataMemberTests.cs (2)
277
Assert.False(p4.
IsOptional
);
372
Assert.False(p2.
IsOptional
);
Symbols\Metadata\PE\LoadingMethods.cs (4)
117
Assert.False(basicC1_M1.Parameters[0].
IsOptional
);
121
Assert.True(basicC1_M2.Parameters[0].
IsOptional
);
124
Assert.True(basicC1_M3.Parameters[0].
IsOptional
);
127
Assert.True(basicC1_M4.Parameters[0].
IsOptional
);
Symbols\PEParameterSymbolTests.cs (5)
110
Assert.False(x.
IsOptional
);
114
Assert.False(y.
IsOptional
);
118
Assert.True(z.
IsOptional
);
125
Assert.False(x1.
IsOptional
);
132
Assert.True(y2.
IsOptional
);
Symbols\TypeTests.cs (3)
1573
Assert.True(paras[0].
IsOptional
);
1619
Assert.False(paras[0].
IsOptional
);
1620
Assert.True(paras[1].
IsOptional
);