2 overrides of OriginalDefinition
Microsoft.CodeAnalysis.CSharp (2)
Symbols\ReducedExtensionMethodSymbol.cs (1)
377
public override MethodSymbol
OriginalDefinition
Symbols\SubstitutedMethodSymbol.cs (1)
143
public sealed override MethodSymbol
OriginalDefinition
160 references to OriginalDefinition
Microsoft.CodeAnalysis.CSharp (118)
Binder\Binder.ValueChecks.cs (1)
106
if (method.
OriginalDefinition
.TryGetCorrespondingExtensionImplementationMethod() is MethodSymbol implementationMethod)
Binder\Binder_Conversions.cs (4)
981
_diagnostics.Add(ErrorCode.ERR_ParamsCollectionInfiniteChainOfConstructorCalls, syntax, inProgress, inProgressConstructor.
OriginalDefinition
);
1514
methodWithTargetTypeParameters = method.
OriginalDefinition
.Construct(allTypeParameters);
2798
var isSynthesized = delegateType.DelegateInvokeMethod?.
OriginalDefinition
is SynthesizedDelegateInvokeMethod;
3520
var sourceMethod = selectedMethod.
OriginalDefinition
as SourceOrdinaryMethodSymbol;
Binder\Binder_Expressions.cs (2)
10758
return method.
OriginalDefinition
is var original &&
10823
property.GetOwnOrInheritedGetMethod()?.
OriginalDefinition
is MethodSymbol getMethod &&
Binder\Binder_Operators.cs (2)
1777
SourceUserDefinedOperatorSymbol.IsSelfConstrainedTypeParameter((definition = signature.Method.
OriginalDefinition
).ReturnType.StrippedType(), definition.ContainingType));
1958
NamedTypeSymbol extensionContainingType = signature.Method.
OriginalDefinition
.ContainingType.ContainingType;
Binder\ForEachLoopBinder.cs (1)
1747
return moveNextMethodCandidate.
OriginalDefinition
.ReturnType.SpecialType != SpecialType.System_Boolean;
Binder\Semantics\Conversions\Conversions.cs (1)
60
if (methodSymbol.
OriginalDefinition
is SynthesizedDelegateInvokeMethod invoke)
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (3)
1377
var p = op1.Method.
OriginalDefinition
.GetParameters();
1394
var p = op2.Method.
OriginalDefinition
.GetParameters();
1605
var method = candidate.Method.
OriginalDefinition
;
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (9)
253
if (x.
OriginalDefinition
.ContainingType.ContainingType != (object)x.
OriginalDefinition
.ContainingType.ContainingType)
258
var xExtension = x.
OriginalDefinition
.ContainingType;
261
var yExtension = y.
OriginalDefinition
.ContainingType;
270
x.
OriginalDefinition
.AsMember(Normalize(xExtension)),
271
y.
OriginalDefinition
.AsMember(Normalize(yExtension)));
288
int result = typeComparer.GetHashCode(op.
OriginalDefinition
.ContainingType.ContainingType);
290
var extension = op.
OriginalDefinition
.ContainingType;
295
foreach (var parameter in op.
OriginalDefinition
.AsMember(Normalize(extension)).Parameters)
BoundTree\BoundExpressionExtensions.cs (1)
146
delegateType is { DelegateInvokeMethod.
OriginalDefinition
: SynthesizedDelegateInvokeMethod { RefKind: RefKind.RefReadOnly } })
BoundTree\Constructors.cs (2)
140
Debug.Assert(method.
OriginalDefinition
is ErrorMethodSymbol);
233
hasErrors: method.
OriginalDefinition
is ErrorMethodSymbol
CodeGen\EmitExpression.cs (4)
2220
var originalMethod = method.
OriginalDefinition
;
2500
expression.Constructor.
OriginalDefinition
== (object)this._module.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__ctor_Array)) ||
2502
expression.Constructor.
OriginalDefinition
== (object)this._module.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__ctor_Array_Start_Length))) &&
2513
var originalDef = constructor.
OriginalDefinition
;
Compiler\MethodBodySynthesizer.Lowered.cs (3)
243
F.CurrentFunction = (MethodSymbol)this.
OriginalDefinition
;
281
F.CurrentFunction = (MethodSymbol)this.
OriginalDefinition
;
320
F.CurrentFunction = this.
OriginalDefinition
;
Emitter\Model\GenericMethodInstanceReference.cs (1)
45
UnderlyingMethod.
OriginalDefinition
,
Emitter\Model\MethodSymbolAdapter.cs (4)
78
var synthesizedGlobalMethod = AdaptedMethodSymbol.
OriginalDefinition
as SynthesizedGlobalMethodSymbol;
282
(MethodSymbol)AdaptedMethodSymbol.
OriginalDefinition
,
298
return ((MethodSymbol)AdaptedMethodSymbol.
OriginalDefinition
).GetCciAdapter();
308
if (AdaptedMethodSymbol.
OriginalDefinition
is SynthesizedGlobalMethodSymbol synthesizedGlobalMethod)
Emitter\Model\PEModuleBuilder.cs (1)
1416
Debug.Assert(!(methodSymbol.
OriginalDefinition
is NativeIntegerMethodSymbol));
Emitter\Model\SpecializedMethodReference.cs (1)
35
return UnderlyingMethod.
OriginalDefinition
.GetCciAdapter();
FlowAnalysis\AbstractFlowPass.cs (4)
1384
if (node.Method?.
OriginalDefinition
is LocalFunctionSymbol localFunc)
1518
Debug.Assert(method?.
OriginalDefinition
.MethodKind != MethodKind.LocalFunction);
1624
if (node.MethodOpt?.
OriginalDefinition
is LocalFunctionSymbol localFunc)
1751
else if (node.SymbolOpt?.
OriginalDefinition
is LocalFunctionSymbol localFunc)
FlowAnalysis\NullableWalker.cs (15)
5606
NamedTypeSymbol extension = method.
OriginalDefinition
.ContainingType;
5614
method.
OriginalDefinition
.ParameterTypesWithAnnotations,
5615
method.
OriginalDefinition
.ParameterRefKinds,
5628
method = method.
OriginalDefinition
.AsMember(extension);
7157
|| method.
OriginalDefinition
.Equals(compilation.GetWellKnownTypeMember(WellKnownMember.System_Threading_Interlocked__CompareExchange_T), SymbolEqualityComparer.ConsiderEverything.CompareKind);
7240
else if (method.
OriginalDefinition
== compilation.GetSpecialTypeMember(SpecialMember.System_Nullable_T_get_Value))
7613
if (node is BoundCall { Method: {
OriginalDefinition
: LocalFunctionSymbol localFunction } })
9651
if (method?.
OriginalDefinition
is LocalFunctionSymbol localFunc)
10406
if (node.MethodOpt?.
OriginalDefinition
is LocalFunctionSymbol localFunc)
11007
if (deconstructMethod.
OriginalDefinition
!= deconstructMethod)
12343
NamedTypeSymbol extension = method.
OriginalDefinition
.ContainingType;
12351
method.
OriginalDefinition
.ParameterTypesWithAnnotations,
12352
method.
OriginalDefinition
.ParameterRefKinds,
12361
method = method.
OriginalDefinition
.AsMember(extension);
12585
? getResult.
OriginalDefinition
.AsMember(taskAwaiterType)
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (1)
280
return ((MethodSymbol)method.
OriginalDefinition
)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (4)
448
_methodsConvertedToDelegates.Add(node.Symbol.
OriginalDefinition
);
456
=> VisitNestedFunction(node.Symbol.
OriginalDefinition
, node.Body);
463
AddIfCaptured(node.Method.
OriginalDefinition
, node.Syntax);
474
var method = node.MethodOpt.
OriginalDefinition
;
Lowering\ClosureConversion\ClosureConversion.cs (2)
864
Analysis.GetNestedFunctionInTree(_analysis.ScopeTree, node.Method.
OriginalDefinition
).SynthesizedLoweredMethod : node.Method;
883
var function = Analysis.GetNestedFunctionInTree(_analysis.ScopeTree, localFunc.
OriginalDefinition
);
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
223
if (method?.
OriginalDefinition
is LocalFunctionSymbol localFunction)
Lowering\ExtensionMethodBodyRewriter.cs (1)
162
return ((MethodSymbol)_symbolMap[symbol.
OriginalDefinition
]).ConstructIfGeneric(TypeMap.SubstituteTypes(symbol.TypeArgumentsWithAnnotations));
Lowering\ExtensionMethodReferenceRewriter.cs (6)
102
Debug.Assert(boundCall.Method.
OriginalDefinition
.TryGetCorrespondingExtensionImplementationMethod() == (object)method.
OriginalDefinition
);
156
method.
OriginalDefinition
.TryGetCorrespondingExtensionImplementationMethod() is MethodSymbol implementationMethod)
169
method.
OriginalDefinition
.TryGetCorrespondingExtensionImplementationMethod() is null);
221
Debug.Assert(node.MethodOpt!.
OriginalDefinition
.TryGetCorrespondingExtensionImplementationMethod() == (object)methodOpt.
OriginalDefinition
);
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (2)
162
var methodDefinition = method.
OriginalDefinition
;
170
if (member == _factory.TopLevelMethod?.
OriginalDefinition
)
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
111
module.EmbeddedTypesManagerOpt.EmbedMethodIfNeedTo(m.
OriginalDefinition
.GetCciAdapter(), syntaxNode, _diagnostics.DiagnosticBag);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
137
return addMethod.Equals(collectionInitializer.AddMethod.
OriginalDefinition
);
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
1070
method = method.
OriginalDefinition
;
Lowering\SpillSequenceSpiller.cs (8)
439
if (call.Method.
OriginalDefinition
is SynthesizedInlineArrayFirstElementRefMethod or SynthesizedInlineArrayFirstElementRefReadOnlyMethod)
444
else if (call.Method.
OriginalDefinition
is SynthesizedInlineArrayElementRefMethod or SynthesizedInlineArrayElementRefReadOnlyMethod)
448
else if (call.Method.
OriginalDefinition
== _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_Span_T__get_Item) ||
449
call.Method.
OriginalDefinition
== _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__get_Item))
458
else if (call.Method.
OriginalDefinition
is SynthesizedInlineArrayAsSpanMethod or SynthesizedInlineArrayAsReadOnlySpanMethod)
462
else if (call.Method.
OriginalDefinition
== _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_Span_T__Slice_Int_Int) ||
463
call.Method.
OriginalDefinition
== _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__Slice_Int_Int))
484
objectCreationExpression.Constructor.
OriginalDefinition
== _F.Compilation.GetSpecialTypeMember(SpecialMember.System_ReadOnlySpan_T__ctor_Reference))
Lowering\SynthesizedMethodBaseSymbol.cs (2)
193
get { return this.TypeMap.SubstituteType(this.BaseMethod.
OriginalDefinition
.ReturnTypeWithAnnotations); }
198
get { return this.TypeMap.SubstituteCustomModifiers(this.BaseMethod.
OriginalDefinition
.RefCustomModifiers); }
Lowering\SyntheticBoundNodeFactory.cs (1)
884
type: method.ReturnType, hasErrors: method.
OriginalDefinition
is ErrorMethodSymbol)
Operations\CSharpOperationFactory.cs (2)
709
=> boundObjectCreationExpression is { ResultKind: not LookupResultKind.OverloadResolutionFailure, Constructor.
OriginalDefinition
: not ErrorMethodSymbol };
902
if (accessor == null || boundObjectInitializerMember.ResultKind == LookupResultKind.OverloadResolutionFailure || accessor.
OriginalDefinition
is ErrorMethodSymbol)
Operations\CSharpOperationFactory_Methods.cs (1)
122
resultKind == LookupResultKind.OverloadResolutionFailure || targetMethod?.
OriginalDefinition
is ErrorMethodSymbol;
SymbolDisplay\SymbolDisplayVisitor.Members.cs (1)
504
symbol.GetSymbol()?.
OriginalDefinition
is SourceUserDefinedOperatorSymbolBase sourceUserDefinedOperatorSymbolBase)
Symbols\ConstraintsHelper.cs (2)
871
((MethodSymbol)method.
OriginalDefinition
).TypeParameters,
1611
if (ReferenceEquals(method.
OriginalDefinition
, method))
Symbols\ConstructedMethodSymbol.cs (2)
20
map: new TypeMap(constructedFrom.ContainingType, ((MethodSymbol)constructedFrom.
OriginalDefinition
).TypeParameters, typeArgumentsWithAnnotations),
21
originalDefinition: (MethodSymbol)constructedFrom.
OriginalDefinition
,
Symbols\MemberSymbolExtensions.cs (1)
98
return member is { ContainingSymbol: NamedTypeSymbol { IsExtension: true },
OriginalDefinition
: not SynthesizedExtensionMarker };
Symbols\MethodSymbol.cs (3)
57
return this.
OriginalDefinition
;
504
return (MethodSymbol)OverriddenOrHiddenMembersResult.GetOverriddenMember(this,
OriginalDefinition
.OverriddenMethod);
958
return this.
OriginalDefinition
.GetUseSiteInfo();
Symbols\NamedTypeSymbol.cs (2)
372
if (implementationsToShadow is null || !implementationsToShadow.Remove(method.
OriginalDefinition
))
465
shadows.
OriginalDefinition
.TryGetCorrespondingExtensionImplementationMethod() is { } toShadow)
Symbols\OverriddenOrHiddenMembersHelpers.cs (1)
971
csharpOverriddenMethod.IsDefinition || csharpOverriddenMethod.
OriginalDefinition
.MethodHasRuntimeCollision();
Symbols\PublicModel\MethodSymbol.cs (2)
162
return _underlying.
OriginalDefinition
.GetPublicSymbol();
359
var implDefinition = _underlying.
OriginalDefinition
.TryGetCorrespondingExtensionImplementationMethod();
Symbols\Retargeting\RetargetingSymbolTranslator.cs (3)
877
Debug.Assert(ReferenceEquals(method, method.
OriginalDefinition
));
886
if (ReferenceEquals(method.ContainingModule, this.UnderlyingModule) && ReferenceEquals(method, method.
OriginalDefinition
))
903
var retargetedDefinition = Retarget(method.
OriginalDefinition
, retargetedMethodComparer);
Symbols\Source\SourceMemberContainerSymbol.cs (1)
2211
if (method1.
OriginalDefinition
is SourceMemberMethodSymbol { MethodKind: MethodKind.Constructor } constructor &&
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (1)
1856
MethodSymbol implementingMethodOriginalDefinition = implementingMethod.
OriginalDefinition
;
Symbols\SubstitutedMethodSymbol.cs (2)
441
if ((object)this.OriginalDefinition != (object)other.
OriginalDefinition
&&
442
this.OriginalDefinition != other.
OriginalDefinition
)
Symbols\Synthesized\Records\SynthesizedRecordObjectMethod.cs (1)
41
var overridden = overriding.OverriddenMethod?.
OriginalDefinition
;
Symbols\Synthesized\SynthesizedEmbeddedExtensionMarkerNameAttributeSymbol.cs (1)
146
F.CurrentFunction = this.
OriginalDefinition
;
Symbols\TypeMap.cs (2)
148
return WithAlphaRename(oldOwner.
OriginalDefinition
.TypeParameters, newOwner, propagateAttributes: propagateAttributes, out newTypeParameters);
171
var currentParameters = oldOwner.
OriginalDefinition
.TypeParameters;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (4)
CodeGen\CodeGenTupleTest.cs (4)
12851
Assert.NotSame(m1ToString, m1ToString.
OriginalDefinition
);
12853
Assert.Equal("System.String (T1, T2).ToString()", m1ToString.
OriginalDefinition
.ToTestDisplayString());
13532
Assert.NotSame(m9Test, m9Test.
OriginalDefinition
);
13534
Assert.Equal("void (T1, T2).Test<U>(U val)", m9Test.
OriginalDefinition
.ToTestDisplayString());
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (38)
Symbols\CovariantReturnTests.cs (2)
273
if (method.
OriginalDefinition
is PEMethodSymbol originalMethod &&
313
if (getMethod.
OriginalDefinition
is PEMethodSymbol originalMethod &&
Symbols\DefaultInterfaceImplementationTests.cs (3)
216
peModule.Module.GetMethodDefPropsOrThrow(((PEMethodSymbol)m1.
OriginalDefinition
).Handle, out _, out _, out _, out rva);
33088
peModule.Module.GetMethodDefPropsOrThrow(((PEMethodSymbol)m1.
OriginalDefinition
).Handle, out _, out _, out _, out rva);
33917
Assert.NotEqual(m1.
OriginalDefinition
is PEMethodSymbol, m1.IsExtern);
Symbols\Metadata\PE\LoadingMethods.cs (3)
462
Assert.Equal(interfaceMethod, substitutedInterfaceMethod.
OriginalDefinition
);
498
Assert.Equal(interfaceMethod, substitutedInterfaceMethod.
OriginalDefinition
);
741
Assert.Equal(interfaceMethod, innerClassImplementingMethod.
OriginalDefinition
);
Symbols\OverriddenOrHiddenMembersTests.cs (3)
640
Assert.Same(baseClassGetHashCode, derivedClassGetHashCode.OverriddenMethod.
OriginalDefinition
);
3694
Assert.Equal("void Validator<T>.DoValidate(T objectToValidate)", doValidateObject.OverriddenMethod.
OriginalDefinition
.ToTestDisplayString());
3950
Assert.Equal("void Validator<T>.DoValidate(T objectToValidate)", doValidateObject.OverriddenMethod.
OriginalDefinition
.ToTestDisplayString());
Symbols\Retargeting\RetargetExplicitInterfaceImplementation.cs (3)
403
Assert.Same(interfaceV2Method1, retargetedClassC1Method1Impl.
OriginalDefinition
);
407
Assert.Same(interfaceV2Method1, retargetedClassC2Method1Impl.
OriginalDefinition
);
411
Assert.Same(interfaceV2Method1, retargetedClassC3Method1Impl.
OriginalDefinition
);
Symbols\Source\MethodTests.cs (2)
1825
Assert.Equal(substitutedInterfaceMethod.
OriginalDefinition
, explicitImpl.
OriginalDefinition
);
Symbols\StaticAbstractMembersInInterfacesTests.cs (22)
16776
Assert.Equal("void C1<T>.M01(System.Int32 x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
16783
if (c1M01.
OriginalDefinition
.ContainingModule is PEModuleSymbol)
16858
Assert.Equal("void C1<T>.M01(T x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
16865
if (c1M01.
OriginalDefinition
.ContainingModule is PEModuleSymbol)
16940
Assert.Equal("void C1<T>.I1.M01(System.Int32 x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
17011
Assert.Equal("void C1<T>.I1<T>.M01(T x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
17086
Assert.Equal(expectedDisplay, c1M01.
OriginalDefinition
.ToTestDisplayString());
17093
if (c1M01.
OriginalDefinition
.ContainingModule is PEModuleSymbol)
17173
Assert.Equal(expectedDisplay, c1M01.
OriginalDefinition
.ToTestDisplayString());
17180
if (c1M01.
OriginalDefinition
.ContainingModule is PEModuleSymbol)
17283
Assert.Equal("void C1<T>.M01(T x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
17287
Assert.Equal("void C1<T>.M01(System.Int32 x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
17385
Assert.Equal("void C1<T>.M01(T x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
17389
Assert.Equal("void C1<T>.M01(System.Int32 x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
22170
Assert.Equal("C1<T, U> C1<T, U>." + opName + "(C1<T, U> x, U y)", c1M01.
OriginalDefinition
.ToTestDisplayString());
22177
if (c1M01.
OriginalDefinition
.ContainingModule is PEModuleSymbol)
22279
Assert.Equal("C1<T, U> C1<T, U>.I1<C1<T, U>, U>." + opName + "(C1<T, U> x, U y)", c1M01.
OriginalDefinition
.ToTestDisplayString());
22382
Assert.Equal(expectedDisplay, c1M01.
OriginalDefinition
.ToTestDisplayString());
22389
if (c1M01.
OriginalDefinition
.ContainingModule is PEModuleSymbol)
30105
Assert.Equal("U C1<T, U>." + opName + "(C1<T, U> x)", c1M01.
OriginalDefinition
.ToTestDisplayString());
30112
if (c1M01.
OriginalDefinition
.ContainingModule is PEModuleSymbol)
30211
Assert.Equal("U C1<T, U>.I1<C1<T, U>, U>." + opName + "(C1<T, U> x)", c1M01.
OriginalDefinition
.ToTestDisplayString());