### Restify::FormatterSetup::getAFormatterHandler
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/frameworks/Restify.qll/predicate.Restify%24Restify%24FormatterSetup%24getAFormatterHandler.0.html
Gets the formatter handler installed by this setup.
```APIDOC
## Restify::FormatterSetup::getAFormatterHandler
### Description
Gets the formatter handler installed by this setup.
### Signature
`FunctionNode getAFormatterHandler()`
```
--------------------------------
### Example Package Name
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Expr.qll/type.Expr%24PackageName.html
Demonstrates a simple package name.
```Go
fmt
```
--------------------------------
### Routing::getRouteSetupNode
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/Routing.qll/predicate.Routing%24Routing%24getRouteSetupNode.1.html
Gets the routing node corresponding to the route installed at the given route setup. This is not generally the same as `getNode(call)`, since the route setup method can return a value that does not correspond to the route that was just installed. Typically this occurs when the route setup method is chainable and returns the router itself.
```APIDOC
## Predicate: getRouteSetupNode
### Description
Gets the routing node corresponding to the route installed at the given route setup. This is not generally the same as `getNode(call)`, since the route setup method can return a value that does not correspond to the route that was just installed. Typically this occurs when the route setup method is chainable and returns the router itself.
### Import path
`import javascript`
### Signature
`Node getRouteSetupNode(Node call)`
```
--------------------------------
### File Instance Example
Source: https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/frameworks/Files.qll/type.Files%24File%24FileInstance.html
Demonstrates the creation and usage of a File instance. This example highlights typical operations like opening a file and reading its content.
```ruby
f = File.new("foo.txt")
puts f.read()
```
--------------------------------
### Afero Initialization Example
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/frameworks/Afero.qll/type.Afero%24Afero%24AdditionalTaintStep.html
Illustrates initializing an Afero instance with a safe filesystem type, such as `osFS` wrapped by `NewBasePathFs`. This is a common scenario where `Afero::AdditionalTaintStep` is relevant.
```go
n2 := &afero.Afero{Fs: afero.NewBasePathFs(osFS, "./")}
```
--------------------------------
### TypedefType::stripTopLevelSpecifiers
Source: https://codeql.github.com/codeql-standard-libraries/cpp/semmle/code/cpp/TypedefType.qll/predicate.TypedefType%24TypedefType%24stripTopLevelSpecifiers.0.html
Gets this type after any top-level specifiers and typedefs have been stripped. For example, starting with `const i64* const`, this predicate will return `const i64*`.
```APIDOC
## TypedefType::stripTopLevelSpecifiers
### Description
Gets this type after any top-level specifiers and typedefs have been stripped. For example, starting with `const i64* const`, this predicate will return `const i64*`.
### Signature
`Type stripTopLevelSpecifiers()`
```
--------------------------------
### NetHttpRequest Examples
Source: https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/frameworks/http_clients/NetHttp.qll/type.NetHttp%24NetHttpRequest.html
Demonstrates common ways to initiate HTTP requests using Net::HTTP, including one-off requests and connection reuse.
```ruby
# one-off request
Net::HTTP.get("http://example.com/")
Net::HTTP.post("http://example.com/", "some_data")
req = Net::HTTP.new("example.com")
response = req.get("/")
# connection re-use
Net::HTTP.start("http://example.com") do |http|
http.get("/")
end
```
--------------------------------
### TypeofType::stripTopLevelSpecifiers
Source: https://codeql.github.com/codeql-standard-libraries/cpp/semmle/code/cpp/Type.qll/predicate.Type%24TypeofType%24stripTopLevelSpecifiers.0.html
Gets this type after any top-level specifiers and typedefs have been stripped. For example, starting with `const i64* const`, this predicate will return `const i64*`.
```APIDOC
## Predicate: TypeofType::stripTopLevelSpecifiers
### Description
Gets this type after any top-level specifiers and typedefs have been stripped.
### Example
Starting with `const i64* const`, this predicate will return `const i64*`.
### Signature
`Type stripTopLevelSpecifiers()`
```
--------------------------------
### Type::stripTopLevelSpecifiers
Source: https://codeql.github.com/codeql-standard-libraries/cpp/semmle/code/cpp/Type.qll/predicate.Type%24Type%24stripTopLevelSpecifiers.0.html
Gets this type after any top-level specifiers and typedefs have been stripped. For example, starting with `const i64* const`, this predicate will return `const i64*`.
```APIDOC
## Type::stripTopLevelSpecifiers
### Description
Gets this type after any top-level specifiers and typedefs have been stripped.
For example, starting with `const i64* const`, this predicate will return `const i64*`.
### Signature
`Type stripTopLevelSpecifiers()`
```
--------------------------------
### Generic Function Instantiation Examples
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Expr.qll/type.Expr%24GenericFunctionInstantiationExpr.html
Illustrates the syntax for instantiating generic functions with single or multiple type arguments.
```go
genericfunction[type]
genericfunction[type1, type2]
```
--------------------------------
### IntrinsicTransformedType::stripTopLevelSpecifiers
Source: https://codeql.github.com/codeql-standard-libraries/cpp/semmle/code/cpp/Type.qll/predicate.Type%24IntrinsicTransformedType%24stripTopLevelSpecifiers.0.html
Gets this type after any top-level specifiers and typedefs have been stripped. For example, starting with `const i64* const`, this predicate will return `const i64*`.
```APIDOC
## Type stripTopLevelSpecifiers()
### Description
Gets this type after any top-level specifiers and typedefs have been stripped.
For example, starting with `const i64* const`, this predicate will return `const i64*`.
### Signature
`Type stripTopLevelSpecifiers()`
```
--------------------------------
### Basic Function Call Examples
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Expr.qll/type.Expr%24CallExpr.html
Illustrates simple function calls with and without arguments, including variadic arguments.
```go
f(x)
```
```go
g(a, b...)
```
--------------------------------
### Decltype::stripTopLevelSpecifiers
Source: https://codeql.github.com/codeql-standard-libraries/cpp/semmle/code/cpp/Type.qll/predicate.Type%24Decltype%24stripTopLevelSpecifiers.0.html
Gets this type after any top-level specifiers and typedefs have been stripped. For example, starting with `const i64* const`, this predicate will return `const i64*`.
```APIDOC
## Member predicate Decltype::stripTopLevelSpecifiers
### Description
Gets this type after any top-level specifiers and typedefs have been stripped. For example, starting with `const i64* const`, this predicate will return `const i64*`.
### Signature
`Type stripTopLevelSpecifiers()`
```
--------------------------------
### Threat Model Configuration Example
Source: https://codeql.github.com/codeql-standard-libraries/javascript/codeql/threatmodels/ThreatModels.qll/predicate.ThreatModels%24threatModelConfiguration.3.html
This example demonstrates how to configure threat models. It first enables all threat models, then disables the 'remote' group, and finally re-enables the 'environment' threat model. Lower priority values are applied first.
```ql
{ kind: "all", enable: true, priority: 0 }
```
```ql
{ kind: "remote", enable: false, priority: 1 }
```
```ql
{ kind: "environment", enable: true, priority: 2 }
```
--------------------------------
### Using Afero with NewBasePathFs
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/frameworks/Afero.qll/predicate.Afero%24Afero%24aferoSanitizer.1.html
Demonstrates how to create a base path file system using `afero.NewBasePathFs` and then use it with `afero.ReadFile`. This pattern is recognized by the `aferoSanitizer` predicate.
```go
basePathFs := afero.NewBasePathFs(osFS, "tmp")
afero.ReadFile(basePathFs, filepath)
```
--------------------------------
### Get Arguments to underscore.extend
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/ApiGraphs.qll/type.ApiGraphs%24API%24Node.html
This example demonstrates a simplified way to retrieve arguments passed to the `extend` function from the `underscore` library. It starts by importing the module, accessing the `extend` member, and then targeting the first parameter.
```javascript
API::moduleImport("underscore").getMember("extend").getParameter(0).asSink()
```
--------------------------------
### Example Goto Statement
Source: https://codeql.github.com/codeql-standard-libraries/cpp/semmle/code/cpp/stmts/Stmt.qll/type.Stmt%24GotoStmt.html
Illustrates a basic 'goto' statement and its corresponding label. This is useful for understanding how 'goto' statements are represented and analyzed.
```cpp
goto someLabel;
...
somelabel:
```
--------------------------------
### MacroAccess::getLocation
Source: https://codeql.github.com/codeql-standard-libraries/cpp/semmle/code/cpp/Macro.qll/predicate.Macro%24MacroAccess%24getLocation.0.html
Gets the location of the outermost macro access that triggered this macro access. This is equivalent to calling `this.getOutermostMacroAccess().getActualLocation()`. For example, the location of the invocation of `C` in `P(C)` will be the whole source range starting with `P` and ending with `)`.
```APIDOC
## MacroAccess::getLocation
### Description
Gets the location of the outermost macro access that triggered this macro access. This is equivalent to calling `this.getOutermostMacroAccess().getActualLocation()`.
### Example
For example, the location of the invocation of `C` in `P(C)` will be the whole source range starting with `P` and ending with `)`.
### Signature
`Location getLocation()`
```
--------------------------------
### Find all functions starting with 'get'
Source: https://codeql.github.com/docs/codeql-language-guides/functions-in-python
Use `Function.getName().matches("get%")` to list all functions whose names start with 'get'. This query may return a large number of results, including non-methods.
```python
import python
from Function f
where f.getName().matches("get%")
select f, "This is a function called get..."
```
--------------------------------
### Generic Type Instantiation Examples
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Expr.qll/type.Expr%24GenericTypeInstantiationExpr.html
Illustrates the syntax for instantiating generic types with one or more type arguments.
```go
generictype[type]
generictype[type1, type2]
```
--------------------------------
### Start Line
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/frameworks/Angular2.qll/type.Angular2%24Angular2%24ComponentClass.html
Gets the start line of this data flow node.
```APIDOC
## getStartLine
### Description
Gets the start line of this data flow node.
### Method
`getStartLine()`
### Returns
The start line of this data flow node.
```
--------------------------------
### OpenURI Request Examples
Source: https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/frameworks/http_clients/OpenURI.qll/type.OpenURI%24OpenUriRequest.html
Demonstrates how to make HTTP requests using OpenURI. These examples show common ways to open URLs and read their content.
```ruby
URI.open("http://example.com").readlines
URI.parse("http://example.com").open.read
```
--------------------------------
### Start Column
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/frameworks/Angular2.qll/type.Angular2%24Angular2%24ComponentClass.html
Gets the start column of this data flow node.
```APIDOC
## getStartColumn
### Description
Gets the start column of this data flow node.
### Method
`getStartColumn()`
### Returns
The start column of this data flow node.
```
--------------------------------
### Create a Go CodeQL Database with Custom Build Script
Source: https://codeql.github.com/docs/codeql-cli/creating-codeql-databases
Create a CodeQL database for a Go project by specifying a custom build script using the --command option.
```bash
codeql database create go-database --language=go --command='./scripts/build.sh'
```
--------------------------------
### Find all methods starting with 'get'
Source: https://codeql.github.com/docs/codeql-language-guides/functions-in-python
Refine the previous query by adding `Function.isMethod()` to find only methods whose names start with 'get'. This helps filter out standalone functions.
```python
import python
from Function f
where f.getName().matches("get%") and f.isMethod()
select f, "This is a method called get..."
```
--------------------------------
### Initialize a CodeQL Database
Source: https://codeql.github.com/docs/codeql-cli/manual/database-init
Use this command to create a new CodeQL database. Specify the source root directory and the target database path. You can optionally specify languages, authentication for GitHub, and extractor options.
```shell
codeql database init --source-root=
[--language=[,...]] [--github-auth-stdin] [--github-url=] [--extractor-option=] ... --
```
```shell
codeql database init --source-root= [--language=[,...]] [--github-auth-stdin] [--github-url=] [--extractor-option=] ... --
```
--------------------------------
### Open3 Pipeline Command Examples
Source: https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/frameworks/stdlib/Open3.qll/type.Open3%24Open3%24Open3PipelineCall.html
Demonstrates different ways to construct a pipeline of system commands using `Open3.pipeline`. Commands can be specified as strings or arrays, and can include shell-interpreted arguments or nested command structures.
```ruby
Open3.pipeline("cat foo.txt", "tail")
```
```ruby
Open3.pipeline(["cat", "foo.txt"], "tail")
```
```ruby
Open3.pipeline([{}, "cat", "foo.txt"], "tail")
```
```ruby
Open3.pipeline([["cat", "cat"], "foo.txt"], "tail")
```
--------------------------------
### ErbDirective::getAChildStmt
Source: https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/ast/Erb.qll/predicate.Erb%24ErbDirective%24getAChildStmt.0.html
Gets a statement that starts in directive that is not a child of any other statement starting in this directive.
```APIDOC
## Predicate: ErbDirective::getAChildStmt
### Description
Gets a statement that starts in directive that is not a child of any other statement starting in this directive.
### Signature
`Stmt getAChildStmt()`
```
--------------------------------
### Get Start Line
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/GlobalAccessPaths.qll/type.GlobalAccessPaths%24AccessPath%24Root.html
Retrieves the start line of the current data flow node.
```APIDOC
## getStartLine
### Description
Gets the start line of this data flow node.
### Predicate Signature
`Node.getStartLine() returns int`
```
--------------------------------
### Bitwise Expression Examples
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Expr.qll/type.Expr%24BitwiseExpr.html
Illustrates the basic syntax for bitwise expressions in Go using XOR and OR operators.
```go
x ^ y
```
```go
a | b
```
--------------------------------
### Get Start Column
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/GlobalAccessPaths.qll/type.GlobalAccessPaths%24AccessPath%24Root.html
Retrieves the start column of the current data flow node.
```APIDOC
## getStartColumn
### Description
Gets the start column of this data flow node.
### Predicate Signature
`Node.getStartColumn() returns int`
```
--------------------------------
### Example of a ReturnSuccessor
Source: https://codeql.github.com/codeql-standard-libraries/actions/codeql/controlflow/SuccessorType.qll/type.SuccessorType%24ReturnSuccessor.html
This example demonstrates a simple function M with a return statement. The callable exit node of M is a return successor of the return; statement.
```ql
void M()
{
return;
}
```
--------------------------------
### Basic CodeQL Database Creation
Source: https://codeql.github.com/docs/codeql-cli/creating-codeql-databases
Use this command to create a new CodeQL database for a specified language. The database directory will be created if it doesn't exist.
```bash
codeql database create --language=
```
--------------------------------
### LocalFunction::getTarget
Source: https://codeql.github.com/codeql-standard-libraries/csharp/semmle/code/csharp/exprs/Call.qll/predicate.Call%24LocalFunctionCall%24getTarget.0.html
Gets the static (compile-time) target of this call. For example, the static target of `x.M()` on line 9 is `A.M` in the provided example. Use `getARuntimeTarget()` instead to get a potential run-time target.
```APIDOC
## LocalFunction::getTarget
### Description
Gets the static (compile-time) target of this call.
### Method Signature
`LocalFunction getTarget()`
### Example
```csharp
class A {
virtual void M() { }
}
class B : A {
override void M() { }
static void CallM(A x) {
x.M(); // The static target of this call is A.M
}
}
```
### Related Predicates
- `getARuntimeTarget()`: Use this to get a potential run-time target, which would include `B.M` in the example above.
```
--------------------------------
### TestPattern::getValue
Source: https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/ast/Control.qll/predicate.Control%24TestPattern%24getValue.0.html
Gets the expression being compared. For example, `foo` in the following example: `foo in Point{ x:, y: }`.
```APIDOC
## Member predicate TestPattern::getValue
### Description
Gets the expression being compared. For example, `foo` in the following example.
```
foo in Point{ x:, y: }
```
### Signature
`Expr getValue()`
```
--------------------------------
### Basic Index Expression Examples
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Expr.qll/type.Expr%24IndexExpr.html
These examples demonstrate the syntax for accessing elements in arrays, pointers to arrays, slices, and maps.
```go
array[i]
```
```go
arrayptr[i]
```
```go
slice[i]
```
```go
map[key]
```
--------------------------------
### Example Usage of IO::IOInstance
Source: https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/frameworks/core/IO.qll/type.IO%24IO%24IOInstance.html
Demonstrates how to create an IO instance for reading from a file and reading data from it. This example highlights the creation of an IO object using `IO.new` and subsequent data retrieval with `read`.
```ruby
rand = IO.new(IO.sysopen("/dev/random", "r"), "r")
rand_data = rand.read(32)
```
--------------------------------
### CallSignatureType::getRestParameterType
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/TypeScript.qll/predicate.TypeScript%24CallSignatureType%24getRestParameterType.0.html
Gets the type of the rest parameter, if any. For example, for the signature `(...y: string[])`, this gets the type `string`.
```APIDOC
## Member predicate CallSignatureType::getRestParameterType
### Description
Gets the type of the rest parameter, if any.
For example, for the signature `(...y: string[])`, this gets the type `string`.
### Signature
`Type getRestParameterType()`
```
--------------------------------
### Documentable Examples
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Comments.qll/type.Comments%24Documentable.html
Illustrates different types of program elements that can be documented, such as function declarations, constants with specifiers, and comments associated with them.
```go
// function documentation
func double(x int) int { return 2 * x }
```
```go
// generic declaration documentation
const (
// specifier documentation
size int64 = 1024
eof = -1 // not specifier documentation
)
```
--------------------------------
### StmtContainer::getStartBB
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/AST.qll/predicate.AST%24StmtContainer%24getStartBB.0.html
Gets the start basic block of this function, that is, the basic block containing the start node of its CFG.
```APIDOC
## Method: StmtContainer::getStartBB
### Description
Gets the start basic block of this function, that is, the basic block containing the start node of its CFG.
### Signature
`BasicBlock getStartBB()`
### Returns
- `BasicBlock`: The basic block representing the start of the function's control flow graph.
```
--------------------------------
### PragmaChecksumDirective::getGuid
Source: https://codeql.github.com/codeql-standard-libraries/csharp/semmle/code/csharp/Preprocessor.qll/predicate.Preprocessor%24PragmaChecksumDirective%24getGuid.0.html
Gets the GUID of this directive.
```APIDOC
## Member predicate PragmaChecksumDirective::getGuid
Gets the GUID of this directive.
### Signature
`string getGuid()`
### Returns
A string representing the GUID of the `#pragma checksum` directive.
```
--------------------------------
### Example Instruction Output
Source: https://codeql.github.com/codeql-standard-libraries/cpp/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll/predicate.Instruction%24Instruction%24getDumpString.0.html
This example shows the expected output format for the getDumpString predicate, illustrating how an instruction like 'Store r0_26, r0_27' would be represented.
```text
mu0_28(int) = Store r0_26, r0_27
```
--------------------------------
### Create a Go CodeQL Database with Build Tracing
Source: https://codeql.github.com/docs/codeql-cli/creating-codeql-databases
Create a Go CodeQL database by setting the environment variable CODEQL_EXTRACTOR_GO_BUILD_TRACING to 'on'. This forces CodeQL to limit extraction to files compiled by your build script.
```bash
CODEQL_EXTRACTOR_GO_BUILD_TRACING=on codeql database create go-database --language=go
```
--------------------------------
### JavaScript Duplicate Switch Case Example
Source: https://codeql.github.com/codeql-query-help/javascript/js-duplicate-switch-case
This example demonstrates a switch statement with two identical 'start' case labels. The second 'start' case will never be reached at runtime, indicating a potential logic error or copy-paste mistake.
```javascript
function controller(msg) {
switch (msg) {
case 'start':
start();
break;
case 'start':
stop();
break;
default:
throw new Error("Message not understood.");
}
}
```
--------------------------------
### DataFlow::PropWrite::getInstalledAccessor
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/dataflow/DataFlow.qll/predicate.DataFlow%24DataFlow%24PropWrite%24getInstalledAccessor.1.html
If this installs an accessor on an object, as opposed to a regular property, gets the body of the accessor. `isSetter` is true if installing a setter, and false is installing a getter.
```APIDOC
## DataFlow::PropWrite::getInstalledAccessor
### Description
If this installs an accessor on an object, as opposed to a regular property, gets the body of the accessor. `isSetter` is true if installing a setter, and false is installing a getter.
### Signature
`FunctionNode getInstalledAccessor(boolean isSetter)`
```
--------------------------------
### Binary Operations Examples
Source: https://codeql.github.com/docs/ql-language-reference/expressions
Shows examples of binary operations including arithmetic operators and string concatenation.
```ql
5 % 2
```
```ql
(9 + 1) / (-2)
```
```ql
"Q" + "L"
```
```ql
2 * min(float f | f in [-3 .. 3])
```
--------------------------------
### Initialize CodeQL Database with Indirect Tracing
Source: https://codeql.github.com/docs/codeql-cli/creating-codeql-databases
Use this command to initialize a CodeQL database with indirect build tracing. This is useful when autobuilders don't work or you can't wrap build commands. Ensure you specify the database path and the begin-tracing option.
```bash
codeql database init ... --begin-tracing
```
--------------------------------
### prefixLength(State start, State state)
Source: https://codeql.github.com/codeql-standard-libraries/java/codeql/regex/nfa/NfaUtils.qll/predicate.NfaUtils%24Make%24PrefixConstruction%24prefixLength.2.html
Gets the minimum number of transitions it takes to reach `state` from the `start` state.
```APIDOC
## Method signature
`int prefixLength(State start, State state)`
### Description
Gets the minimum number of transitions it takes to reach `state` from the `start` state.
### Parameters
* **start** (State) - The starting state of the NFA.
* **state** (State) - The target state to reach.
### Returns
* **int** - The minimum number of transitions.
```
--------------------------------
### Slice Literal Examples
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Expr.qll/type.Expr%24SliceLit.html
Demonstrates the syntax for creating slice literals with integer and string elements.
```go
[]int{1, 2, 3, 5}
```
```go
[]string{"Sat", "Sun"}
```
--------------------------------
### SharedPreferencesEditorMethodCall::getAStore
Source: https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/security/CleartextStorageSharedPrefsQuery.qll/predicate.CleartextStorageSharedPrefsQuery%24SharedPreferencesEditorMethodCall%24getAStore.0.html
Gets a store, for example `editor.commit();`.
```APIDOC
## Method `SharedPreferencesEditorMethodCall::getAStore`
### Description
Gets a store, for example `editor.commit();`.
### Signature
`Expr getAStore()`
```
--------------------------------
### RegExpTerm::getStart
Source: https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/regexp/RegExpTreeView.qll/predicate.RegExpTreeView%24Impl%24RegExpTerm%24getStart.0.html
Gets the offset at which this term starts.
```APIDOC
## RegExpTerm::getStart
### Description
Gets the offset at which this term starts.
### Signature
`int getStart()`
```
--------------------------------
### QuoAssignStmt Example
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Stmt.qll/type.Stmt%24QuoAssignStmt.html
This snippet shows a basic example of a divide-assign statement.
```Go
a /= 2
```
--------------------------------
### CallSignatureType::getRestParameterArrayType
Source: https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/TypeScript.qll/predicate.TypeScript%24CallSignatureType%24getRestParameterArrayType.0.html
Gets the type of the rest parameter as an array, if it exists. For example, for the signature `(...y: string[])`, this gets the type `string[]`.
```APIDOC
## Predicate: CallSignatureType::getRestParameterArrayType
### Description
Gets the type of the rest parameter as an array, if it exists. For example, for the signature `(...y: string[])`, this gets the type `string[]`.
### Signature
`PlainArrayType getRestParameterArrayType()`
```
--------------------------------
### Go Variable Declaration Example
Source: https://codeql.github.com/codeql-standard-libraries/go/semmle/go/Stmt.qll/type.Stmt%24DefineStmt.html
Demonstrates a simple variable declaration and initialization in Go, which is represented by a DefineStmt in CodeQL.
```go
x := 1
```