From 68607811e4e8d6feba95f55c3e49da9923fc35fd Mon Sep 17 00:00:00 2001 From: John Hodge Date: Mon, 31 Aug 2015 14:06:26 +0800 Subject: Convert path bindings to TAGGED_UNION, improve resolve logic (leading to error) --- src/types.hpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src/types.hpp') diff --git a/src/types.hpp b/src/types.hpp index 17d01bb3..7612e743 100644 --- a/src/types.hpp +++ b/src/types.hpp @@ -98,9 +98,6 @@ TAGGED_UNION(TypeData, None, class TypeRef: public Serialisable { - /// A generic pointer, used for tagging with extra information - /// e.g. The source TypeParams for GENERIC - const void* m_tagged_ptr; public: TypeData m_data; @@ -232,10 +229,9 @@ public: bool is_type_param() const { return m_data.is_Generic(); } const ::std::string& type_param() const { return m_data.as_Generic().name; } - void set_type_params_ptr(const AST::TypeParams& p) { assert(is_type_param()); m_tagged_ptr = &p; }; + void set_type_params_ptr(const AST::TypeParams& p) { m_data.as_Generic().params = &p; }; const AST::TypeParams* type_params_ptr() const { - assert(is_type_param()); - return reinterpret_cast(m_tagged_ptr); + return reinterpret_cast( m_data.as_Generic().params ); } bool is_reference() const { return m_data.is_Borrow(); } -- cgit v1.2.3