Source code for ifgen.enum.source

"""
A module for generating enumeration source files.
"""

# third-party
from vcorelib.io import IndentedFileWriter

# internal
from ifgen.enum.common import enum_to_string_function, string_to_enum_function
from ifgen.generation.interface import GenerateTask


[docs] def enum_source(task: GenerateTask, writer: IndentedFileWriter) -> None: """Create a source file for an enumeration.""" enum_to_string_function(task, writer, task.instance["use_map"]) writer.empty() string_to_enum_function(task, writer, task.instance["use_map"])
[docs] def create_enum_source(task: GenerateTask) -> None: """Create a source file based on an enum definition.""" if task.is_python: return if task.instance["use_map"]: with task.source_boilerplate(["<map>", "<string>"]) as writer: enum_source(task, writer)