Lines Matching full:header

11 def IWYU_mapping(header: str) -> typing.Optional[typing.List[str]]:
20 if any(re.match(pattern, header) for pattern in ignore):
22 elif header == "__bits":
24 elif header in ("__bit_reference", "__fwd/bit_reference.h"):
26 elif re.match("__configuration/.+", header) or header == "__config":
28 elif header == "__hash_table":
30 elif header == "__locale":
32 elif re.match("__locale_dir/.+", header):
34 elif re.match("__math/.+", header):
36 elif header == "__node_handle":
38 elif header == "__split_buffer":
40 elif re.match("(__thread/support[.]h)|(__thread/support/.+)", header):
42 elif header == "__tree":
44 elif header == "__fwd/byte.h":
46 elif header == "__fwd/pair.h":
48 elif header == "__fwd/subrange.h":
50 elif re.match("__fwd/(fstream|ios|istream|ostream|sstream|streambuf)[.]h", header):
53 elif re.match("__fwd/(.+)[.]h", header):
54 return [re.match("__fwd/(.+)[.]h", header).group(1)]
56 elif re.match("__(.+?)/.+", header):
57 return [re.match("__(.+?)/.+", header).group(1)]
73 mappings = [] # Pairs of (header, public_header)
74 for header in libcxx.header_information.all_headers:
75 public_headers = IWYU_mapping(str(header))
77 mappings.extend((header, public) for public in public_headers)
79 # Validate that we only have valid public header names -- otherwise the mapping above
81 for header, public in mappings:
83 raise RuntimeError(f"{header}: Header {public} is not a valid header")
86 for header, public in sorted(mappings):
88 f' {{ include: [ "<{header}>", "private", "<{public}>", "public" ] }},\n'