File Index
Files and directories
Sign in
FILE

header_top.py

File preview with syntax highlighting.

linux-6.19.14/tools/net/sunrpc/xdrgen/generators/header_top.py PYTHON
 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
~/ Read-only file preview.