Browse Source

Fixed parsing of enum items to use normal declaration comments.

pull/123/head
triton 12 years ago
parent
commit
e059f5e099
  1. 5
      src/CppParser/Parser.cpp
  2. 8
      src/Generator/Generators/CLI/CLITextTemplate.cs
  3. 8
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs

5
src/CppParser/Parser.cpp

@ -1466,10 +1466,6 @@ Enumeration* Parser::WalkEnum(clang::EnumDecl* ED)
{ {
clang::EnumConstantDecl* ECD = (*it); clang::EnumConstantDecl* ECD = (*it);
std::string BriefText;
if (const clang::RawComment* Comment = AST->getRawCommentForAnyRedecl(ECD))
BriefText = Comment->getBriefText(*AST);
auto EnumItem = Enumeration::Item(); auto EnumItem = Enumeration::Item();
HandleDeclaration(ECD, &EnumItem); HandleDeclaration(ECD, &EnumItem);
@ -1477,7 +1473,6 @@ Enumeration* Parser::WalkEnum(clang::EnumDecl* ED)
auto Value = ECD->getInitVal(); auto Value = ECD->getInitVal();
EnumItem.Value = Value.isSigned() ? Value.getSExtValue() EnumItem.Value = Value.isSigned() ? Value.getSExtValue()
: Value.getZExtValue(); : Value.getZExtValue();
EnumItem.Comment = BriefText;
std::string Text; std::string Text;
if (GetDeclText(ECD->getSourceRange(), Text)) if (GetDeclText(ECD->getSourceRange(), Text))

8
src/Generator/Generators/CLI/CLITextTemplate.cs

@ -108,13 +108,15 @@ namespace CppSharp.Generators.CLI
PopBlock(); PopBlock();
} }
public void GenerateInlineSummary(string comment) public void GenerateInlineSummary(RawComment comment)
{ {
if (String.IsNullOrWhiteSpace(comment)) if (comment == null) return;
if (String.IsNullOrWhiteSpace(comment.BriefText))
return; return;
PushBlock(BlockKind.InlineComment); PushBlock(BlockKind.InlineComment);
WriteLine("/// <summary> {0} </summary>", comment); WriteLine("/// <summary> {0} </summary>", comment.BriefText);
PopBlock(); PopBlock();
} }

8
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -316,13 +316,15 @@ namespace CppSharp.Generators.CSharp
PopBlock(); PopBlock();
} }
public void GenerateInlineSummary(string comment) public void GenerateInlineSummary(RawComment comment)
{ {
if (string.IsNullOrWhiteSpace(comment)) if (comment == null) return;
if (string.IsNullOrWhiteSpace(comment.BriefText))
return; return;
PushBlock(BlockKind.InlineComment); PushBlock(BlockKind.InlineComment);
WriteLine("/// <summary>{0}</summary>", comment); WriteLine("/// <summary>{0}</summary>", comment.BriefText);
PopBlock(); PopBlock();
} }

Loading…
Cancel
Save