Module Gvn
INTERNAL: Do not use.
Provides an implementation of Global Value Numbering for types (see https://en.wikipedia.org/wiki/Global_value_numbering), where types are considered equal modulo identity conversions and type parameters.
Import path
import semmle.code.csharp.Unification
Imports
Predicates
getNameNested | Gets the name of type |
getTypeKind | Gets the type kind for type |
Classes
CompoundTypeKind | A type kind for a compound type. |
ConstructedGvnType | |
GenericType | A generic type. This is either a type with a type parameter, a type with a type argument, or a nested type with a generic enclosing type. |
GvnType | A global value number for a type. Two types have the same GVN when they are structurally equal modulo type parameters and identity conversions. For example, |
TypeParameterGvnType |