Browse Source

Fixed wrong recording of declaration order (#816)

This is a bugfix for critical bug. With the fix the generation of the parser bindings should be nearly correct.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/614/merge 0.8.9
realvictorprm 8 years ago committed by Dimitar Dobrev
parent
commit
936d2231a7
  1. 11822
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs
  2. 12322
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
  3. 11810
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs
  4. 11824
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs
  5. 11818
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs
  6. 11870
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
  7. 2
      src/CppParser/Parser.cpp
  8. 3
      src/Generator/Passes/RenamePass.cs

11822
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

12322
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

11810
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

11824
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

11818
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

11870
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

2
src/CppParser/Parser.cpp

@ -3547,7 +3547,7 @@ Declaration* Parser::WalkDeclaration(const clang::Decl* D, @@ -3547,7 +3547,7 @@ Declaration* Parser::WalkDeclaration(const clang::Decl* D,
if (WalkRedecls)
for (auto redecl : RD->redecls())
Class->Redeclarations.push_back(WalkDeclaration(redecl, CanBeDefinition, false));
Class->Redeclarations.push_back(WalkDeclaration(redecl, false, false));
// We store a definition order index into the declarations.
// This is needed because declarations are added to their contexts as

3
src/Generator/Passes/RenamePass.cs

@ -218,8 +218,7 @@ namespace CppSharp.Passes @@ -218,8 +218,7 @@ namespace CppSharp.Passes
public override bool VisitClassDecl(Class @class)
{
if (!base.VisitClassDecl(@class))
return false;
base.VisitClassDecl(@class);
foreach (var property in @class.Properties.OrderByDescending(p => p.Access))
VisitProperty(property);

Loading…
Cancel
Save