errcode_map = {}
error_re = re.compile("(E\d\d\d\d)")
+# In the register_long_diagnostics! macro, entries look like this:
+#
+# EXXXX: r##"
+# <Long diagnostic message>
+# "##,
+#
+# These two variables are for detecting the beginning and end of diagnostic
+# messages so that duplicate error codes are not reported when a code occurs
+# inside a diagnostic message
long_diag_begin = "r##\""
long_diag_end = "\"##"
inside_long_diag = False
for line_num, line in enumerate(f, start=1):
if inside_long_diag:
+ # Skip duplicate error code checking for this line
if long_diag_end in line:
inside_long_diag = False
continue