diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-11 15:57:20 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-11 15:57:20 +0000 |
commit | c83c8f224e66d7e21e30546bae308ac5fd52677e (patch) | |
tree | 9a15588353036cf2fccfbfb99bf934b3d1f3cbef /c_compiler/include/bindings.hpp | |
parent | e065e781448b86eeeca0152f735649ea2a2edbb6 (diff) | |
download | Compiler-c83c8f224e66d7e21e30546bae308ac5fd52677e.tar.gz Compiler-c83c8f224e66d7e21e30546bae308ac5fd52677e.zip |
Added shared_ptr for less memory leaks
Diffstat (limited to 'c_compiler/include/bindings.hpp')
-rw-r--r-- | c_compiler/include/bindings.hpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/c_compiler/include/bindings.hpp b/c_compiler/include/bindings.hpp index 9ca862f..983a10d 100644 --- a/c_compiler/include/bindings.hpp +++ b/c_compiler/include/bindings.hpp @@ -3,15 +3,18 @@ #include <cstdint> #include <map> +#include <memory> #include <string> class Type; +typedef std::shared_ptr<Type> TypePtr; + // struct containing information on the variable declaration struct DeclarationData { - Type* type; + TypePtr type; int32_t stack_position; }; @@ -26,7 +29,7 @@ private: public: VariableStackBindings(); - void insertBinding(std::string id, Type* type, int32_t stack_position); + void insertBinding(std::string id, TypePtr type, int32_t stack_position); void increaseStackPosition(); int32_t getCurrentStackPosition() const; |