22. is_local_xxx ast helpers

The is_local module exposes collection of helper routines to establish locality of expression.

All functions and symbols are in “is_local” module, use require to get access to it.

require daslib/is_local

22.1. Scope checks

is_local_expr(expr: ExpressionPtr): bool

Returns true if the expression is local to the current scope.

Arguments:
  • expr : ExpressionPtr

is_local_or_global_expr(expr: ExpressionPtr): bool

Returns true if expression is local the current scope or global scope.

Arguments:
  • expr : ExpressionPtr

is_scope_expr(expr: ExpressionPtr): bool

Returns true if the expression is a scoped expression, i.e. eventually points to a variable.

Arguments:
  • expr : ExpressionPtr

22.2. Uncategorized

is_temp_safe(expr: ExpressionPtr): bool

Returns true if the exression had no calls, [] or table [] operators of any kind. This is used to check expression can be safely casted to temp type.

Arguments:
  • expr : ExpressionPtr

is_shared_expr(expr: ExpressionPtr): bool

Returns true if the expression is local to the current scope.

Arguments:
  • expr : ExpressionPtr