Browse Source

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
pull/756/head
Joao Matos 9 years ago
parent
commit
9a5728ec16
  1. 2
      src/AST/Type.cs

2
src/AST/Type.cs

@ -715,7 +715,7 @@ namespace CppSharp.AST
return Arguments.SequenceEqual(type.Arguments) && return Arguments.SequenceEqual(type.Arguments) &&
((Template != null && Template.Name == type.Template.Name) || ((Template != null && Template.Name == type.Template.Name) ||
Desugared == type.Desugared); (Desugared.Type != null && Desugared == type.Desugared));
} }
public override int GetHashCode() public override int GetHashCode()

Loading…
Cancel
Save