1 /* Additional metadata for a diagnostic.
2    Copyright (C) 2019-2021 Free Software Foundation, Inc.
3    Contributed by David Malcolm <dmalcolm@redhat.com>
4 
5 This file is part of GCC.
6 
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 3, or (at your option) any later
10 version.
11 
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3.  If not see
19 <http://www.gnu.org/licenses/>.  */
20 
21 #ifndef GCC_DIAGNOSTIC_METADATA_H
22 #define GCC_DIAGNOSTIC_METADATA_H
23 
24 /* A bundle of additional metadata that can be associated with a
25    diagnostic.
26 
27    Currently this only supports associating a CWE identifier with a
28    diagnostic.  */
29 
30 class diagnostic_metadata
31 {
32  public:
diagnostic_metadata()33   diagnostic_metadata () : m_cwe (0) {}
34 
add_cwe(int cwe)35   void add_cwe (int cwe) { m_cwe = cwe; }
get_cwe()36   int get_cwe () const { return m_cwe; }
37 
38  private:
39   int m_cwe;
40 };
41 
42 #endif /* ! GCC_DIAGNOSTIC_METADATA_H */
43