31 references to Implementation
Microsoft.DotNet.ApiCompat.Core (31)
Rules\Compat\AttributeDifference.cs (3)
135$"Attribute '{type.FullName()}' exists on {errString} in the {Implementation} but not the {Contract}.")); 151$"Attribute '{type.FullName()}' on {errString} changed from '{contractKey}' in the {Contract} to '{implementationKey}' in the {Implementation}."); 165$"Attribute '{type.FullName()}' exists on {errString} in the {Contract} but not the {Implementation}.");
Rules\Compat\CannotAddAbstractMembers.cs (1)
28differences.AddIncompatibleDifference(this, impl.GetMemberViolationMessage("Member", $"is abstract in the {Implementation}", $"is missing in the {Contract}"));
Rules\Compat\CannotAddAttributes.cs (1)
108$"Attribute '{attribName}' exists in the {Contract} but not the {Implementation}.");
Rules\Compat\CannotMakeAbstract.cs (2)
19differences.AddIncompatibleDifference("CannotMakeMemberAbstract", impl.GetMemberViolationMessage("Member", $"is abstract in the {Implementation}", $"is not abstract in the {Contract}")); 34$"Type '{impl.FullName()}' is abstract in the {Implementation} but is not abstract in the {Contract}.");
Rules\Compat\CannotMakeMoreVisible.cs (2)
29$"Visibility of member '{impl.FullName()}' is '{impl.GetVisibilityName()}' in the {Implementation} but '{contract.GetVisibilityName()}' in the {Contract}."); 52$"Visibility of type '{impl.FullName()}' is '{impl.GetVisibilityName()}' in the {Implementation} but '{contract.GetVisibilityName()}' in the {Contract}.");
Rules\Compat\CannotMakeNonVirtual.cs (1)
35differences.AddIncompatibleDifference("CannotMakeMemberNonVirtual", impl.GetMemberViolationMessage("Member", $"is non-virtual in the {Implementation}", $"is virtual in the {Contract}"));
Rules\Compat\CannotRemoveBaseTypeOrInterface.cs (2)
45$"Type '{contract.FullName()}' does not inherit from base type '{contractBaseType.FullName()}' in the {Implementation} but it does in the {Contract}."); 67$"Type '{contract.FullName()}' does not implement interface '{contractInterface.FullName()}' in the {Implementation} but it does in the {Contract}.");
Rules\Compat\CannotRemoveGenerics.cs (2)
55$"Variance on generic parameter '{implParam.FullName()}' for '{target.FullName()}' is '{implParam.Variance}' in the {Implementation} but '{contractParam.Variance}' in the {Contract}."); 64$"Constraints for generic parameter '{implParam.FullName()}' for '{target.FullName()}' is '{implConstraints}' in the {Implementation} but '{contractConstraints}' in the {Contract}.");
Rules\Compat\CannotSealType.cs (1)
20$"Type '{impl.FullName()}' is {(impl.IsSealed ? "actually (has the sealed modifier)" : "effectively (has a private constructor)")} sealed in the {Implementation} but not sealed in the {Contract}.");
Rules\Compat\DelegatesMustMatch.cs (3)
50$"Return type on delegate '{implMethod.ContainingType.FullName()}' is '{implReturnType.FullName()}' in the {Implementation} but '{contractReturnType.FullName()}' in the {Contract}."); 75$"Parameter name on delegate '{implMethod.ContainingType.FullName()}' is '{implParam.Name.Value}' in the {Implementation} but '{contractParam.Name.Value}' in the {Contract}."); 82$"Type for parameter '{implParam.Name.Value}' on delegate '{implMethod.ContainingType.FullName()}' is '{implParam.Type.FullName()}' in the {Implementation} but '{contractParam.Type.FullName()}' in the {Contract}.");
Rules\Compat\EnumTypesMustMatch.cs (1)
31$"Enum type for '{impl.FullName()}' is '{implType.FullName()}' in {Implementation} but '{contractType.FullName()}' in the {Contract}.");
Rules\Compat\EnumValuesMustMatch.cs (1)
37$"Enum value '{implField.FullName()}' is ({implValType.FullName()}){implField.Constant.Value} in the {Implementation} but ({contractValType.FullName()}){contractField.Constant.Value} in the {Contract}.");
Rules\Compat\InterfacesShouldHaveSameMembers.cs (2)
26differences.AddIncompatibleDifference(this, contract.GetMemberViolationMessage($"{GetNameOfInterfaceMemberType(contract)}", $"is present in the {Contract}", $"not in the {Implementation}")); 35differences.AddIncompatibleDifference(this, impl.GetMemberViolationMessage($"{GetNameOfInterfaceMemberType(impl)}", $"is present in the {Implementation}", $"not in the {Contract}"));
Rules\Compat\MembersMustExist.cs (1)
32string incompatibleDifferenceMessage = contractMember.GetMemberViolationMessage("Member", $"does not exist in the {Implementation}", $"it does exist in the {Contract}");
Rules\Compat\ParameterModifiersCannotChange.cs (3)
59$"Modifiers on parameter '{implParam.Name.Value}' on method '{implMethod.FullName()}' are '{GetModifier(implParam)}' in the {Implementation} but '{GetModifier(contractParam)}' in the {Contract}."); 71$"Custom modifiers on parameter '{implParam.Name.Value}' on method '{implMethod.FullName()}' are '{PrintCustomModifiers(implParam.CustomModifiers)}' in the {Implementation} but '{PrintCustomModifiers(contractParam.CustomModifiers)}' in the {Contract}."); 83$"Modifiers on return type of method '{implMethod.FullName()}' are '{implReturnModifier}' in the {Implementation} but '{contractReturnModifier}' in the {Contract}.");
Rules\Compat\ParameterNamesCannotChange.cs (1)
48$"Parameter name on member '{implMethod.FullName()}' is '{implParam.Name.Value}' in the {Implementation} but '{contractParam.Name.Value}' in the {Contract}.");
Rules\Compat\TypeCannotChangeClassification.cs (2)
23$"Type '{impl.FullName()}' is a '{implObjType}' in the {Implementation} but is a '{contractObjType}' in the {Contract}."); 31$"Type '{impl.FullName()}' is marked as readonly in the {Contract} so it must also be marked readonly in the {Implementation}.");
Rules\Compat\TypesMustAlwaysImplementIDisposable.cs (1)
20$"Type '{impl.FullName()}' implements IDisposable in the {Implementation} but not the {Contract}.");
Rules\Compat\TypesMustExist.cs (1)
18$"Type '{contract.FullName()}' does not exist in the {Implementation} but it does exist in the {Contract}.");