#### Description:

This macro invokes a function to end an AST context which was begun with a matching invocation of astBegin. Any Object pointers created within this context will be annulled (just as if astAnnul had been invoked) and will cease to be valid afterwards, unless they have previously been exported using astExport or rendered exempt using astExempt. If annulling a pointer causes an Object`’` s RefCount attribute to fall to zero (which happens when the last pointer to it is annulled), then the Object will be deleted.

#### Synopsis

void astEnd

#### Applicability

##### Object

This macro applies to all Objects.

#### Notes:

- astEnd attempts to execute even if the AST error status is set.

- Contexts delimited by astBegin and astEnd may be nested to any depth.

Copyright (C) 2021 East Asian Observatory