add jinja2-based renderer for object diagrams
This commit is contained in:
parent
26d8655147
commit
200f2a3ede
4 changed files with 85 additions and 3 deletions
18
concrete_syntax/textual_od/objectdiagrams.jinja2
Normal file
18
concrete_syntax/textual_od/objectdiagrams.jinja2
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{% macro render_name(name) %}{{ name if not hide_names or name.startswith("__") else "" }}{% endmacro %}
|
||||
|
||||
{% macro render_attributes(obj) %} {
|
||||
{% for attr_name in odapi.get_slots(obj) %}
|
||||
{{ attr_name}} = {{ display_value(
|
||||
val=odapi.get_slot_value(obj, attr_name),
|
||||
type_name=odapi.get_type_name(odapi.get_slot(obj, attr_name)),
|
||||
indentation=4) }};
|
||||
{% endfor %}
|
||||
}{% endmacro %}
|
||||
|
||||
{% for obj_name, obj in objects %}
|
||||
{{ render_name(obj_name) }}:{{ odapi.get_type_name(obj) }}{{ render_attributes(obj) }}
|
||||
{% endfor %}
|
||||
|
||||
{% for lnk_name, lnk in links %}
|
||||
{{ render_name(obj_name) }}:{{ odapi.get_type_name(lnk) }} ({{odapi.get_name(odapi.get_source(lnk))}} -> {{odapi.get_name(odapi.get_target(lnk))}}){{ render_attributes(lnk) }}
|
||||
{% endfor %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue