Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/net/sunrpc/xdrgen/generators/header_top.py
26292 views
1
#!/usr/bin/env python3
2
# ex: set filetype=python:
3
4
"""Generate header top boilerplate"""
5
6
import os.path
7
import time
8
9
from generators import Boilerplate, header_guard_infix
10
from generators import create_jinja2_environment, get_jinja2_template
11
from xdr_ast import Specification
12
13
14
class 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
46
47