2 overrides of OriginalDefinition
Microsoft.CodeAnalysis.CSharp (2)
Symbols\ReducedExtensionMethodSymbol.cs (1)
376public override MethodSymbol OriginalDefinition
Symbols\SubstitutedMethodSymbol.cs (1)
142public sealed override MethodSymbol OriginalDefinition
155 references to OriginalDefinition
Microsoft.CodeAnalysis.CSharp (113)
Binder\Binder.ValueChecks.cs (1)
107if (method.OriginalDefinition.TryGetCorrespondingExtensionImplementationMethod() is MethodSymbol implementationMethod)
Binder\Binder_Conversions.cs (4)
889diagnostics.Add(ErrorCode.ERR_ParamsCollectionInfiniteChainOfConstructorCalls, syntax, inProgress, inProgressConstructor.OriginalDefinition); 1903methodWithTargetTypeParameters = method.OriginalDefinition.Construct(allTypeParameters); 2330var isSynthesized = delegateType.DelegateInvokeMethod?.OriginalDefinition is SynthesizedDelegateInvokeMethod; 3039var sourceMethod = selectedMethod.OriginalDefinition as SourceOrdinaryMethodSymbol;
Binder\Binder_Expressions.cs (2)
10478return method.OriginalDefinition is var original && 10543property.GetOwnOrInheritedGetMethod()?.OriginalDefinition is MethodSymbol getMethod &&
Binder\Binder_Lookup.cs (2)
223shadows.OriginalDefinition.TryGetCorrespondingExtensionImplementationMethod() is { } toShadow) 240if (implementationsToShadow is null || !implementationsToShadow.Remove(method.OriginalDefinition))
Binder\Binder_Operators.cs (3)
1694SourceUserDefinedOperatorSymbol.IsSelfConstrainedTypeParameter((definition = signature.Method.OriginalDefinition).ReturnType.StrippedType(), definition.ContainingType)); 1839NamespaceSymbol.AddExtensionContainersInType(signature.Method.OriginalDefinition.ContainingType.ContainingType, extensions); 1855Error(diagnostics, ErrorCode.ERR_MustHaveOpTF, syntax, signature.Method, signature.Method.OriginalDefinition.ContainingType.ContainingType);
Binder\ForEachLoopBinder.cs (1)
1758return moveNextMethodCandidate.OriginalDefinition.ReturnType.SpecialType != SpecialType.System_Boolean;
Binder\Semantics\Conversions\Conversions.cs (1)
60if (methodSymbol.OriginalDefinition is SynthesizedDelegateInvokeMethod invoke)
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (3)
1369var p = op1.Method.OriginalDefinition.GetParameters(); 1386var p = op2.Method.OriginalDefinition.GetParameters(); 1603var method = candidate.Method.OriginalDefinition;
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (9)
259if (x.OriginalDefinition.ContainingType.ContainingType != (object)x.OriginalDefinition.ContainingType.ContainingType) 264var xGroupingKey = new SourceMemberContainerTypeSymbol.ExtensionGroupingKey(x.OriginalDefinition.ContainingType); 265var yGroupingKey = new SourceMemberContainerTypeSymbol.ExtensionGroupingKey(y.OriginalDefinition.ContainingType); 273x.OriginalDefinition.AsMember(xGroupingKey.NormalizedExtension), 274y.OriginalDefinition.AsMember(yGroupingKey.NormalizedExtension)); 281int result = typeComparer.GetHashCode(op.OriginalDefinition.ContainingType.ContainingType); 283var groupingKey = new SourceMemberContainerTypeSymbol.ExtensionGroupingKey(op.OriginalDefinition.ContainingType); 286foreach (var parameter in op.OriginalDefinition.AsMember(groupingKey.NormalizedExtension).Parameters)
BoundTree\Constructors.cs (1)
226hasErrors: method.OriginalDefinition is ErrorMethodSymbol
CodeGen\EmitExpression.cs (4)
2209var originalMethod = method.OriginalDefinition; 2489expression.Constructor.OriginalDefinition == (object)this._module.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__ctor_Array)) || 2491expression.Constructor.OriginalDefinition == (object)this._module.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__ctor_Array_Start_Length))) && 2502var originalDef = constructor.OriginalDefinition;
Compiler\MethodBodySynthesizer.Lowered.cs (3)
243F.CurrentFunction = (MethodSymbol)this.OriginalDefinition; 281F.CurrentFunction = (MethodSymbol)this.OriginalDefinition; 320F.CurrentFunction = this.OriginalDefinition;
Emitter\Model\GenericMethodInstanceReference.cs (1)
45UnderlyingMethod.OriginalDefinition,
Emitter\Model\MethodSymbolAdapter.cs (4)
78var synthesizedGlobalMethod = AdaptedMethodSymbol.OriginalDefinition as SynthesizedGlobalMethodSymbol; 272(MethodSymbol)AdaptedMethodSymbol.OriginalDefinition, 288return ((MethodSymbol)AdaptedMethodSymbol.OriginalDefinition).GetCciAdapter(); 298if (AdaptedMethodSymbol.OriginalDefinition is SynthesizedGlobalMethodSymbol synthesizedGlobalMethod)
Emitter\Model\PEModuleBuilder.cs (1)
1264Debug.Assert(!(methodSymbol.OriginalDefinition is NativeIntegerMethodSymbol));
Emitter\Model\SpecializedMethodReference.cs (1)
35return UnderlyingMethod.OriginalDefinition.GetCciAdapter();
FlowAnalysis\AbstractFlowPass.cs (4)
1384if (node.Method?.OriginalDefinition is LocalFunctionSymbol localFunc) 1517Debug.Assert(method?.OriginalDefinition.MethodKind != MethodKind.LocalFunction); 1623if (node.MethodOpt?.OriginalDefinition is LocalFunctionSymbol localFunc) 1752else if (node.SymbolOpt?.OriginalDefinition is LocalFunctionSymbol localFunc)
FlowAnalysis\NullableWalker.cs (15)
5397NamedTypeSymbol extension = method.OriginalDefinition.ContainingType; 5405method.OriginalDefinition.ParameterTypesWithAnnotations, 5406method.OriginalDefinition.ParameterRefKinds, 5419method = method.OriginalDefinition.AsMember(extension); 6900|| method.OriginalDefinition.Equals(compilation.GetWellKnownTypeMember(WellKnownMember.System_Threading_Interlocked__CompareExchange_T), SymbolEqualityComparer.ConsiderEverything.CompareKind); 6983else if (method.OriginalDefinition == compilation.GetSpecialTypeMember(SpecialMember.System_Nullable_T_get_Value)) 7363if (node is BoundCall { Method: { OriginalDefinition: LocalFunctionSymbol localFunction } }) 9344if (method?.OriginalDefinition is LocalFunctionSymbol localFunc) 10100if (node.MethodOpt?.OriginalDefinition is LocalFunctionSymbol localFunc) 10703if (deconstructMethod.OriginalDefinition != deconstructMethod) 12020NamedTypeSymbol extension = method.OriginalDefinition.ContainingType; 12028method.OriginalDefinition.ParameterTypesWithAnnotations, 12029method.OriginalDefinition.ParameterRefKinds, 12038method = method.OriginalDefinition.AsMember(extension); 12262? getResult.OriginalDefinition.AsMember(taskAwaiterType)
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (1)
230return ((MethodSymbol)method.OriginalDefinition)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (4)
448_methodsConvertedToDelegates.Add(node.Symbol.OriginalDefinition); 456=> VisitNestedFunction(node.Symbol.OriginalDefinition, node.Body); 463AddIfCaptured(node.Method.OriginalDefinition, node.Syntax); 474var method = node.MethodOpt.OriginalDefinition;
Lowering\ClosureConversion\ClosureConversion.cs (2)
864Analysis.GetNestedFunctionInTree(_analysis.ScopeTree, node.Method.OriginalDefinition).SynthesizedLoweredMethod : node.Method; 883var function = Analysis.GetNestedFunctionInTree(_analysis.ScopeTree, localFunc.OriginalDefinition);
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
223if (method?.OriginalDefinition is LocalFunctionSymbol localFunction)
Lowering\ExtensionMethodBodyRewriter.cs (1)
161return ((MethodSymbol)_symbolMap[symbol.OriginalDefinition]).ConstructIfGeneric(TypeMap.SubstituteTypes(symbol.TypeArgumentsWithAnnotations));
Lowering\ExtensionMethodReferenceRewriter.cs (6)
102Debug.Assert(boundCall.Method.OriginalDefinition.TryGetCorrespondingExtensionImplementationMethod() == (object)method.OriginalDefinition); 156method.OriginalDefinition.TryGetCorrespondingExtensionImplementationMethod() is MethodSymbol implementationMethod) 169method.OriginalDefinition.TryGetCorrespondingExtensionImplementationMethod() is null); 217Debug.Assert(node.MethodOpt!.OriginalDefinition.TryGetCorrespondingExtensionImplementationMethod() == (object)methodOpt.OriginalDefinition);
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (2)
162var methodDefinition = method.OriginalDefinition; 170if (member == _factory.TopLevelMethod?.OriginalDefinition)
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
111module.EmbeddedTypesManagerOpt.EmbedMethodIfNeedTo(m.OriginalDefinition.GetCciAdapter(), syntaxNode, _diagnostics.DiagnosticBag);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
127return addMethod.Equals(collectionInitializer.AddMethod.OriginalDefinition);
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
1034method = method.OriginalDefinition;
Lowering\SpillSequenceSpiller.cs (8)
439if (call.Method.OriginalDefinition is SynthesizedInlineArrayFirstElementRefMethod or SynthesizedInlineArrayFirstElementRefReadOnlyMethod) 444else if (call.Method.OriginalDefinition is SynthesizedInlineArrayElementRefMethod or SynthesizedInlineArrayElementRefReadOnlyMethod) 448else if (call.Method.OriginalDefinition == _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_Span_T__get_Item) || 449call.Method.OriginalDefinition == _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__get_Item)) 458else if (call.Method.OriginalDefinition is SynthesizedInlineArrayAsSpanMethod or SynthesizedInlineArrayAsReadOnlySpanMethod) 462else if (call.Method.OriginalDefinition == _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_Span_T__Slice_Int_Int) || 463call.Method.OriginalDefinition == _F.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__Slice_Int_Int)) 484objectCreationExpression.Constructor.OriginalDefinition == _F.Compilation.GetSpecialTypeMember(SpecialMember.System_ReadOnlySpan_T__ctor_Reference))
Lowering\SynthesizedMethodBaseSymbol.cs (1)
190get { return this.TypeMap.SubstituteType(this.BaseMethod.OriginalDefinition.ReturnTypeWithAnnotations); }
Lowering\SyntheticBoundNodeFactory.cs (1)
868type: method.ReturnType, hasErrors: method.OriginalDefinition is ErrorMethodSymbol)
Operations\CSharpOperationFactory.cs (2)
711if (boundObjectCreationExpression.ResultKind == LookupResultKind.OverloadResolutionFailure || constructor.OriginalDefinition is ErrorMethodSymbol) 887if (accessor == null || boundObjectInitializerMember.ResultKind == LookupResultKind.OverloadResolutionFailure || accessor.OriginalDefinition is ErrorMethodSymbol)
Operations\CSharpOperationFactory_Methods.cs (1)
122resultKind == LookupResultKind.OverloadResolutionFailure || targetMethod?.OriginalDefinition is ErrorMethodSymbol;
SymbolDisplay\SymbolDisplayVisitor.Members.cs (1)
504symbol.GetSymbol()?.OriginalDefinition is SourceUserDefinedOperatorSymbolBase sourceUserDefinedOperatorSymbolBase)
Symbols\ConstraintsHelper.cs (2)
873((MethodSymbol)method.OriginalDefinition).TypeParameters, 1613if (ReferenceEquals(method.OriginalDefinition, method))
Symbols\ConstructedMethodSymbol.cs (2)
20map: new TypeMap(constructedFrom.ContainingType, ((MethodSymbol)constructedFrom.OriginalDefinition).TypeParameters, typeArgumentsWithAnnotations), 21originalDefinition: (MethodSymbol)constructedFrom.OriginalDefinition,
Symbols\MethodSymbol.cs (3)
57return this.OriginalDefinition; 500return (MethodSymbol)OverriddenOrHiddenMembersResult.GetOverriddenMember(this, OriginalDefinition.OverriddenMethod); 952return this.OriginalDefinition.GetUseSiteInfo();
Symbols\OverriddenOrHiddenMembersHelpers.cs (1)
971csharpOverriddenMethod.IsDefinition || csharpOverriddenMethod.OriginalDefinition.MethodHasRuntimeCollision();
Symbols\PublicModel\MethodSymbol.cs (1)
161return _underlying.OriginalDefinition.GetPublicSymbol();
Symbols\Retargeting\RetargetingSymbolTranslator.cs (3)
877Debug.Assert(ReferenceEquals(method, method.OriginalDefinition)); 886if (ReferenceEquals(method.ContainingModule, this.UnderlyingModule) && ReferenceEquals(method, method.OriginalDefinition)) 903var retargetedDefinition = Retarget(method.OriginalDefinition, retargetedMethodComparer);
Symbols\Source\SourceMemberContainerSymbol.cs (1)
2198if (method1.OriginalDefinition is SourceMemberMethodSymbol { MethodKind: MethodKind.Constructor } constructor &&
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (1)
1841MethodSymbol implementingMethodOriginalDefinition = implementingMethod.OriginalDefinition;
Symbols\SubstitutedMethodSymbol.cs (2)
436if ((object)this.OriginalDefinition != (object)other.OriginalDefinition && 437this.OriginalDefinition != other.OriginalDefinition)
Symbols\Synthesized\Records\SynthesizedRecordObjectMethod.cs (1)
41var overridden = overriding.OverriddenMethod?.OriginalDefinition;
Symbols\TypeMap.cs (2)
147return WithAlphaRename(oldOwner.OriginalDefinition.TypeParameters, newOwner, out newTypeParameters); 170var currentParameters = oldOwner.OriginalDefinition.TypeParameters;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (4)
CodeGen\CodeGenTupleTest.cs (4)
12851Assert.NotSame(m1ToString, m1ToString.OriginalDefinition); 12853Assert.Equal("System.String (T1, T2).ToString()", m1ToString.OriginalDefinition.ToTestDisplayString()); 13532Assert.NotSame(m9Test, m9Test.OriginalDefinition); 13534Assert.Equal("void (T1, T2).Test<U>(U val)", m9Test.OriginalDefinition.ToTestDisplayString());
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (38)
Symbols\CovariantReturnTests.cs (2)
273if (method.OriginalDefinition is PEMethodSymbol originalMethod && 313if (getMethod.OriginalDefinition is PEMethodSymbol originalMethod &&
Symbols\DefaultInterfaceImplementationTests.cs (3)
213peModule.Module.GetMethodDefPropsOrThrow(((PEMethodSymbol)m1.OriginalDefinition).Handle, out _, out _, out _, out rva); 33077peModule.Module.GetMethodDefPropsOrThrow(((PEMethodSymbol)m1.OriginalDefinition).Handle, out _, out _, out _, out rva); 33906Assert.NotEqual(m1.OriginalDefinition is PEMethodSymbol, m1.IsExtern);
Symbols\Metadata\PE\LoadingMethods.cs (3)
462Assert.Equal(interfaceMethod, substitutedInterfaceMethod.OriginalDefinition); 498Assert.Equal(interfaceMethod, substitutedInterfaceMethod.OriginalDefinition); 741Assert.Equal(interfaceMethod, innerClassImplementingMethod.OriginalDefinition);
Symbols\OverriddenOrHiddenMembersTests.cs (3)
640Assert.Same(baseClassGetHashCode, derivedClassGetHashCode.OverriddenMethod.OriginalDefinition); 3694Assert.Equal("void Validator<T>.DoValidate(T objectToValidate)", doValidateObject.OverriddenMethod.OriginalDefinition.ToTestDisplayString()); 3950Assert.Equal("void Validator<T>.DoValidate(T objectToValidate)", doValidateObject.OverriddenMethod.OriginalDefinition.ToTestDisplayString());
Symbols\Retargeting\RetargetExplicitInterfaceImplementation.cs (3)
403Assert.Same(interfaceV2Method1, retargetedClassC1Method1Impl.OriginalDefinition); 407Assert.Same(interfaceV2Method1, retargetedClassC2Method1Impl.OriginalDefinition); 411Assert.Same(interfaceV2Method1, retargetedClassC3Method1Impl.OriginalDefinition);
Symbols\Source\MethodTests.cs (2)
1825Assert.Equal(substitutedInterfaceMethod.OriginalDefinition, explicitImpl.OriginalDefinition);
Symbols\StaticAbstractMembersInInterfacesTests.cs (22)
16854Assert.Equal("void C1<T>.M01(System.Int32 x)", c1M01.OriginalDefinition.ToTestDisplayString()); 16861if (c1M01.OriginalDefinition.ContainingModule is PEModuleSymbol) 16936Assert.Equal("void C1<T>.M01(T x)", c1M01.OriginalDefinition.ToTestDisplayString()); 16943if (c1M01.OriginalDefinition.ContainingModule is PEModuleSymbol) 17018Assert.Equal("void C1<T>.I1.M01(System.Int32 x)", c1M01.OriginalDefinition.ToTestDisplayString()); 17089Assert.Equal("void C1<T>.I1<T>.M01(T x)", c1M01.OriginalDefinition.ToTestDisplayString()); 17164Assert.Equal(expectedDisplay, c1M01.OriginalDefinition.ToTestDisplayString()); 17171if (c1M01.OriginalDefinition.ContainingModule is PEModuleSymbol) 17251Assert.Equal(expectedDisplay, c1M01.OriginalDefinition.ToTestDisplayString()); 17258if (c1M01.OriginalDefinition.ContainingModule is PEModuleSymbol) 17361Assert.Equal("void C1<T>.M01(T x)", c1M01.OriginalDefinition.ToTestDisplayString()); 17365Assert.Equal("void C1<T>.M01(System.Int32 x)", c1M01.OriginalDefinition.ToTestDisplayString()); 17463Assert.Equal("void C1<T>.M01(T x)", c1M01.OriginalDefinition.ToTestDisplayString()); 17467Assert.Equal("void C1<T>.M01(System.Int32 x)", c1M01.OriginalDefinition.ToTestDisplayString()); 22248Assert.Equal("C1<T, U> C1<T, U>." + opName + "(C1<T, U> x, U y)", c1M01.OriginalDefinition.ToTestDisplayString()); 22255if (c1M01.OriginalDefinition.ContainingModule is PEModuleSymbol) 22357Assert.Equal("C1<T, U> C1<T, U>.I1<C1<T, U>, U>." + opName + "(C1<T, U> x, U y)", c1M01.OriginalDefinition.ToTestDisplayString()); 22460Assert.Equal(expectedDisplay, c1M01.OriginalDefinition.ToTestDisplayString()); 22467if (c1M01.OriginalDefinition.ContainingModule is PEModuleSymbol) 30183Assert.Equal("U C1<T, U>." + opName + "(C1<T, U> x)", c1M01.OriginalDefinition.ToTestDisplayString()); 30190if (c1M01.OriginalDefinition.ContainingModule is PEModuleSymbol) 30289Assert.Equal("U C1<T, U>.I1<C1<T, U>, U>." + opName + "(C1<T, U> x)", c1M01.OriginalDefinition.ToTestDisplayString());