You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TIP/transformer#10 “Arbitrarily nested scenarios” solved TIP/docs#330 “Introduce generic multi-level nested scenarios in Transformer” by introducing the transformer.python module, which represents Python code as a syntax tree (i.e. a tree of objects, each representing a syntactic element like "class" or "assignment").
transformer.python.OpaqueBlock does not represent a regular Python element but encapsulates a string and "pretends" it is a normal syntax tree. It helps by not forcing the introduction of the syntax tree to instantly propagate everywhere in Transformer: without OpaqueBlock, Task and all plugins would have had to be updated in TIP/transformer#10.
However, eventually this usage of OpaqueBlock should go away: plugins should be updated to use the more powerful & testable framework of transformer.python too. Once plugins are updated, Task can be merged into the Task2 proxy. At that point, the only remaining usage of OpaqueBlock should be for cases not yet covered by the rest of transformer.python (like the raise statement today).
TIP/transformer#10 “Arbitrarily nested scenarios” solved TIP/docs#330 “Introduce generic multi-level nested scenarios in Transformer” by introducing the
transformer.python
module, which represents Python code as a syntax tree (i.e. a tree of objects, each representing a syntactic element like "class" or "assignment").transformer.python.OpaqueBlock
does not represent a regular Python element but encapsulates a string and "pretends" it is a normal syntax tree. It helps by not forcing the introduction of the syntax tree to instantly propagate everywhere in Transformer: without OpaqueBlock, Task and all plugins would have had to be updated in TIP/transformer#10.However, eventually this usage of OpaqueBlock should go away: plugins should be updated to use the more powerful & testable framework of
transformer.python
too. Once plugins are updated, Task can be merged into the Task2 proxy. At that point, the only remaining usage of OpaqueBlock should be for cases not yet covered by the rest oftransformer.python
(like theraise
statement today).Define new types of plugins that interact with Task2 and/or the syntax tree instead of Task and its strings→ Design better plugin contracts for the Syntax Tree Framework #10ℹ️ Issue imported from TIP/docs#395
The text was updated successfully, but these errors were encountered: