mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-14 20:03:29 +00:00
LibJS+LibWeb: Return non-const types from Ptr class operators
Even if the pointer value is const, the value they point to is not necessarily const, so these functions should not add the qualifier. This also removes the redundant non-const implementations of these operators.
This commit is contained in:
parent
3483407ddc
commit
66a428ae03
|
@ -72,20 +72,15 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
T* operator->() { return m_ptr; }
|
||||
T const* operator->() const { return m_ptr; }
|
||||
T* operator->() const { return m_ptr; }
|
||||
|
||||
T& operator*() { return *m_ptr; }
|
||||
T const& operator*() const { return *m_ptr; }
|
||||
T& operator*() const { return *m_ptr; }
|
||||
|
||||
T* ptr() { return m_ptr; }
|
||||
T const* ptr() const { return m_ptr; }
|
||||
T* ptr() const { return m_ptr; }
|
||||
|
||||
operator T*() { return m_ptr; }
|
||||
operator T const*() const { return m_ptr; }
|
||||
operator T*() const { return m_ptr; }
|
||||
|
||||
operator T&() { return *m_ptr; }
|
||||
operator T const&() const { return *m_ptr; }
|
||||
operator T&() const { return *m_ptr; }
|
||||
|
||||
private:
|
||||
T* m_ptr { nullptr };
|
||||
|
@ -181,20 +176,14 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
T* operator->() { return m_ptr; }
|
||||
T const* operator->() const { return m_ptr; }
|
||||
|
||||
T& operator*() { return *m_ptr; }
|
||||
T const& operator*() const { return *m_ptr; }
|
||||
|
||||
T* ptr() { return m_ptr; }
|
||||
T const* ptr() const { return m_ptr; }
|
||||
T* operator->() const { return m_ptr; }
|
||||
T& operator*() const { return *m_ptr; }
|
||||
T* ptr() const { return m_ptr; }
|
||||
|
||||
operator bool() const { return !!m_ptr; }
|
||||
bool operator!() const { return !m_ptr; }
|
||||
|
||||
operator T*() { return m_ptr; }
|
||||
operator T const*() const { return m_ptr; }
|
||||
operator T*() const { return m_ptr; }
|
||||
|
||||
private:
|
||||
T* m_ptr { nullptr };
|
||||
|
|
|
@ -60,25 +60,14 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
T* cell()
|
||||
T* cell() const
|
||||
{
|
||||
if (!m_impl)
|
||||
return nullptr;
|
||||
return static_cast<T*>(m_impl->cell());
|
||||
}
|
||||
|
||||
T const* cell() const
|
||||
{
|
||||
if (!m_impl)
|
||||
return nullptr;
|
||||
return static_cast<T const*>(m_impl->cell());
|
||||
}
|
||||
|
||||
T* ptr()
|
||||
{
|
||||
return cell();
|
||||
}
|
||||
T const* ptr() const
|
||||
T* ptr() const
|
||||
{
|
||||
return cell();
|
||||
}
|
||||
|
@ -88,20 +77,12 @@ public:
|
|||
return m_impl.is_null();
|
||||
}
|
||||
|
||||
T* operator->()
|
||||
{
|
||||
return cell();
|
||||
}
|
||||
T const* operator->() const
|
||||
T* operator->() const
|
||||
{
|
||||
return cell();
|
||||
}
|
||||
|
||||
T& operator*()
|
||||
{
|
||||
return *cell();
|
||||
}
|
||||
T const& operator*() const
|
||||
T& operator*() const
|
||||
{
|
||||
return *cell();
|
||||
}
|
||||
|
@ -115,8 +96,7 @@ public:
|
|||
return cell();
|
||||
}
|
||||
|
||||
operator T*() { return cell(); }
|
||||
operator T const*() const { return cell(); }
|
||||
operator T*() const { return cell(); }
|
||||
|
||||
private:
|
||||
explicit Handle(NonnullRefPtr<HandleImpl> impl)
|
||||
|
|
|
@ -121,7 +121,7 @@ WebIDL::ExceptionOr<void> CanvasRenderingContext2D::draw_image_internal(CanvasIm
|
|||
if (usability == CanvasImageSourceUsability::Bad)
|
||||
return {};
|
||||
|
||||
auto const* bitmap = image.visit([](auto const& source) { return source->bitmap(); });
|
||||
auto const* bitmap = image.visit([](auto const& source) -> Gfx::Bitmap const* { return source->bitmap(); });
|
||||
if (!bitmap)
|
||||
return {};
|
||||
|
||||
|
|
Loading…
Reference in a new issue