20 overrides of IsExtensionMethod
Microsoft.CodeAnalysis.CSharp (20)
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (1)
80
public override bool
IsExtensionMethod
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.SynthesizedMethodBase.cs (1)
89
public sealed override bool
IsExtensionMethod
Symbols\ErrorMethodSymbol.cs (1)
189
public override bool
IsExtensionMethod
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (1)
821
public override bool
IsExtensionMethod
=> false;
Symbols\Metadata\PE\PEMethodSymbol.cs (1)
965
public override bool
IsExtensionMethod
Symbols\ReducedExtensionMethodSymbol.cs (1)
416
public override bool
IsExtensionMethod
Symbols\SignatureOnlyMethodSymbol.cs (1)
133
public override bool
IsExtensionMethod
{ get { throw ExceptionUtilities.Unreachable(); } }
Symbols\Source\LambdaSymbol.cs (1)
264
public override bool
IsExtensionMethod
Symbols\Source\LocalFunctionSymbol.cs (1)
320
public override bool
IsExtensionMethod
Symbols\Source\SourceMemberMethodSymbol.cs (1)
562
public sealed override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedDelegateSymbol.cs (1)
103
public override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (1)
196
public override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (1)
307
public override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedImplementationMethod.cs (1)
201
public sealed override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (1)
248
public sealed override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedInteractiveInitializerMethod.cs (1)
84
public override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (1)
122
public override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedSealedPropertyAccessor.cs (1)
149
public override bool
IsExtensionMethod
Symbols\Synthesized\SynthesizedStaticConstructor.cs (1)
261
public override bool
IsExtensionMethod
Symbols\Wrapped\WrappedMethodSymbol.cs (1)
69
public override bool
IsExtensionMethod
64 references to IsExtensionMethod
Microsoft.CodeAnalysis.CSharp (64)
Binder\Binder_Await.cs (1)
457
if (getResultMethod.
IsExtensionMethod
|| getResultMethod.GetIsNewExtensionMember())
Binder\Binder_Conversions.cs (1)
2990
if (method.
IsExtensionMethod
)
Binder\Binder_Deconstruct.cs (1)
686
for (int i = (deconstructMethod.
IsExtensionMethod
? 1 : 0); i < parameters.Length; i++)
Binder\Binder_Expressions.cs (2)
8723
if (method.
IsExtensionMethod
11075
bool memberCountsAsStatic = extensionMember is MethodSymbol {
IsExtensionMethod
: true } ? false : extensionMember.IsStatic;
Binder\Binder_Patterns.cs (1)
1061
int skippedExtensionParameters = deconstructMethod?.
IsExtensionMethod
== true ? 1 : 0;
Binder\Binder_Statements.cs (1)
769
if (disposeMethod is not null && (disposeMethod.
IsExtensionMethod
|| disposeMethod.GetIsNewExtensionMember()))
Binder\ForEachLoopBinder.cs (12)
241
if (getEnumeratorMethod.
IsExtensionMethod
)
585
builder.GetEnumeratorInfo.Method.
IsExtensionMethod
||
877
Debug.Assert(!builder.ViaExtensionMethod || builder.GetEnumeratorInfo.Method.
IsExtensionMethod
|| builder.GetEnumeratorInfo.Method.GetIsNewExtensionMember());
924
Debug.Assert(!builder.ViaExtensionMethod || builder.GetEnumeratorInfo.Method.
IsExtensionMethod
|| builder.GetEnumeratorInfo.Method.GetIsNewExtensionMember());
1035
Debug.Assert(!(viaExtensionMethod && builder.GetEnumeratorInfo.Method.
IsExtensionMethod
&& builder.GetEnumeratorInfo.Method.Parameters.IsDefaultOrEmpty));
1036
Debug.Assert(!(viaExtensionMethod && !builder.GetEnumeratorInfo.Method.
IsExtensionMethod
&& !builder.GetEnumeratorInfo.Method.GetIsNewExtensionMember()));
1042
if (builder.GetEnumeratorInfo.Method.
IsExtensionMethod
)
1230
Debug.Assert(!patternDisposeMethod.
IsExtensionMethod
&& !patternDisposeMethod.GetIsNewExtensionMember());
1552
Debug.Assert(result.
IsExtensionMethod
|| result.GetIsNewExtensionMember());
1566
if (result.
IsExtensionMethod
)
1959
Debug.Assert((extensionReceiverOpt != null) == method.
IsExtensionMethod
);
1968
if (method.
IsExtensionMethod
)
Binder\RefSafetyAnalysis.cs (1)
642
if (method.
IsExtensionMethod
)
Binder\Semantics\Conversions\Conversions.cs (2)
333
Debug.Assert(method.
IsExtensionMethod
|| method.GetIsNewExtensionMember());
337
if (method.
IsExtensionMethod
)
Binder\Semantics\OverloadResolution\MethodGroup.cs (1)
54
Debug.Assert(method.
IsExtensionMethod
|| method.GetIsNewExtensionMember());
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
614
if (member is MethodSymbol {
IsExtensionMethod
: true })
Binder\WithUsingNamespacesAndTypesBinder.cs (1)
198
if (!symbol.IsStatic || ((MethodSymbol)symbol).
IsExtensionMethod
) // Tracked by https://github.com/dotnet/roslyn/issues/76130: Test this code path with new extensions
Compilation\CSharpSemanticModel.cs (3)
1670
if (symbol is MethodSymbol {
IsExtensionMethod
: true } extensionMethod)
4792
if (call.InvokedAsExtensionMethod && method.
IsExtensionMethod
&& method.MethodKind != MethodKind.ReducedExtension)
4809
if (delegateCreation.IsExtensionMethod && method.
IsExtensionMethod
&& (receiverOpt != null))
FlowAnalysis\AbstractFlowPass.cs (1)
1644
return method.IsStatic && !method.
IsExtensionMethod
;
FlowAnalysis\NullableWalker.cs (4)
3893
var argIndex = initializer.AddMethod.
IsExtensionMethod
? 1 : 0;
3904
if (!addMethod.
IsExtensionMethod
)
11389
if (enumeratorInfoOpt?.GetEnumeratorInfo is { Method: {
IsExtensionMethod
: true, Parameters: var parameters } } enumeratorMethodInfo) // Tracked by https://github.com/dotnet/roslyn/issues/78828: Test this code path with new extensions
11456
bool reportedDiagnostic = enumeratorInfoOpt?.GetEnumeratorInfo.Method is {
IsExtensionMethod
: true } // Tracked by https://github.com/dotnet/roslyn/issues/78828: Test this code path with new extensions
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
232
if (enumeratorInfo.GetEnumeratorInfo.Method.
IsExtensionMethod
) // Tracked by https://github.com/dotnet/roslyn/issues/78828: Test this code path with new extensions
Lowering\ExtensionMethodReferenceRewriter.cs (8)
174
{ Name: nameof(VisitTypeOfOperator) } => method is { Name: "GetTypeFromHandle",
IsExtensionMethod
: false }, // GetTypeFromHandle cannot be an extension method
175
{ Name: nameof(VisitRefTypeOperator) } => method is { Name: "GetTypeFromHandle",
IsExtensionMethod
: false }, // GetTypeFromHandle cannot be an extension method
176
{ Name: nameof(VisitReadOnlySpanFromArray) } => method is { Name: "op_Implicit",
IsExtensionMethod
: false }, // Conversion operator from array to span cannot be an extension method
179
{ Name: nameof(VisitUnaryOperator) } => !method.
IsExtensionMethod
, // Expression tree context. At the moment an operator cannot be an extension method
180
{ Name: nameof(VisitUserDefinedConditionalLogicalOperator) } => !method.
IsExtensionMethod
, // Expression tree context. At the moment an operator cannot be an extension method
181
{ Name: nameof(VisitCollectionElementInitializer) } => !method.
IsExtensionMethod
, // Expression tree context. At the moment an extension method cannot be used in expression tree here.
182
{ Name: nameof(VisitAwaitableInfo) } => method is { Name: "GetResult",
IsExtensionMethod
: false }, // Cannot be an extension method
235
(!node.Method.
IsExtensionMethod
&& !node.Method.GetIsNewExtensionMember())); // Expression tree context. At the moment an operator cannot be an extension method
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
176
Debug.Assert(method.
IsExtensionMethod
);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
202
var needToReduce = receiverOpt is not (null or BoundTypeExpression) && interceptor.
IsExtensionMethod
; // Tracked by https://github.com/dotnet/roslyn/issues/76130: Test this code path with new extensions
248
if (invokedAsExtensionMethod && interceptor.IsStatic && !interceptor.
IsExtensionMethod
) // Tracked by https://github.com/dotnet/roslyn/issues/76130: Test this code path with new extensions
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
167
if (getEnumeratorInfo.Method.
IsExtensionMethod
)
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (3)
103
Debug.Assert(!elementInitializer.AddMethod.
IsExtensionMethod
);
185
.Skip(addMethod.
IsExtensionMethod
? 1 : 0)
232
Debug.Assert(addMethod.
IsExtensionMethod
);
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (2)
497
if (method.
IsExtensionMethod
)
532
invokedAsExtensionMethod: method.
IsExtensionMethod
);
Operations\CSharpOperationFactory.cs (1)
1947
invokedAsExtensionMethod: info.Method.
IsExtensionMethod
Symbols\MemberSymbolExtensions.cs (1)
271
if (method.
IsExtensionMethod
)
Symbols\MethodSymbol.cs (2)
759
if (!this.
IsExtensionMethod
|| this.MethodKind == MethodKind.ReducedExtension || receiverType.IsVoidType())
774
return (this.
IsExtensionMethod
&& this.MethodKind != MethodKind.ReducedExtension) ? ReducedExtensionMethodSymbol.Create(this) : null;
Symbols\NamedTypeSymbol.cs (1)
353
if (method.
IsExtensionMethod
&&
Symbols\PublicModel\MethodSymbol.cs (1)
313
bool IMethodSymbol.IsExtensionMethod => _underlying.
IsExtensionMethod
;
Symbols\ReducedExtensionMethodSymbol.cs (4)
39
Debug.Assert(method.
IsExtensionMethod
&& method.MethodKind != MethodKind.ReducedExtension);
74
Debug.Assert(method.
IsExtensionMethod
&& method.MethodKind != MethodKind.ReducedExtension);
94
Debug.Assert(reducedFrom.
IsExtensionMethod
);
115
Debug.Assert(method.
IsExtensionMethod
);
Symbols\Source\SourceComplexParameterSymbol.cs (1)
1591
if (addMethods[0].
IsExtensionMethod
|| addMethods[0].GetIsNewExtensionMember()) // No need to check other methods, extensions are never mixed with instance methods
Symbols\Source\SourceMethodSymbol.cs (1)
196
if (target.
IsExtensionMethod
)
Symbols\Wrapped\WrappedMethodSymbol.cs (1)
73
return UnderlyingMethod.
IsExtensionMethod
;