You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Tools/SerializeContextAnalyzer/Text_Utilities.jinja

43 lines
1.7 KiB
Django/Jinja

{#######################################################################################
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
#####################################################################################-#}
{% macro PrintName(uuid, class) %}
{% if class.Namespace is defined %}
{% set className = "{0}::{1}".format(class.Namespace, class.Name) %}
{% else %}
{% set className = class.Name %}
{% endif %}
{% if class.Id == className %}
{{ uuid }} - {{class.Id}}
{% else %}
{{ uuid }} - {{class.Id}} - {{className}}
{% endif %}
{%- endmacro -%}
{% macro PrintPrimitive(context, uuid) %}
{% if context[uuid] is defined and context[uuid].IsPrimitive %}
[Primitive]
{%- endif -%}
{%- endmacro -%}
{% macro PrintClassContent(context, indention, uuid) %}
{% if context[uuid] is defined %}
{% for base in context[uuid].Bases -%}
{{ ' '|safe*indention}}{{ base.Type }} [Base]
{{ PrintClassContent(context, indention + 2, base.Uuid) -}}
{% endfor -%}
{% for field in context[uuid].Fields -%}
{{ ' '|safe*indention}}{{ field.Type }} {{ field.Name }} {{ PrintPrimitive(context, field.Uuid) }}
{{ PrintClassContent(context, indention + 2, field.Uuid) -}}
{% endfor -%}
{% endif -%}
{% endmacro -%}