Browse Source

Report a diagnostic instead of printing to the console.

pull/12/merge
triton 12 years ago
parent
commit
d890b2dabe
  1. 1
      src/Generator/Diagnostics.cs
  2. 7
      src/Generator/Passes/ResolveIncompleteDeclsPass.cs

1
src/Generator/Diagnostics.cs

@ -4,6 +4,7 @@ namespace CppSharp
{ {
public enum DiagnosticId public enum DiagnosticId
{ {
UnresolvedDeclaration,
AmbiguousOverload, AmbiguousOverload,
InvalidOperatorOverload, InvalidOperatorOverload,
SymbolNotFound, SymbolNotFound,

7
src/Generator/Passes/ResolveIncompleteDeclsPass.cs

@ -4,10 +4,6 @@ namespace CppSharp.Passes
{ {
public class ResolveIncompleteDeclsPass : TranslationUnitPass public class ResolveIncompleteDeclsPass : TranslationUnitPass
{ {
public ResolveIncompleteDeclsPass()
{
}
public override bool VisitClassDecl(Class @class) public override bool VisitClassDecl(Class @class)
{ {
if (@class.Ignore) if (@class.Ignore)
@ -23,7 +19,8 @@ namespace CppSharp.Passes
@class.QualifiedName); @class.QualifiedName);
if (@class.CompleteDeclaration == null) if (@class.CompleteDeclaration == null)
Console.WriteLine("Unresolved declaration: {0}", @class.Name); Driver.Diagnostics.EmitWarning(DiagnosticId.UnresolvedDeclaration,
"Unresolved declaration: {0}", @class.Name);
Out: Out:

Loading…
Cancel
Save