Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#!/usr/bin/env python3
2# ex: set filetype=python:
3
4"""Generate header top boilerplate"""
5
6import os.path
7import time
8
9from generators import Boilerplate, header_guard_infix
10from generators import create_jinja2_environment, get_jinja2_template
11from xdr_ast import Specification
12
13
14class XdrHeaderTopGenerator(Boilerplate):
15 """Generate header boilerplate"""
16
17 def __init__(self, language: str, peer: str):
18 """Initialize an instance of this class"""
19 self.environment = create_jinja2_environment(language, "header_top")
20 self.peer = peer
21
22 def emit_declaration(self, filename: str, root: Specification) -> None:
23 """Emit the top header guard"""
24 template = get_jinja2_template(self.environment, "declaration", "header")
25 print(
26 template.render(
27 infix=header_guard_infix(filename),
28 filename=filename,
29 mtime=time.ctime(os.path.getmtime(filename)),
30 )
31 )
32
33 def emit_definition(self, filename: str, root: Specification) -> None:
34 """Emit the top header guard"""
35 template = get_jinja2_template(self.environment, "definition", "header")
36 print(
37 template.render(
38 infix=header_guard_infix(filename),
39 filename=filename,
40 mtime=time.ctime(os.path.getmtime(filename)),
41 )
42 )
43
44 def emit_source(self, filename: str, root: Specification) -> None:
45 pass