From 69bd424c757a53ccdd126c9a04ec8e26cfa0406c Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Wed, 25 May 2016 18:29:11 +0300 Subject: [PATCH] Temporarily suspended the completion of types because it causes problems while not useful yet. Signed-off-by: Dimitar Dobrev --- src/CppParser/Parser.cpp | 2 ++ src/Generator.Tests/AST/TestAST.cs | 3 +-- tests/CSharp/CSharp.Tests.cs | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index fbc93bd0..a71d227f 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -1627,6 +1627,8 @@ static const clang::Type* GetFinalType(const clang::Type* Ty) bool Parser::ShouldCompleteType(const clang::QualType& QualType, bool LocValid) { + // HACK: the completion of types is temporarily suspended because of problems with QtWidgets; will restore when it's time to wrap functions in template types + return false; auto FinalType = GetFinalType(QualType.getTypePtr()); if (auto Tag = FinalType->getAsTagDecl()) { diff --git a/src/Generator.Tests/AST/TestAST.cs b/src/Generator.Tests/AST/TestAST.cs index 58b3eb90..2b1d8ecb 100644 --- a/src/Generator.Tests/AST/TestAST.cs +++ b/src/Generator.Tests/AST/TestAST.cs @@ -226,8 +226,7 @@ namespace CppSharp.Generator.Tests.AST Assert.AreEqual(3, template.Specializations.Count); Assert.AreEqual(TemplateSpecializationKind.ExplicitInstantiationDefinition, template.Specializations[0].SpecializationKind); Assert.AreEqual(TemplateSpecializationKind.ExplicitInstantiationDefinition, template.Specializations[1].SpecializationKind); - // the instantian is not declared in the header but we force the completion the types in our parser - Assert.AreEqual(TemplateSpecializationKind.ImplicitInstantiation, template.Specializations[2].SpecializationKind); + Assert.AreEqual(TemplateSpecializationKind.Undeclared, template.Specializations[2].SpecializationKind); var typeDef = AstContext.FindTypedef("TestTemplateClassInt").FirstOrDefault(); Assert.IsNotNull(typeDef, "Couldn't find TestTemplateClassInt typedef."); var integerInst = typeDef.Type as TemplateSpecializationType; diff --git a/tests/CSharp/CSharp.Tests.cs b/tests/CSharp/CSharp.Tests.cs index 8dcd38ea..e4b1feeb 100644 --- a/tests/CSharp/CSharp.Tests.cs +++ b/tests/CSharp/CSharp.Tests.cs @@ -503,7 +503,8 @@ public class CSharpTests : GeneratorTestFixture Assert.IsTrue(VirtualDtorAddedInDerived.DtorCalled); } - [Test] + // HACK: the completion of types is temporarily suspended because of problems with QtWidgets + [Test, Ignore] public void TestTemplateInternals() { foreach (var internalType in new[]