From d7be321bfdfb686083a3cf77835b755ffea43d8b Mon Sep 17 00:00:00 2001 From: Saket Date: Sun, 10 Mar 2024 11:10:30 +0530 Subject: [PATCH] refactor(transient-vector): consts and removes unnecessary includes --- .../cpp/jank/runtime/obj/transient_vector.hpp | 14 ++++---- src/cpp/jank/runtime/behavior/callable.cpp | 3 -- .../jank/runtime/obj/transient_hash_map.cpp | 4 +-- src/cpp/jank/runtime/obj/transient_vector.cpp | 32 +++++++------------ 4 files changed, 20 insertions(+), 33 deletions(-) diff --git a/include/cpp/jank/runtime/obj/transient_vector.hpp b/include/cpp/jank/runtime/obj/transient_vector.hpp index 0b0f32d57..12031ad80 100644 --- a/include/cpp/jank/runtime/obj/transient_vector.hpp +++ b/include/cpp/jank/runtime/obj/transient_vector.hpp @@ -1,7 +1,5 @@ #pragma once -#include - namespace jank::runtime { template <> @@ -13,7 +11,7 @@ namespace jank::runtime using persistent_type = static_object; static_object() = default; - static_object(static_object &&) = default; + static_object(static_object &&) noexcept = default; static_object(static_object const &) = default; static_object(detail::native_persistent_vector const &d); static_object(detail::native_persistent_vector &&d); @@ -41,13 +39,13 @@ namespace jank::runtime native_box to_persistent(); /* behavior::callable */ - object_ptr call(object_ptr) const; + object_ptr call(object_ptr const) const; /* behavior::associatively_readable */ - object_ptr get(object_ptr idx) const; - object_ptr get(object_ptr idx, object_ptr fallback) const; - object_ptr get_entry(object_ptr key) const; - native_bool contains(object_ptr key) const; + object_ptr get(object_ptr const idx) const; + object_ptr get(object_ptr const idx, object_ptr const fallback) const; + object_ptr get_entry(object_ptr const idx) const; + native_bool contains(object_ptr const elem) const; void assert_active() const; diff --git a/src/cpp/jank/runtime/behavior/callable.cpp b/src/cpp/jank/runtime/behavior/callable.cpp index 6be50d3d2..59e7e989b 100644 --- a/src/cpp/jank/runtime/behavior/callable.cpp +++ b/src/cpp/jank/runtime/behavior/callable.cpp @@ -1,6 +1,3 @@ -#include "jank/runtime/obj/persistent_vector.hpp" -#include - #include #include diff --git a/src/cpp/jank/runtime/obj/transient_hash_map.cpp b/src/cpp/jank/runtime/obj/transient_hash_map.cpp index 58d00268f..97af6be5c 100644 --- a/src/cpp/jank/runtime/obj/transient_hash_map.cpp +++ b/src/cpp/jank/runtime/obj/transient_hash_map.cpp @@ -5,7 +5,7 @@ namespace jank::runtime { obj::transient_hash_map::static_object(runtime::detail::native_persistent_hash_map &&d) - : data{ d.transient() } + : data{ std::move(d).transient() } { } @@ -15,7 +15,7 @@ namespace jank::runtime } obj::transient_hash_map::static_object(runtime::detail::native_transient_hash_map &&d) - : data{ d } + : data{ std::move(d) } { } diff --git a/src/cpp/jank/runtime/obj/transient_vector.cpp b/src/cpp/jank/runtime/obj/transient_vector.cpp index 86650703f..370ac4e65 100644 --- a/src/cpp/jank/runtime/obj/transient_vector.cpp +++ b/src/cpp/jank/runtime/obj/transient_vector.cpp @@ -1,15 +1,7 @@ -#include -#include -#include -#include -#include -#include -#include - namespace jank::runtime { obj::transient_vector::static_object(runtime::detail::native_persistent_vector &&d) - : data{ d.transient() } + : data{ std::move(d).transient() } { } @@ -19,7 +11,7 @@ namespace jank::runtime } obj::transient_vector::static_object(runtime::detail::native_transient_vector &&d) - : data{ d } + : data{ std::move(d) } { } @@ -90,7 +82,7 @@ namespace jank::runtime } } - object_ptr obj::transient_vector::get(object_ptr idx) const + object_ptr obj::transient_vector::get(object_ptr const idx) const { assert_active(); if(idx->type == object_type::integer) @@ -110,7 +102,7 @@ namespace jank::runtime } } - object_ptr obj::transient_vector::get(object_ptr idx, object_ptr fallback) const + object_ptr obj::transient_vector::get(object_ptr const idx, object_ptr const fallback) const { assert_active(); if(idx->type == object_type::integer) @@ -130,30 +122,30 @@ namespace jank::runtime } } - object_ptr obj::transient_vector::get_entry(object_ptr const key) const + object_ptr obj::transient_vector::get_entry(object_ptr const idx) const { - if(key->type == object_type::integer) + if(idx->type == object_type::integer) { - auto const i(expect_object(key)->data); + auto const i(expect_object(idx)->data); if(i < 0 || data.size() <= static_cast(i)) { return obj::nil::nil_const(); } /* TODO: Map entry type? */ - return make_box(key, data[i]); + return make_box(idx, data[i]); } else { throw std::runtime_error{ fmt::format("get_entry on a vector must be an integer; found {}", - runtime::detail::to_string(key)) }; + runtime::detail::to_string(idx)) }; } } - native_bool obj::transient_vector::contains(object_ptr const key) const + native_bool obj::transient_vector::contains(object_ptr const elem) const { - if(key->type == object_type::integer) + if(elem->type == object_type::integer) { - auto const i(expect_object(key)->data); + auto const i(expect_object(elem)->data); return i >= 0 && static_cast(i) < data.size(); } else