Add @if for blocks too
This commit is contained in:
parent
4eede74f7f
commit
6a8704d2d7
@ -152,7 +152,7 @@ class MenuBlock:
|
||||
|
||||
user_directive: Optional[str] = None
|
||||
sous_directive: Optional[str] = None
|
||||
control_directives: List[ForDirective] = attr.ib(factory=list)
|
||||
control_directives: List[ControlDirective] = attr.ib(factory=list)
|
||||
import_directives: List[str] = attr.ib(factory=list)
|
||||
recipe_edges: List[RecipeEdgeDirective] = attr.ib(factory=list)
|
||||
resource_edges: List[ResourceEdgeDirective] = attr.ib(factory=list)
|
||||
@ -306,6 +306,13 @@ def convert_textx_block(txblock, parent: Optional[MenuBlock]) -> MenuBlock:
|
||||
var = directive.variable
|
||||
assert isinstance(var, str)
|
||||
block.control_directives.append(IfSetDirective(var))
|
||||
elif isinstance(directive, scoml_classes["IfCondDirective"]):
|
||||
var = directive.variable
|
||||
op = directive.operator
|
||||
other_value = convert_textx_value(directive.other_value)
|
||||
assert isinstance(var, str)
|
||||
assert isinstance(op, str)
|
||||
block.control_directives.append(IfCondDirective(var, op, other_value))
|
||||
elif isinstance(directive, scoml_classes["ImportDirective"]):
|
||||
block.import_directives.append(directive.importee)
|
||||
elif isinstance(directive, scoml_classes["ResourceEdgeDirective"]):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user