| File: IVTConclusion.cs | Web Access |
| Project: src\roslyn\src\Compilers\Core\Portable\Microsoft.CodeAnalysis.csproj (Microsoft.CodeAnalysis) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.Immutable; namespace Microsoft.CodeAnalysis { /// <summary> /// The result of <see cref="ISymbolExtensions.PerformIVTCheck(AssemblyIdentity, ImmutableArray{byte}, ImmutableArray{byte})"/> /// </summary> internal enum IVTConclusion { /// <summary> /// This indicates that friend access should be granted. /// </summary> Match, /// <summary> /// This indicates that friend access should be granted for the purposes of error recovery, /// but the program is wrong. /// /// That's because this indicates that a strong-named assembly has referred to a weak-named assembly /// which has extended friend access to the strong-named assembly. This will ultimately /// result in an error because strong-named assemblies may not refer to weak-named assemblies. /// In Roslyn we give a new error, CS7029, before emit time. In the dev10 compiler we error at /// emit time. /// </summary> OneSignedOneNot, /// <summary> /// This indicates that friend access should not be granted because the other assembly grants /// friend access to a strong-named assembly, and either this assembly is weak-named, or /// it is strong-named and the names don't match. /// </summary> PublicKeyDoesntMatch, /// <summary> /// This indicates that friend access should not be granted because the other assembly /// does not name this assembly as a friend in any way whatsoever. /// </summary> NoRelationshipClaimed } }