Class Gvn::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.
In this class, type parameters and type arguments are collectively referred to as “arguments”.
Import path
import semmle.code.csharp.Unification
Direct supertypes
Indirect supertypes
Predicates
getArgument | Gets the |
getGenericDeclaringType | Gets the generic containing type, if any. |
getNumberOfArguments | Gets the number of arguments of this type, taking nested types into account. |
getNumberOfArgumentsSelf | Gets the number of arguments of this type, not taking nested types into account. |
getNumberOfDeclaringArguments | Gets the number of arguments of the generic containing type, or 0 if there is no generic containing type. |
toStringNested | Gets a textual representation of this type, taking nested types into account. |
Inherited predicates
containsTypeParameters | Holds if this type contains one or more type parameters. | from Type |
fromLibrary | Holds if this element is from an assembly. | from Element |
fromSource | Holds if this element is from source code. | from Element |
getAChild | Gets a child of this element, if any. | from Type |
getALocation | Gets a location of this element, including sources and assemblies. | from Type |
getAModifier | Gets a modifier of this declaration. | from Modifiable |
getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. | from Element |
getAnAccess | Gets an access to this member. | from Member |
getChild | Gets the | from Type |
getDeclaringType | Gets the type containing this declaration, if any. | from Declaration |
getFile | Gets the file containing this element. | from Element |
getFullyQualifiedName | DEPRECATED: Use | from NamedElement |
getFullyQualifiedNameDebug | INTERNAL: Do not use. | from NamedElement |
getFullyQualifiedNameWithTypes | Gets the fully qualified name of this declaration, including types, for example the fully qualified name with types of | from Declaration |
getIndex | Gets the index of this element among its parent’s other children (zero-based). | from Element |
getLocation | Gets the location of this element. Where an element has locations in source and assemblies, choose the source location. If there are multiple assembly locations, choose only one. | from Element |
getName | Gets the name of this element. | from Type |
getNumberOfChildren | Gets the number of children of this element. | from Element |
getParent | Gets the parent of this element, if any. | from Element |
getPrimaryQlClasses | Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. | from Element |
getUnboundDeclaration | Gets the unbound version of this declaration, that is, the declaration where all type arguments have been removed. For example, in | from Type |
getUndecoratedName | Gets the name of this type without additional syntax such as | from Type |
hasFullyQualifiedName | Holds if this element has the fully qualified name | from Declaration |
hasFullyQualifiedName | Holds if this member has name | from Member |
hasModifier | Holds if this declaration has | from Modifiable |
hasName | Holds if this element has name ‘name’. | from NamedElement |
hasUndecoratedName | Holds if this element has undecorated name ‘name’. | from Declaration |
isAbstract | Holds if this declaration is | from Modifiable |
isAsync | Holds if this declaration is | from Modifiable |
isCompilerGenerated | Holds if this declaration has been generated by the compiler, for example implicit constructors or accessors. | from Declaration |
isConst | Holds if this declaration is | from Modifiable |
isEffectivelyInternal | Holds if this declaration is effectively | from Modifiable |
isEffectivelyPrivate | Holds if this declaration is effectively | from Modifiable |
isEffectivelyPublic | Holds if this declaration is effectively | from Modifiable |
isExtern | Holds if this declaration is | from Modifiable |
isFile | Holds if this declaration is | from Modifiable |
isImplicitlyConvertibleTo | Holds if this type is implicitly convertible to | from Type |
isInternal | Holds if this declaration is | from Modifiable |
isNew | Holds if this declaration has the modifier | from Modifiable |
isPartial | Holds if this declaration is | from Modifiable |
isPrivate | Holds if this declaration is | from Modifiable |
isProtected | Holds if this declaration is | from Modifiable |
isPublic | Holds if this declaration is | from Modifiable |
isRefType | Holds if this type is a reference type, or a type parameter that is a reference type. | from Type |
isRequired | Holds if this declaration has the modifier | from Modifiable |
isSealed | Holds if this declaration is | from Modifiable |
isSourceDeclaration | Holds if this declaration is unconstructed and in source code. | from Declaration |
isStatic | Holds if this declaration is | from Modifiable |
isUnboundDeclaration | Holds if this declaration is unbound. | from Declaration |
isUnsafe | Holds if this declaration is | from Modifiable |
isValueType | Holds if this type is a value type, or a type parameter that is a value type. | from Type |
toString | Gets a textual representation of this element. | from Declaration |
toStringWithTypes | Gets the full textual representation of this element, including type information. | from Element |