> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/sast-and-sca/ocular/cpgql-reference/node-type-steps.md).

# Node-Type Steps

Node-Type Steps are CPGQL Steps that traverse nodes based on their type.

### Overview <a href="#overview" id="overview"></a>

| Step                              | Description                                                                                                                                                                                                                                                                                               |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [all](#all)                       | Visits all nodes in the Code Property Graph                                                                                                                                                                                                                                                               |
| [block](#block)                   | Visits BLOCK nodes                                                                                                                                                                                                                                                                                        |
| [call](#call)                     | Visits CALL nodes; represent call-sites                                                                                                                                                                                                                                                                   |
| [comment](#comment)               | Visits COMMENT nodes; COMMENT nodes exist only for source-based Code Propert Graphs                                                                                                                                                                                                                       |
| [file](#file)                     | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| [identifier](#identifier)         | Visits IDENTIFIER nodes; e.g. occurrences of local variables or class members in method bodies                                                                                                                                                                                                            |
| [literal](#literal)               | Visits LITERAL nodes; e.g. numbers or strings                                                                                                                                                                                                                                                             |
| [local](#local)                   | Visits LOCAL nodes; represent local variable                                                                                                                                                                                                                                                              |
| [member](#member)                 | Visits MEMBER nodes; MEMBER nodes refer to members of complex types like classes or structs                                                                                                                                                                                                               |
| [metaData](#metadata)             | Visits the META\_DATA node                                                                                                                                                                                                                                                                                |
| [method](#method)                 | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| [methodRef](#methodref)           | Visits METHOD\_REF nodes                                                                                                                                                                                                                                                                                  |
| [typeRef](#typeref)               | Visits TYPE\_REF nodes                                                                                                                                                                                                                                                                                    |
| [methodReturn](#methodreturn)     | Visits METHOD\_RETURN nodes; all formal return parameters                                                                                                                                                                                                                                                 |
| [modifier](#modifier)             | Visits MODIFIER nodes; e.g. public, private, static                                                                                                                                                                                                                                                       |
| [namespace](#namespace)           | Visits NAMESPACE nodes                                                                                                                                                                                                                                                                                    |
| [namespaceBlock](#namespaceblock) | Visits NAMESPACE\_BLOCK nodes                                                                                                                                                                                                                                                                             |
| [parameter](#parameter)           | Visits PARAMETER nodes                                                                                                                                                                                                                                                                                    |
| [returns](#returns)               | Visits RETURN nodes                                                                                                                                                                                                                                                                                       |
| [typeDecl](#typedecl)             | Visits TYPE\_DECL nodes                                                                                                                                                                                                                                                                                   |
| [tag](#tag)                       | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| [typ](#typ)                       | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

### all <a href="#all" id="all"></a>

The `all` Node-Type Step represents a traversal which visits all nodes of a Code Property Graph. It supports the two only *Property Directives* which are common to all *Node-Type Steps*, `id` and `label`.

#### Supported Property Directives <a href="#supported-property-directives" id="supported-property-directives"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |

#### Supported Node-Type Steps <a href="#supported-node-type-steps" id="supported-node-type-steps"></a>

| Node-Type Step | Description                                          |
| -------------- | ---------------------------------------------------- |
| file           | Visits FILE nodes attached to all nodes in the graph |
| tag            | Visits TAG nodes attached to all nodes in the graph  |

#### Supported Filter Steps <a href="#supported-filter-steps" id="supported-filter-steps"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### block <a href="#block" id="block"></a>

#### Supported Property Directives <a href="#supported-property-directives-1" id="supported-property-directives-1"></a>

| Property Directive | Return Type | Description                                                                                                                              |
| ------------------ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| argumentIndex      | int         | Identifies different AST children of CALL nodes or BLOCK nodes. Ordered 1 to N, with 0 reserved for implicit arguments like this or self |
| id                 | int         | Unique node identifier                                                                                                                   |
| label              | string      | Returns the value of the LABEL property which represents the node type                                                                   |
| lineNumber         | int         | First line at which the code representing this node is found                                                                             |
| order              | int         | General ordering property for AST nodes                                                                                                  |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-1" id="supported-node-type-steps-1"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| call           | Visits CALL nodes; represent call-sites                                                                                                                                                                                                                                                                   |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| local          | Visits LOCAL nodes; represent local variable                                                                                                                                                                                                                                                              |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

#### Supported Filter Steps <a href="#supported-filter-steps-1" id="supported-filter-steps-1"></a>

| Filter Step   | Parameter Type             | Return Type | Description |
| ------------- | -------------------------- | ----------- | ----------- |
| argumentIndex | int                        | int         |             |
| lineNumber    | int                        | int         |             |
| order         | int                        | int         |             |
| filter        | BooleanReturningExpression | Step        |             |
| filterNot     | BooleanReturningExpression | Step        |             |
| where         | StepReturningExpression    | Step        |             |
| whereNot      | StepReturningExpression    | Step        |             |

### call <a href="#call" id="call"></a>

#### Supported Property Directives <a href="#supported-property-directives-2" id="supported-property-directives-2"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| name               | string      | General string identifier for various nodes                            |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-2" id="supported-node-type-steps-2"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| call           | Visits CALL nodes; represent call-sites                                                                                                                                                                                                                                                                   |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| parameter      | Visits PARAMETER nodes                                                                                                                                                                                                                                                                                    |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |

#### Supported Filter Steps <a href="#supported-filter-steps-2" id="supported-filter-steps-2"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| name        | RegEx                      | string      |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### comment <a href="#comment" id="comment"></a>

#### Supported Property Directives <a href="#supported-property-directives-3" id="supported-property-directives-3"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| id                 | int         | Unique node identifier                                                 |
| code               | string      | The source code construct this node represents                         |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-3" id="supported-node-type-steps-3"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |

#### Supported Filter Steps <a href="#supported-filter-steps-3" id="supported-filter-steps-3"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### file <a href="#file" id="file"></a>

#### Supported Property Directives <a href="#supported-property-directives-4" id="supported-property-directives-4"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| name               | string      | General string identifier for various nodes                            |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-4" id="supported-node-type-steps-4"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| namespace      | Visits NAMESPACE nodes                                                                                                                                                                                                                                                                                    |
| namespaceBlock | Visits NAMESPACE\_BLOCK nodes                                                                                                                                                                                                                                                                             |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typeDecl       | Visits TYPE\_DECL nodes                                                                                                                                                                                                                                                                                   |

#### Supported Filter Steps <a href="#supported-filter-steps-4" id="supported-filter-steps-4"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| name        | RegEx                      | string      |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### identifier <a href="#identifier" id="identifier"></a>

#### Supported Property Directives <a href="#supported-property-directives-5" id="supported-property-directives-5"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| name               | string      | General string identifier for various nodes                            |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-5" id="supported-node-type-steps-5"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| parameter      | Visits PARAMETER nodes                                                                                                                                                                                                                                                                                    |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

#### Supported Filter Steps <a href="#supported-filter-steps-5" id="supported-filter-steps-5"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| name        | RegEx                      | string      |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### literal <a href="#literal" id="literal"></a>

#### Supported Property Directives <a href="#supported-property-directives-6" id="supported-property-directives-6"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-6" id="supported-node-type-steps-6"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| call           | Visits CALL nodes; represent call-sites                                                                                                                                                                                                                                                                   |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| parameter      | Visits PARAMETER nodes                                                                                                                                                                                                                                                                                    |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

#### Supported Filter Steps <a href="#supported-filter-steps-6" id="supported-filter-steps-6"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### local <a href="#local" id="local"></a>

#### Supported Property Directives <a href="#supported-property-directives-7" id="supported-property-directives-7"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| name               | string      | General string identifier for various nodes                            |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-7" id="supported-node-type-steps-7"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

#### Supported Filter Steps <a href="#supported-filter-steps-7" id="supported-filter-steps-7"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| name        | RegEx                      | string      |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### member <a href="#member" id="member"></a>

#### Supported Property Directives <a href="#supported-property-directives-8" id="supported-property-directives-8"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| name               | string      | General string identifier for various nodes                            |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-8" id="supported-node-type-steps-8"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| modifier       | Visits MODIFIER nodes; e.g. public, private, static                                                                                                                                                                                                                                                       |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |
| typeDecl       | Visits TYPE\_DECL nodes                                                                                                                                                                                                                                                                                   |

#### Supported Filter Steps <a href="#supported-filter-steps-8" id="supported-filter-steps-8"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| name        | RegEx                      | string      |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### metaData <a href="#metadata" id="metadata"></a>

#### Supported Property Directives <a href="#supported-property-directives-9" id="supported-property-directives-9"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| language           | string      | The programming language this graph originates from                    |
| version            | string      | A version, given as a string                                           |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-9" id="supported-node-type-steps-9"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |

#### Supported Filter Steps <a href="#supported-filter-steps-9" id="supported-filter-steps-9"></a>

None.

### method <a href="#method" id="method"></a>

#### Supported Property Directives <a href="#supported-property-directives-10" id="supported-property-directives-10"></a>

| Property Directive | Return Type | Description                                                                                               |
| ------------------ | ----------- | --------------------------------------------------------------------------------------------------------- |
| fullName           | string      | General string identifier which includes various details of the node it is defined on                     |
| id                 | int         | Unique node identifier                                                                                    |
| isExternal         | boolean     | Indicates that the node represents a program construct that is not defined directly in its source code    |
| label              | string      | Returns the value of the LABEL property which represents the node type                                    |
| lineNumber         | int         | First line at which the code representing this node is found                                              |
| lineNumberEnd      | int         | Last line at which the code representing this node is found                                               |
| name               | string      | General string identifier for various nodes                                                               |
| order              | int         | General ordering property for AST nodes                                                                   |
| signature          | string      | The method signature; usually includes the method name, and the number, types and order of its parameters |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-10" id="supported-node-type-steps-10"></a>

| Node-Type Step | Description                                                                  |
| -------------- | ---------------------------------------------------------------------------- |
| local          | Visits LOCAL nodes; represent local variable                                 |
| method         | Visits METHOD nodes                                                          |
| methodReturn   | Visits METHOD\_RETURN nodes; all formal return parameters                    |
| modifier       | Visits MODIFIER nodes; e.g. public, private, static                          |
| namespace      | Visits NAMESPACE nodes                                                       |
| parameter      | Visits PARAMETER nodes                                                       |
| tag            | Visit TAG nodes attached to the METHOD nodes; that is, tags found on methods |

#### Supported Filter Steps <a href="#supported-filter-steps-10" id="supported-filter-steps-10"></a>

| Filter Step   | Parameter Type             | Return Type | Description |
| ------------- | -------------------------- | ----------- | ----------- |
| fullName      | RegEx                      | string      |             |
| isExternal    | boolean                    | boolean     |             |
| lineNumber    | int                        | int         |             |
| lineNumberEnd | int                        | int         |             |
| name          | RegEx                      | string      |             |
| order         | int                        | int         |             |
| signature     | RegEx                      | string      |             |
| filter        | BooleanReturningExpression | Step        |             |
| filterNot     | BooleanReturningExpression | Step        |             |
| where         | StepReturningExpression    | Step        |             |
| whereNot      | StepReturningExpression    | Step        |             |

### methodRef <a href="#methodref" id="methodref"></a>

#### Supported Property Directives <a href="#supported-property-directives-11" id="supported-property-directives-11"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-11" id="supported-node-type-steps-11"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| parameter      | Visits PARAMETER nodes                                                                                                                                                                                                                                                                                    |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

#### Supported Filter Steps <a href="#supported-filter-steps-11" id="supported-filter-steps-11"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### typeRef <a href="#typeref" id="typeref"></a>

#### Supported Property Directives <a href="#supported-property-directives-12" id="supported-property-directives-12"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-12" id="supported-node-type-steps-12"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| parameter      | Visits PARAMETER nodes                                                                                                                                                                                                                                                                                    |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

#### Supported Filter Steps <a href="#supported-filter-steps-12" id="supported-filter-steps-12"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |

### methodReturn <a href="#methodreturn" id="methodreturn"></a>

#### Supported Property Directives <a href="#supported-property-directives-13" id="supported-property-directives-13"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-13" id="supported-node-type-steps-13"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

#### Supported Filter Steps <a href="#supported-filter-steps-13" id="supported-filter-steps-13"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### modifier <a href="#modifier" id="modifier"></a>

#### Supported Property Directives <a href="#supported-property-directives-14" id="supported-property-directives-14"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-14" id="supported-node-type-steps-14"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |

#### Supported Filter Steps <a href="#supported-filter-steps-14" id="supported-filter-steps-14"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### namespaceBlock <a href="#namespaceblock" id="namespaceblock"></a>

#### Supported Property Directives <a href="#supported-property-directives-15" id="supported-property-directives-15"></a>

| Property Directive | Return Type | Description                                                                           |
| ------------------ | ----------- | ------------------------------------------------------------------------------------- |
| id                 | int         | Unique node identifier                                                                |
| fullName           | string      | General string identifier which includes various details of the node it is defined on |
| label              | string      | Returns the value of the LABEL property which represents the node type                |
| name               | string      | General string identifier for various nodes                                           |
| order              | int         | General ordering property for AST nodes                                               |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-15" id="supported-node-type-steps-15"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typeDecl       | Visits TYPE\_DECL nodes                                                                                                                                                                                                                                                                                   |

#### Supported Filter Steps <a href="#supported-filter-steps-15" id="supported-filter-steps-15"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| fullName    | RegEx                      | string      |             |
| name        | RegEx                      | string      |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### namespace <a href="#namespace" id="namespace"></a>

#### Supported Property Directives <a href="#supported-property-directives-16" id="supported-property-directives-16"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| name               | string      | General string identifier for various nodes                            |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-16" id="supported-node-type-steps-16"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typeDecl       | Visits TYPE\_DECL nodes                                                                                                                                                                                                                                                                                   |

#### Supported Filter Steps <a href="#supported-filter-steps-16" id="supported-filter-steps-16"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| name        | RegEx                      | string      |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### parameter <a href="#parameter" id="parameter"></a>

#### Supported Property Directives <a href="#supported-property-directives-17" id="supported-property-directives-17"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| name               | string      | General string identifier for various nodes                            |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-17" id="supported-node-type-steps-17"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |
| typ            | Visits TYPE nodes                                                                                                                                                                                                                                                                                         |

#### Supported Filter Steps <a href="#supported-filter-steps-17" id="supported-filter-steps-17"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| lineNumber  | int                        | int         |             |
| name        | RegEx                      | string      |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### returns <a href="#returns" id="returns"></a>

#### Supported Property Directives <a href="#supported-property-directives-18" id="supported-property-directives-18"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| code               | string      | The source code construct this node represents                         |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| lineNumber         | int         | First line at which the code representing this node is found           |
| order              | int         | General ordering property for AST nodes                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-18" id="supported-node-type-steps-18"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| call           | Visits CALL nodes; represent call-sites                                                                                                                                                                                                                                                                   |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| parameter      | Visits PARAMETER nodes                                                                                                                                                                                                                                                                                    |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |

#### Supported Filter Steps <a href="#supported-filter-steps-18" id="supported-filter-steps-18"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| code        | RegEx                      | string      |             |
| lineNumber  | int                        | int         |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### tag <a href="#tag" id="tag"></a>

#### Supported Property Directives <a href="#supported-property-directives-19" id="supported-property-directives-19"></a>

| Property Directive | Return Type | Description                                                            |
| ------------------ | ----------- | ---------------------------------------------------------------------- |
| id                 | int         | Unique node identifier                                                 |
| label              | string      | Returns the value of the LABEL property which represents the node type |
| name               | string      | General string identifier for various nodes                            |
| value              | string      | Generic string value container                                         |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-19" id="supported-node-type-steps-19"></a>

| Node-Type Step | Description                                           |
| -------------- | ----------------------------------------------------- |
| call           | Visits CALL nodes attached to the TAG nodes           |
| file           | Visits FILE nodes attached to the TAG nodes           |
| literal        | Visits LITERAL nodes attached to the TAG nodes        |
| local          | Visits LOCAL nodes attached to the TAG nodes          |
| method         | Visits METHOD nodes attached to the TAG nodes         |
| methodReturn   | Visits METHOD\_RETURN nodes attached to the TAG nodes |
| parameter      | Visits PARAMETER nodes attached to the TAG nodes      |
| tag            | Visits TAG nodes attached to the TAG nodes            |

#### Supported Filter Steps <a href="#supported-filter-steps-19" id="supported-filter-steps-19"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| name        | RegEx                      | string      |             |
| value       | RegEx                      | string      |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### typeDecl <a href="#typedecl" id="typedecl"></a>

#### Supported Property Directives <a href="#supported-property-directives-20" id="supported-property-directives-20"></a>

| Property Directive | Return Type | Description                                                                                            |
| ------------------ | ----------- | ------------------------------------------------------------------------------------------------------ |
| fullName           | string      | General string identifier which includes various details of the node it is defined on                  |
| id                 | int         | Unique node identifier                                                                                 |
| isExternal         | boolean     | Indicates that the node represents a program construct that is not defined directly in its source code |
| label              | string      | Returns the value of the LABEL property which represents the node type                                 |
| name               | string      | General string identifier for various nodes                                                            |
| order              | int         | General ordering property for AST nodes                                                                |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-20" id="supported-node-type-steps-20"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| member         | Visits MEMBER nodes; MEMBER nodes refer to members of complex types like classes or structs                                                                                                                                                                                                               |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| modifier       | Visits MODIFIER nodes; e.g. public, private, static                                                                                                                                                                                                                                                       |
| namespace      | Visits NAMESPACE nodes                                                                                                                                                                                                                                                                                    |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |

#### Supported Filter Steps <a href="#supported-filter-steps-20" id="supported-filter-steps-20"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| fullName    | RegEx                      | string      |             |
| isExternal  | boolean                    | boolean     |             |
| name        | RegEx                      | string      |             |
| order       | int                        | int         |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |

### typ <a href="#typ" id="typ"></a>

#### Supported Property Directives <a href="#supported-property-directives-21" id="supported-property-directives-21"></a>

| Property Directive | Return Type | Description                                                                           |
| ------------------ | ----------- | ------------------------------------------------------------------------------------- |
| fullName           | string      | General string identifier which includes various details of the node it is defined on |
| id                 | int         | Unique node identifier                                                                |
| label              | string      | Returns the value of the LABEL property which represents the node type                |
| name               | string      | General string identifier for various nodes                                           |

#### Supported Node-Type Steps <a href="#supported-node-type-steps-21" id="supported-node-type-steps-21"></a>

| Node-Type Step | Description                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file           | Visits FILE nodes; in source-based Code Property Graphs, FILE nodes will point both to the actual source code files of the program under analysis and paths to the referenced files from the standard library, for IR-based Code Property Graphs, the nodes representing source code files will not exist |
| method         | Visits METHOD nodes                                                                                                                                                                                                                                                                                       |
| member         | Visits MEMBER nodes; MEMBER nodes refer to members of complex types like classes or structs                                                                                                                                                                                                               |
| parameter      | Visits PARAMETER nodes                                                                                                                                                                                                                                                                                    |
| tag            | Visits TAG nodes                                                                                                                                                                                                                                                                                          |

#### Supported Filter Steps <a href="#supported-filter-steps-21" id="supported-filter-steps-21"></a>

| Filter Step | Parameter Type             | Return Type | Description |
| ----------- | -------------------------- | ----------- | ----------- |
| fullName    | RegEx                      | string      |             |
| name        | RegEx                      | string      |             |
| filter      | BooleanReturningExpression | Step        |             |
| filterNot   | BooleanReturningExpression | Step        |             |
| where       | StepReturningExpression    | Step        |             |
| whereNot    | StepReturningExpression    | Step        |             |
