Browse Source

Added severity_spelling to clang::Diagnostic.

merge-requests/37/head
eidheim 11 years ago
parent
commit
5d6fc5846e
  1. 1
      src/CMakeLists.txt
  2. 18
      src/Diagnostic.cc
  3. 5
      src/Diagnostic.h
  4. 1
      src/TranslationUnit.cc

1
src/CMakeLists.txt

@ -40,6 +40,7 @@ set(cc_files
Token.cc Token.cc
Tokens.cc Tokens.cc
TranslationUnit.cc TranslationUnit.cc
Diagnostic.cc
) )
add_library(${project_name} SHARED ${header_files} ${cc_files}) add_library(${project_name} SHARED ${header_files} ${cc_files})

18
src/Diagnostic.cc

@ -0,0 +1,18 @@
#include "Diagnostic.h"
const std::string clang::Diagnostic::get_severity_spelling(unsigned severity) {
switch(severity) {
case 0:
return "Ignored";
case 1:
return "Note";
case 2:
return "Warning";
case 3:
return "Error";
case 4:
return "Fatal";
default:
return "";
}
}

5
src/Diagnostic.h

@ -1,6 +1,6 @@
#ifndef DIAGNOSTIC_H_ #ifndef DIAGNOSTIC_H_
#define DIAGNOSTIC_H_ #define DIAGNOSTIC_H_
#include "TranslationUnit.h" #include <string>
namespace clang { namespace clang {
class Diagnostic { class Diagnostic {
@ -10,7 +10,10 @@ namespace clang {
unsigned line, column, offset; unsigned line, column, offset;
}; };
static const std::string get_severity_spelling(unsigned severity);
unsigned severity; unsigned severity;
std::string severity_spelling;
std::string spelling; std::string spelling;
std::string path; std::string path;
LocationData start_location, end_location; LocationData start_location, end_location;

1
src/TranslationUnit.cc

@ -98,6 +98,7 @@ std::vector<clang::Diagnostic> clang::TranslationUnit::get_diagnostics() {
auto& diagnostic=diagnostics.back(); auto& diagnostic=diagnostics.back();
diagnostic.severity=clang_getDiagnosticSeverity(clang_diagnostic); diagnostic.severity=clang_getDiagnosticSeverity(clang_diagnostic);
diagnostic.severity_spelling=clang::Diagnostic::get_severity_spelling(diagnostic.severity);
diagnostic.spelling=clang_getCString(clang_getDiagnosticSpelling(clang_diagnostic)); diagnostic.spelling=clang_getCString(clang_getDiagnosticSpelling(clang_diagnostic));
SourceLocation location(clang_getDiagnosticLocation(clang_diagnostic)); SourceLocation location(clang_getDiagnosticLocation(clang_diagnostic));
std::string path; std::string path;

Loading…
Cancel
Save