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

Class Method

A method, which corresponds to any callable in C#, including constructors, destructors, operators, accessors and so on.

Import path

import semmle.code.cil.Method

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

canReturn

Holds if this callable can return expression e.

getACallee

Gets a method called by this method.

getALocation

Gets a location of this element, which can include locations in both DLLs and source files.

getAnImplementation

Gets a method implementation, if any. Note that there can be several implementations in different assemblies.

getAnOverrider

Gets a method that overrides this method, if any.

getCallPopCount

Gets the number of stack items popped in a call to this method.

getCallPushCount

Gets the number of stack items pushed in a call to this method.

getDeclaringType

Gets the type containing this declaration, if any.

getImplementation

Gets the “best” implementation of this method, if any.

getLocation
getMethod

Gets the method that contains this dataflow node.

getName

Gets the name of this element.

getOverriddenMethod

Gets a method that is overridden, either in a base class or in an interface.

getParameter

Gets the ith parameter, excluding the this parameter.

getReturnType

Gets the return type of this method.

getType

Gets the type of this data flow node.

getUnboundDeclaration

Gets the unbound version of this declaration, that is, the declaration where all type arguments have been removed. For example, in

getUnboundMethod

Gets the unbound declaration of this method, or the method itself.

getUndecoratedName

Gets the name of this declaration, without additional decoration such as <...>.

hasBody

Holds if this callable has a body or an implementation.

isAdder

Holds if this method is an adder/add event accessor.

isConstructor

Holds if this method is a constructor (static or instance).

isConversion

Holds if this method is a conversion operator.

isExplicitConversion

Holds if this method is an explicit conversion operator.

isFinalizer

Holds if this method is a destructor/finalizer.

isGetter

Holds if this method is a getter.

isImplicitConversion

Holds if this method is an implicit conversion operator.

isInstanceConstructor

Holds if this method is an instance constructor.

isNew

Holds if the method does not override an existing method.

isOperator

Holds if this method is an operator.

isRemove

Holds if this method is a remover/remove event accessor.

isSecureObject

Holds of this method is marked as secure.

isSetter

Holds if this method is a setter.

isSpecial

Holds if the name of this method is special, for example an operator.

isStatic

Holds if this member is static.

isStaticConstructor

Holds if this method is a static class constructor.

isVirtual

Holds if this method is virtual.

returnsVoid

Holds if the return type is void.

toString

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
fromLibrary

Holds if this element is from an assembly.

from Element
fromSource

Holds if this element is from source code.

from Element
getAParameter

Gets a parameter, if any.

from Parameterizable
getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this element belongs.

from Element
getARawParameter

Gets a raw parameter (including the qualifier), if any.

from Parameterizable
getAnAttribute

Gets an attribute (for example [Obsolete]) of this declaration, if any.

from Declaration
getCSharpDeclaration

Gets the C# declaration corresponding to this CIL declaration, if any. Note that this is only for source/unconstructed declarations.

from Declaration
getFile

Gets the file containing this element.

from Element
getFullyQualifiedName

Gets the fully qualified name of this element, for example the fully qualified name of M on line 3 is N.C.M in

from NamedElement
getLabel

Gets a unique string label for this element.

from Callable
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
getNumberOfParameters

Gets the number of parameters of this callable.

from Parameterizable
getParent

Gets the parent of this type container, if any.

from TypeContainer
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Element
getQualifiedName

Gets the fully qualified name of this element, for example the fully qualified name of M on line 3 is N.C.M in

from NamedElement
getRawParameter

Gets raw parameter i, including the this parameter at index 0.

from Parameterizable
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
hasName

Holds if this element has name ‘name’.

from NamedElement
hasNoParameters

Holds if this declaration has no parameters.

from Parameterizable
hasOptionalCustomModifier

Holds if this targeted type has modifier applied as modopt.

from CustomModifierReceiver
hasQualifiedName

DEPRECATED: Use hasFullyQualifiedName instead.

from Declaration
hasQualifiedName

DEPRECATED: Use hasFullyQualifiedName instead.

from Member
hasRequiredCustomModifier

Holds if this targeted type has modifier applied as modreq.

from CustomModifierReceiver
hasSecurity

Holds if this member has a security attribute.

from Member
hasUndecoratedName

Holds if this element has undecorated name ‘name’.

from Declaration
isAbstract

Holds if this member is abstract.

from Member
isFile

Holds if this member is declared file local.

from Member
isInternal

Holds if this member is internal.

from Member
isPrivate

Holds if this member is private.

from Member
isProtected

Holds if this member is declared protected.

from Member
isPublic

Holds if this member is declared public.

from Member
isRequired

Holds if this member is declared required.

from Member
isSealed

Holds if this member is sealed.

from Member
isUnboundDeclaration

Holds if this declaration is unbound.

from Declaration
matchesHandle

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

from NamedElement
toStringWithTypes

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

from TypeContainer