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)
191
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)
135
public override bool
IsExtensionMethod
{ get { throw ExceptionUtilities.Unreachable(); } }
Symbols\Source\LambdaSymbol.cs (1)
265
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)
309
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
104 references to IsExtensionMethod
Microsoft.CodeAnalysis.CSharp (63)
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)
8732
if (method.
IsExtensionMethod
11084
bool memberCountsAsStatic = extensionMember is MethodSymbol {
IsExtensionMethod
: true } ? false : extensionMember.IsStatic;
Binder\Binder_Patterns.cs (1)
1062
int skippedExtensionParameters = deconstructMethod?.
IsExtensionMethod
== true ? 1 : 0;
Binder\Binder_Statements.cs (1)
769
if (disposeMethod is not null && (disposeMethod.
IsExtensionMethod
|| disposeMethod.GetIsNewExtensionMember()))
Binder\Binder_Symbols.cs (1)
1577
if (symbol is MethodSymbol {
IsExtensionMethod
: true } extensionMethod)
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)
1671
if (symbol is MethodSymbol {
IsExtensionMethod
: true } extensionMethod)
4793
if (call.InvokedAsExtensionMethod && method.
IsExtensionMethod
&& method.MethodKind != MethodKind.ReducedExtension)
4810
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
)
11589
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
11656
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 (6)
177
{ Name: nameof(VisitTypeOfOperator) } => method is { Name: "GetTypeFromHandle",
IsExtensionMethod
: false }, // GetTypeFromHandle cannot be an extension method
178
{ Name: nameof(VisitRefTypeOperator) } => method is { Name: "GetTypeFromHandle",
IsExtensionMethod
: false }, // GetTypeFromHandle cannot be an extension method
179
{ Name: nameof(VisitReadOnlySpanFromArray) } => method is { Name: "op_Implicit",
IsExtensionMethod
: false }, // Conversion operator from array to span cannot be an extension method
182
{ Name: nameof(VisitUserDefinedConditionalLogicalOperator) } => !method.
IsExtensionMethod
, // Expression tree context. At the moment an operator cannot be an extension method
183
{ Name: nameof(VisitCollectionElementInitializer) } => !method.
IsExtensionMethod
, // Expression tree context. At the moment an extension method cannot be used in expression tree here.
184
{ Name: nameof(VisitAwaitableInfo) } => method is { Name: "GetResult",
IsExtensionMethod
: false }, // Cannot be an extension method
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
176
Debug.Assert(method.
IsExtensionMethod
);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
214
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
263
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)
168
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)
761
if (!this.
IsExtensionMethod
|| this.MethodKind == MethodKind.ReducedExtension || receiverType.IsVoidType())
776
return (this.
IsExtensionMethod
&& this.MethodKind != MethodKind.ReducedExtension) ? ReducedExtensionMethodSymbol.Create(this) : null;
Symbols\NamedTypeSymbol.cs (1)
357
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)
1592
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
;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
Emit\EmitMetadataTests.cs (2)
612
Assert.False(ctor.
IsExtensionMethod
);
633
Assert.False(cctor.
IsExtensionMethod
);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (14)
Semantics\ExtensionOperatorsTests.cs (9)
452
Assert.False(method.
IsExtensionMethod
);
491
Assert.False(method.
IsExtensionMethod
);
532
Assert.False(method.
IsExtensionMethod
);
4542
Assert.False(method.
IsExtensionMethod
);
4578
Assert.False(method.
IsExtensionMethod
);
4589
Assert.False(method.
IsExtensionMethod
);
11193
Assert.False(method.
IsExtensionMethod
);
11265
Assert.False(method.
IsExtensionMethod
);
20051
Assert.False(method.
IsExtensionMethod
);
Semantics\ExtensionTests.cs (5)
4990
Assert.True(implementation.
IsExtensionMethod
);
6445
Assert.True(implementation.
IsExtensionMethod
);
7920
Assert.False(implementation.
IsExtensionMethod
);
9426
Assert.False(implementation.
IsExtensionMethod
);
9715
Assert.False(implementation.
IsExtensionMethod
);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (23)
DocumentationComments\CrefTests.cs (1)
1358
Single(m => m.
IsExtensionMethod
);
Symbols\ExtensionMethodTests.cs (20)
41
Assert.False(method.
IsExtensionMethod
);
47
Assert.True(method.
IsExtensionMethod
);
53
Assert.True(method.
IsExtensionMethod
);
124
Assert.False(method.
IsExtensionMethod
);
130
Assert.False(method.
IsExtensionMethod
);
138
Assert.False(method.
IsExtensionMethod
);
144
Assert.False(method.
IsExtensionMethod
);
150
Assert.False(method.
IsExtensionMethod
);
2698
Assert.True(nonGenericExtension.
IsExtensionMethod
);
2701
Assert.True(genericExtension.
IsExtensionMethod
);
2798
Assert.True(extensionMethod.
IsExtensionMethod
);
2801
Assert.True(reduced.
IsExtensionMethod
);
2808
Assert.True(reduced.
IsExtensionMethod
);
2846
Assert.True(extensionMethod.
IsExtensionMethod
);
2869
Assert.True(extensionMethod.
IsExtensionMethod
);
4032
Assert.True(method.
IsExtensionMethod
);
4038
Assert.True(method.
IsExtensionMethod
);
4062
Assert.True(method.
IsExtensionMethod
);
4068
Assert.True(method.
IsExtensionMethod
);
4092
Assert.True(extensionMethod.
IsExtensionMethod
);
Symbols\Metadata\MetadataMemberTests.cs (1)
170
Assert.False(ctor.
IsExtensionMethod
);
Symbols\Retargeting\RetargetCustomModifiers.cs (1)
198
Assert.False(m1.
IsExtensionMethod
);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (2)
FunctionPointerUtilities.cs (2)
66
Assert.False(symbol.
IsExtensionMethod
);
74
Assert.False(symbol.
IsExtensionMethod
);