Browse Source

Clean up the contributed diagnostic code.

pull/1/head
triton 12 years ago
parent
commit
cb41f904e8
  1. 15
      src/Generator/Parser.cs
  2. 11
      src/Parser/Parser.cpp
  3. 6
      src/Parser/Parser.h

15
src/Generator/Parser.cs

@ -16,7 +16,7 @@ namespace Cxxi @@ -16,7 +16,7 @@ namespace Cxxi
public bool ParseHeaders(IEnumerable<string> headers)
{
bool bHasErrors = false;
bool hasErrors = false;
foreach (var header in headers)
{
var result = ParseHeader(header);
@ -26,16 +26,19 @@ namespace Cxxi @@ -26,16 +26,19 @@ namespace Cxxi
{
foreach (var diag in result.Diagnostics)
{
if (diag.Level == ParserDiagnosticLevel.Error || diag.Level == ParserDiagnosticLevel.Fatal)
if (diag.Level == ParserDiagnosticLevel.Error ||
diag.Level == ParserDiagnosticLevel.Fatal)
{
Console.WriteLine(String.Format("{0}({1},{2}): error: {3}", diag.FileName, diag.lineNumber, diag.columnNumber, diag.Message));
bHasErrors = true;
Console.WriteLine(string.Format("{0}({1},{2}): error: {3}",
diag.FileName, diag.LineNumber, diag.ColumnNumber,
diag.Message));
hasErrors = true;
}
}
}
} //if
}
return !bHasErrors;
return !hasErrors;
}
public ParserResult ParseHeader(string file)

11
src/Parser/Parser.cpp

@ -1638,19 +1638,16 @@ ParserResult^ Parser::Parse(const std::string& File) @@ -1638,19 +1638,16 @@ ParserResult^ Parser::Parse(const std::string& File)
auto PDiag = ParserDiagnostic();
PDiag.FileName = marshalString<E_UTF8>(FileName.str());
PDiag.Message = marshalString<E_UTF8>(Diag.Message.str());
PDiag.lineNumber = 0;
PDiag.columnNumber = 0;
PDiag.LineNumber = 0;
PDiag.ColumnNumber = 0;
//
// Idea copied from CGDebugInfo::getLineNumber
//
if( !Diag.Location.isInvalid() )
{
clang::PresumedLoc PLoc = Source.getPresumedLoc(Diag.Location);
if( PLoc.isValid() )
{
PDiag.lineNumber = PLoc.getLine();
PDiag.columnNumber = PLoc.getColumn();
PDiag.LineNumber = PLoc.getLine();
PDiag.ColumnNumber = PLoc.getColumn();
}
}

6
src/Parser/Parser.h

@ -55,7 +55,6 @@ public ref struct ParserOptions @@ -55,7 +55,6 @@ public ref struct ParserOptions
bool Verbose;
};
public enum struct ParserDiagnosticLevel
{
Ignored,
@ -65,14 +64,13 @@ public enum struct ParserDiagnosticLevel @@ -65,14 +64,13 @@ public enum struct ParserDiagnosticLevel
Fatal
};
public value struct ParserDiagnostic
{
System::String^ FileName;
int lineNumber;
int columnNumber;
System::String^ Message;
ParserDiagnosticLevel Level;
int LineNumber;
int ColumnNumber;
};
public enum struct ParserResultKind

Loading…
Cancel
Save