Class LocalFunction
A local function, defined within the scope of another callable.
For example, Fac
on lines 2–4 in
int Choose(int n, int m) {
int Fac(int x) {
return x > 1 ? x * Fac(x - 1) : 1;
}
return Fac(n) / (Fac(m) * Fac(n - m));
}
Import path
import csharp
Direct supertypes
Indirect supertypes
- @attributable
- @callable
- @declaration
- @dotnet_callable
- @dotnet_declaration
- @dotnet_element
- @dotnet_named_element
- @dotnet_parameterizable
- @element
- @exprorstmt_parent
- @modifiable
- @parameterizable
- Callable
- Declaration
- Declaration
- Element
- Element
- ExprOrStmtParent
- NamedElement
- Parameterizable
- Parameterizable
Known direct subtypes
Predicates
getALocation |
Gets a location of this element, including sources and assemblies. |
getAPrimaryQlClass |
Gets the name of a primary CodeQL class to which this element belongs. |
getEnclosingCallable |
Gets the enclosing callable of this callable, if any. |
getName |
Gets the name of this element. |
getParent |
Gets the parent of this element, if any. |
getRawParameter |
Gets raw parameter |
getReturnType |
Gets the return type of this callable. |
getStatement |
Gets the local function statement defining this function. |
getUnboundDeclaration |
Gets the unbound version of this declaration, that is, the declaration where all type arguments have been removed. For example, in |
getUndecoratedName |
Gets the name of this declaration, without additional decoration such as |
hasQualifiedName |
Holds if this element has the qualified name |
toString |
Inherited predicates
calls |
Holds if |
from Callable |
canReturn |
Holds if this callable can return expression |
from Callable |
canYieldReturn |
Holds if this callable can yield return the expression |
from Callable |
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 |
getACall |
Gets a |
from Callable |
getAChild |
Gets a child of this element, if any. |
from Element |
getAChildExpr |
Gets a child expression of this element, if any. |
from ExprOrStmtParent |
getAChildStmt |
Gets a child statement of this element, if any. |
from ExprOrStmtParent |
getAModifier |
Gets a modifier of this declaration. |
from Modifiable |
getAParameter |
Gets a parameter, if any. |
from Callable |
getARawParameter |
Gets a raw parameter (including the qualifier), if any. |
from Parameterizable |
getAStatementBody |
DEPRECATED: Use |
from Callable |
getAnAttribute |
Gets an attribute attached to this element, if any. |
from Attributable |
getAnnotatedReturnType |
Gets the annotated return type of this callable. |
from Callable |
getBody |
Gets the body of this callable, if any. |
from Callable |
getChild |
Gets the |
from ExprOrStmtParent |
getChildExpr |
Gets the |
from ExprOrStmtParent |
getChildStmt |
Gets the |
from ExprOrStmtParent |
getCyclomaticComplexity |
Gets the number of branching statements ( |
from Callable |
getDeclaringType |
Gets the type containing this declaration, if any. |
from Declaration |
getEntryPoint |
Gets the entry point in the control graph for this callable. |
from Callable |
getExitPoint |
Gets the exit point in the control graph for this callable. |
from Callable |
getExpressionBody |
Gets the expression body of this callable (if any), specified by |
from Callable |
getFile |
Gets the file containing this element. |
from Element |
getIndex |
Gets the index of this element among its parent’s other children (zero-based). |
from Element |
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 |
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 |
getNumberOfChildren |
Gets the number of children of this element. |
from Element |
getNumberOfLines |
Gets the total number of lines in this callable. |
from Callable |
getNumberOfLinesOfCode |
Gets the number of lines containing code in this callable. |
from Callable |
getNumberOfLinesOfComments |
Gets the number of lines containing comments in this callable. |
from Callable |
getNumberOfParameters |
Gets the number of parameters of this callable. |
from Parameterizable |
getParameter |
Gets the |
from Parameterizable |
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 |
from NamedElement |
getQualifiedNameWithTypes |
Gets the fully qualified name of this declaration, including types, for example the fully qualified name with types of |
from Declaration |
getStatementBody |
Gets the statement body of this callable, if any. |
from Callable |
hasBody |
Holds if this callable has a body or an implementation. |
from Callable |
hasExpressionBody |
Holds if this callable has an expression body. |
from Callable |
hasLocationInfo |
Holds if this element is at the specified location. The location spans column |
from Attributable |
hasModifier |
Holds if this declaration has |
from Modifiable |
hasName |
Holds if this element has name ‘name’. |
from NamedElement |
hasNoParameters |
Holds if this declaration has no parameters. |
from Parameterizable |
hasNonEmptyBody |
Holds if this callable has a non-empty body. That is, either it has an expression body, or it has a non-empty statement body. |
from Callable |
hasQualifiedName |
DEPRECATED: Use |
from NamedElement |
hasStatementBody |
Holds if this callable has a statement body. |
from Callable |
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 |
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 |
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 |
matchesHandle |
Holds if |
from NamedElement |
parameterTypesToString |
Gets the types of the parameters of this declaration as a comma-separated string. |
from Parameterizable |
toStringWithTypes |
Gets the full textual representation of this element, including type information. |
from Callable |