# SearchExpressionRuntime

> Encapsulate all the runtime data needed to evaluate a root expression and all its parameters. This class contains the SearchContext that created the root SearchExpression and all the stack frames needed to evaluate all the nested SearchExpression.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEditor.Search](/engine/6000.6/script-reference/unityeditor/search.md)
* **Assembly:** UnityEditor

```csharp
public readonly struct SearchExpressionRuntime
```

## Fields

| Value                                                                                          | Description                                                                                                                                                                                                                                         |
| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [frames](/engine/6000.6/script-reference/unityeditor/search/searchexpressionruntime/frames.md) | The stack of all [SearchExpressionContext](/engine/6000.6/script-reference/unityeditor/search/searchexpressioncontext.md) being evaluated.                                                                                                          |
| [items](/engine/6000.6/script-reference/unityeditor/search/searchexpressionruntime/items.md)   | The stack of [SearchItem](/engine/6000.6/script-reference/unityeditor/search/searchitem.md)s that have been yielded by each execution frame.                                                                                                        |
| [search](/engine/6000.6/script-reference/unityeditor/search/searchexpressionruntime/search.md) | Initial [SearchContext](/engine/6000.6/script-reference/unityeditor/search/searchcontext.md) contaning the text that was used to parse the initial root [SearchExpression](/engine/6000.6/script-reference/unityeditor/search/searchexpression.md). |

## Properties

| Property                                                                                         | Description                                                                                                                                                                      |
| ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [current](/engine/6000.6/script-reference/unityeditor/search/searchexpressionruntime/current.md) | Current [SearchExpressionContext](/engine/6000.6/script-reference/unityeditor/search/searchexpressioncontext.md) corresponding to the stack frame being evaluated.               |
| [valid](/engine/6000.6/script-reference/unityeditor/search/searchexpressionruntime/valid.md)     | Is the current runtime valid. This means are there any [SearchExpressionContext](/engine/6000.6/script-reference/unityeditor/search/searchexpressioncontext.md) being evaluated. |

## Methods

| Method                                                                                             | Description                                                                                                                                                                                                                         |
| -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Push](/engine/6000.6/script-reference/unityeditor/search/searchexpressionruntime/push.md)         | Push a new [SearchExpression](/engine/6000.6/script-reference/unityeditor/search/searchexpression.md) with its arguments to be evaluated. This is useful if a user defined evaluator needs to generate a new Context of evaluation. |
| [ToString](/engine/6000.6/script-reference/unityeditor/search/searchexpressionruntime/tostring.md) | Get a string representation of the current [SearchExpressionRuntime](/engine/6000.6/script-reference/unityeditor/search/searchexpressionruntime.md).                                                                                |
