CodeQL library for C#
codeql/csharp-all 0.9.1 (changelog, source)
Search

Class Unification::UnconstrainedTypeParameter

A type parameter that is compatible with any type.

Import path

import semmle.code.csharp.Unification

Direct supertypes

Indirect supertypes

Inherited predicates

compiledFromSource

Holds if this element was compiled from source code that is also present in the database. That is, this element corresponds to another element from source.

from NamedElement
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 TypeParameter
getASuppliedType

Gets a type that was supplied for this parameter.

from TypeParameter
getAnAccess

Gets an access to this member.

from Member
getAnUltimatelySuppliedType

Gets a non-type-parameter type that was transitively supplied for this parameter.

from TypeParameter
getChild

Gets the ith child of this element (zero-based).

from Type
getConstraints

Gets the constraints on this type parameter, if any.

from TypeParameter
getDeclaringGeneric

Gets the generic type or method declaring this type parameter.

from TypeParameter
getDeclaringType

Gets the type containing this declaration, if any.

from Declaration
getFile

Gets the file containing this element.

from Element
getFullyQualifiedName

DEPRECATED: Use hasFullyQualifiedName instead.

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 M on line 3 is N.C.M(int, string) in

from Declaration
getGeneric

Gets the generic that defines this type parameter.

from TypeParameter
getIndex

Gets the index of this type parameter. For example the index of U in Func<T,U> is 1.

from TypeParameter
getLabel

Gets a unique string label for this element.

from TypeParameter
getLanguage

Gets the “language” of this program element, as defined by the extension of the filename. For example, C# has language “cs”, and Visual Basic has language “vb”.

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 [] or *.

from TypeParameter
hasFullyQualifiedName

Holds if this element has the fully qualified name qualifier.name.

from Declaration
hasFullyQualifiedName

Holds if this member has name name and is defined in type type with namespace namespace.

from Member
hasModifier

Holds if this declaration has name as a modifier.

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 abstract.

from Modifiable
isAsync

Holds if this declaration is async.

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 const.

from Modifiable
isEffectivelyInternal

Holds if this declaration is effectively internal. A declaration is considered effectively internal if it can only be referenced from the declaring assembly.

from Modifiable
isEffectivelyPrivate

Holds if this declaration is effectively private. A declaration is considered effectively private if it can only be referenced from - the declaring and its nested types, similarly to private declarations, and - the enclosing types.

from Modifiable
isEffectivelyPublic

Holds if this declaration is effectively public, meaning that it can be referenced outside the declaring assembly.

from Modifiable
isExtern

Holds if this declaration is extern.

from Modifiable
isFile

Holds if this declaration is file local.

from Modifiable
isImplicitlyConvertibleTo

Holds if this type is implicitly convertible to that type.

from Type
isIn

Holds if this type parameter is contravariant.

from TypeParameter
isInternal

Holds if this declaration is internal.

from Modifiable
isNew

Holds if this declaration has the modifier new.

from Modifiable
isOut

Holds if this type parameter is covariant.

from TypeParameter
isPartial

Holds if this declaration is partial.

from Modifiable
isPrivate

Holds if this declaration is private.

from Modifiable
isProtected

Holds if this declaration is protected.

from Modifiable
isPublic

Holds if this declaration is public.

from Modifiable
isRefType

Holds if this type is a reference type, or a type parameter that is a reference type.

from TypeParameter
isRequired

Holds if this declaration has the modifier required.

from Modifiable
isSealed

Holds if this declaration is sealed.

from Modifiable
isSourceDeclaration

Holds if this declaration is unconstructed and in source code.

from Declaration
isStatic

Holds if this declaration is static.

from Modifiable
isUnboundDeclaration

Holds if this declaration is unbound.

from Declaration
isUnsafe

Holds if this declaration is unsafe.

from Modifiable
isValueType

Holds if this type is a value type, or a type parameter that is a value type.

from TypeParameter
matchesHandle

Holds if other has the same metadata handle in the same assembly.

from NamedElement
toString

Gets a textual representation of this element.

from Declaration
toStringWithTypes

Gets the full textual representation of this element, including type information.

from Element

Charpred