MpjE dZddlZddlZddlZddlmZmZddlmZm Z GddZ GddZ Gd d Z d Z de fd ejd eededefdZy)zr Module of utilities for transforming a lark.Tree into a custom Abstract Syntax Tree (AST defined in classes) N)OptionalCallable) Transformerv_argsceZdZdZy)AstzOAbstract class Subclasses will be collected by `create_transformer()` N__name__ __module__ __qualname____doc__\/mnt/ssd/data/Dropbox/adrian/scripts/msg_venv/lib/python3.12/site-packages/lark/ast_utils.pyrr  rrceZdZdZy)AsListzzAbstract class Subclasses will be instantiated with the parse results as a single list, instead of as arguments. Nr rrrrrsrrceZdZdZy)WithMetaz}Abstract class Subclasses will be instantiated with the Meta instance of the tree. (see ``v_args`` for more detail) Nr rrrrrrrrcLtjdd|jS)Nz(? "code_block". Classes starting with an underscore (`_`) will be skipped. Parameters: ast_module: A Python module containing all the subclasses of ``ast_utils.Ast`` transformer (Optional[Transformer]): An initial transformer. Its attributes may be overwritten. decorator_factory (Callable): An optional callable accepting two booleans, inline, and meta, and returning a decorator for the methods of ``transformer``. (default: ``v_args``). r)inlinemeta) rinspect getmembers startswithisclass issubclassrrr__get__setattrr)rrrtrobjwrappers rcreate_transformerr."s ${}A'' 36 cs#(<#s#+z#v7N3NU_`cemUnocl**1->$/5 6 Hr)r r$rtypestypingrrlarkrrrrrr ModuleTyper.rrrr3sr %$     9;?39 5#3#3 $,[$9 *2 >I r