def name(cls): """ Return the name that will be used in code generation for this AST node type. """ name = names.Name.from_camel(cls.__name__) return (name + names.Name('Node') if is_keyword(name) else name)
def get_enumerator(cls, alt): """ Return a names.Name instance for alt's enumerator name. This is used in Ada code generation. :param str alt: The alternative for which we want the enumerator name. :rtype: names.Name """ result = names.Name(alt) return (result + names.Name.from_lower(cls.suffix) if is_keyword(result) else result)
def escape(cls, name, suffix): return (name + suffix if is_keyword(name.base_name) else name)
def escape(cls, name: names.Name, suffix: names.Name) -> names.Name: return (name + suffix if is_keyword(name.base_name) else name)