Browse Source

Get rid of diagnostic IDs as these never got used in practice.

pull/491/head
triton 10 years ago
parent
commit
2620fda064
  1. 49
      src/Core/Diagnostics.cs
  2. 16
      src/Generator/Driver.cs
  3. 3
      src/Generator/Passes/CheckOperatorsOverloads.cs
  4. 3
      src/Generator/Passes/FindSymbolsPass.cs
  5. 3
      src/Generator/Passes/ResolveIncompleteDeclsPass.cs

49
src/Core/Diagnostics.cs

@ -5,19 +5,6 @@ using System.Linq;
namespace CppSharp namespace CppSharp
{ {
public enum DiagnosticId
{
None,
UnresolvedDeclaration,
AmbiguousOverload,
InvalidOperatorOverload,
SymbolNotFound,
FileGenerated,
ParseResult,
ParserDiagnostic,
PropertySynthetized
}
/// <summary> /// <summary>
/// Represents the kind of the diagnostic. /// Represents the kind of the diagnostic.
/// </summary> /// </summary>
@ -52,12 +39,6 @@ namespace CppSharp
{ {
public static void Debug(this IDiagnosticConsumer consumer, public static void Debug(this IDiagnosticConsumer consumer,
string msg, params object[] args) string msg, params object[] args)
{
consumer.Debug(DiagnosticId.None, msg, args);
}
public static void Debug(this IDiagnosticConsumer consumer,
DiagnosticId id, string msg, params object[] args)
{ {
var diagInfo = new DiagnosticInfo var diagInfo = new DiagnosticInfo
{ {
@ -69,7 +50,7 @@ namespace CppSharp
} }
public static void EmitMessage(this IDiagnosticConsumer consumer, public static void EmitMessage(this IDiagnosticConsumer consumer,
DiagnosticId id, string msg, params object[] args) string msg, params object[] args)
{ {
var diagInfo = new DiagnosticInfo var diagInfo = new DiagnosticInfo
{ {
@ -81,7 +62,7 @@ namespace CppSharp
} }
public static void EmitWarning(this IDiagnosticConsumer consumer, public static void EmitWarning(this IDiagnosticConsumer consumer,
DiagnosticId id, string msg, params object[] args) string msg, params object[] args)
{ {
var diagInfo = new DiagnosticInfo var diagInfo = new DiagnosticInfo
{ {
@ -93,35 +74,11 @@ namespace CppSharp
} }
public static void EmitError(this IDiagnosticConsumer consumer, public static void EmitError(this IDiagnosticConsumer consumer,
DiagnosticId id, string msg, params object[] args)
{
var diagInfo = new DiagnosticInfo
{
Kind = DiagnosticKind.Error,
Message = string.Format(msg, args)
};
consumer.Emit(diagInfo);
}
public static void EmitMessage(this IDiagnosticConsumer consumer,
string msg, params object[] args)
{
var diagInfo = new DiagnosticInfo
{
Kind = DiagnosticKind.Message,
Message = string.Format(msg, args)
};
consumer.Emit(diagInfo);
}
public static void EmitWarning(this IDiagnosticConsumer consumer,
string msg, params object[] args) string msg, params object[] args)
{ {
var diagInfo = new DiagnosticInfo var diagInfo = new DiagnosticInfo
{ {
Kind = DiagnosticKind.Warning, Kind = DiagnosticKind.Error,
Message = string.Format(msg, args) Message = string.Format(msg, args)
}; };

16
src/Generator/Driver.cs

@ -90,16 +90,13 @@ namespace CppSharp
switch (result.Kind) switch (result.Kind)
{ {
case ParserResultKind.Success: case ParserResultKind.Success:
Diagnostics.EmitMessage(DiagnosticId.ParseResult, Diagnostics.EmitMessage("Parsed '{0}'", file);
"Parsed '{0}'", file);
break; break;
case ParserResultKind.Error: case ParserResultKind.Error:
Diagnostics.EmitError(DiagnosticId.ParseResult, Diagnostics.EmitError("Error parsing '{0}'", file);
"Error parsing '{0}'", file);
break; break;
case ParserResultKind.FileNotFound: case ParserResultKind.FileNotFound:
Diagnostics.EmitError(DiagnosticId.ParseResult, Diagnostics.EmitError("File '{0}' was not found", file);
"File '{0}' was not found", file);
break; break;
} }
@ -114,10 +111,9 @@ namespace CppSharp
if (diag.Level == ParserDiagnosticLevel.Note) if (diag.Level == ParserDiagnosticLevel.Note)
continue; continue;
Diagnostics.EmitMessage(DiagnosticId.ParserDiagnostic, Diagnostics.EmitMessage("{0}({1},{2}): {3}: {4}",
"{0}({1},{2}): {3}: {4}", diag.FileName, diag.LineNumber, diag.FileName, diag.LineNumber, diag.ColumnNumber,
diag.ColumnNumber, diag.Level.ToString().ToLower(), diag.Level.ToString().ToLower(), diag.Message);
diag.Message);
} }
} }

3
src/Generator/Passes/CheckOperatorsOverloads.cs

@ -51,8 +51,7 @@ namespace CppSharp.Passes
{ {
if (!IsValidOperatorOverload(@operator)) if (!IsValidOperatorOverload(@operator))
{ {
Driver.Diagnostics.Debug(DiagnosticId.InvalidOperatorOverload, Driver.Diagnostics.Debug("Invalid operator overload {0}::{1}",
"Invalid operator overload {0}::{1}",
@class.OriginalName, @operator.OperatorKind); @class.OriginalName, @operator.OperatorKind);
@operator.ExplicitlyIgnore(); @operator.ExplicitlyIgnore();
continue; continue;

3
src/Generator/Passes/FindSymbolsPass.cs

@ -28,8 +28,7 @@ namespace CppSharp.Passes
if (!Driver.Symbols.FindSymbol(ref symbol)) if (!Driver.Symbols.FindSymbol(ref symbol))
{ {
Driver.Diagnostics.EmitWarning(DiagnosticId.SymbolNotFound, Driver.Diagnostics.EmitWarning("Symbol not found: {0}", symbol);
"Symbol not found: {0}", symbol);
return false; return false;
} }

3
src/Generator/Passes/ResolveIncompleteDeclsPass.cs

@ -52,8 +52,7 @@ namespace CppSharp.Passes
if (@enum.CompleteDeclaration == null) if (@enum.CompleteDeclaration == null)
{ {
@enum.GenerationKind = GenerationKind.Internal; @enum.GenerationKind = GenerationKind.Internal;
Driver.Diagnostics.EmitWarning(DiagnosticId.UnresolvedDeclaration, Driver.Diagnostics.EmitWarning("Unresolved declaration: {0}", @enum.Name);
"Unresolved declaration: {0}", @enum.Name);
} }
Out: Out:

Loading…
Cancel
Save