From 9a5728ec163b86e34f42a83a3836766f31735f1b Mon Sep 17 00:00:00 2001 From: Joao Matos Date: Tue, 7 Feb 2017 16:10:13 +0000 Subject: [PATCH] Fixed equality testing of unsugared template specializalition types. Fixes crash in Test.AST.TestAmbiguity. System.NullReferenceException: Object reference not set to an instance of an object at CppSharp.AST.QualifiedType.Equals (System.Object obj) [0x00027] in /Users/joao/Dev/MonoEmbeddinator4000/external/CppSharp/src/AST/Type.cs:89 at CppSharp.AST.QualifiedType.op_Equality (CppSharp.AST.QualifiedType left, CppSharp.AST.QualifiedType right) [0x0000f] in /Users/joao/Dev/MonoEmbeddinator4000/external/CppSharp/src/AST/Type.cs:94 at CppSharp.AST.TemplateSpecializationType.Equals (System.Object obj) [0x00062] in /Users/joao/Dev/MonoEmbeddinator4000/external/CppSharp/src/AST/Type.cs:718 at CppSharp.AST.TypedefType.Equals (System.Object obj) [0x0002a] in /Users/joao/Dev/MonoEmbeddinator4000/external/CppSharp/src/AST/Type.cs:447 --- src/AST/Type.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AST/Type.cs b/src/AST/Type.cs index ca04d63b..2105b798 100644 --- a/src/AST/Type.cs +++ b/src/AST/Type.cs @@ -715,7 +715,7 @@ namespace CppSharp.AST return Arguments.SequenceEqual(type.Arguments) && ((Template != null && Template.Name == type.Template.Name) || - Desugared == type.Desugared); + (Desugared.Type != null && Desugared == type.Desugared)); } public override int GetHashCode()