forked from Bananymous/banan-os
BAN: Better ASSERT()
This commit is contained in:
parent
73cd08fa51
commit
1a65ea977d
|
@ -67,7 +67,7 @@ namespace BAN
|
|||
|
||||
ErrorOr<void> String::Insert(char ch, size_type index)
|
||||
{
|
||||
assert(index <= m_size);
|
||||
ASSERT(index <= m_size);
|
||||
TRY(EnsureCapasity(m_size + 2));
|
||||
memmove(m_data + index + 1, m_data + index, m_size - index);
|
||||
m_data[index] = ch;
|
||||
|
@ -94,14 +94,14 @@ namespace BAN
|
|||
|
||||
void String::PopBack()
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
m_data[m_size - 1] = '\0';
|
||||
m_size--;
|
||||
}
|
||||
|
||||
void String::Remove(size_type index)
|
||||
{
|
||||
assert(index < m_size);
|
||||
ASSERT(index < m_size);
|
||||
memmove(m_data + index, m_data + index + 1, m_size - index - 1);
|
||||
m_data[m_size - 1] = '\0';
|
||||
m_size--;
|
||||
|
@ -115,13 +115,13 @@ namespace BAN
|
|||
|
||||
char String::operator[](size_type index) const
|
||||
{
|
||||
assert(index < m_size);
|
||||
ASSERT(index < m_size);
|
||||
return m_data[index];
|
||||
}
|
||||
|
||||
char& String::operator[](size_type index)
|
||||
{
|
||||
assert(index < m_size);
|
||||
ASSERT(index < m_size);
|
||||
return m_data[index];
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace BAN
|
|||
|
||||
char StringView::operator[](size_type index) const
|
||||
{
|
||||
assert(index < m_size);
|
||||
ASSERT(index < m_size);
|
||||
return m_data[index];
|
||||
}
|
||||
|
||||
|
@ -52,10 +52,10 @@ namespace BAN
|
|||
|
||||
StringView StringView::Substring(size_type index, size_type len) const
|
||||
{
|
||||
assert(index <= m_size);
|
||||
ASSERT(index <= m_size);
|
||||
if (len == size_type(-1))
|
||||
len = m_size - index;
|
||||
assert(len <= m_size - index); // weird order to avoid overflow
|
||||
ASSERT(len <= m_size - index); // weird order to avoid overflow
|
||||
StringView result;
|
||||
result.m_data = m_data + index;
|
||||
result.m_size = len;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#if defined(__is_kernel)
|
||||
#include <kernel/Panic.h>
|
||||
#define MUST(error) ({ auto e = error; if (e.IsError()) Kernel::Panic("{}", e.GetError()); e.Value(); })
|
||||
#define ASSERT(cond) do { if (!(cond)) Kernel::Panic("ASSERT() failed"); } while(false)
|
||||
#else
|
||||
#error "NOT IMPLEMENTED"
|
||||
#endif
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace BAN
|
|||
template<typename T>
|
||||
void Queue<T>::Pop()
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
m_data->~T();
|
||||
memmove(m_data, m_data + 1, sizeof(T) * (--m_size));
|
||||
}
|
||||
|
@ -79,14 +79,14 @@ namespace BAN
|
|||
template<typename T>
|
||||
const T& Queue<T>::Front() const
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
return *m_data;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T& Queue<T>::Front()
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
return *m_data;
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ namespace BAN
|
|||
template<typename T>
|
||||
ErrorOr<void> Vector<T>::Insert(const T& value, size_type index)
|
||||
{
|
||||
assert(index <= m_size);
|
||||
ASSERT(index <= m_size);
|
||||
TRY(EnsureCapasity(m_size + 1));
|
||||
memmove(m_data + index + 1, m_data + index, (m_size - index) * sizeof(T));
|
||||
m_data[index] = value;
|
||||
|
@ -94,7 +94,7 @@ namespace BAN
|
|||
template<typename T>
|
||||
void Vector<T>::PopBack()
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
m_data[m_size - 1].~T();
|
||||
m_size--;
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ namespace BAN
|
|||
template<typename T>
|
||||
void Vector<T>::Remove(size_type index)
|
||||
{
|
||||
assert(index < m_size);
|
||||
ASSERT(index < m_size);
|
||||
m_data[index].~T();
|
||||
memmove(m_data + index, m_data + index + 1, (m_size - index - 1) * sizeof(T));
|
||||
m_size--;
|
||||
|
@ -120,41 +120,41 @@ namespace BAN
|
|||
template<typename T>
|
||||
const T& Vector<T>::operator[](size_type index) const
|
||||
{
|
||||
assert(index < m_size);
|
||||
ASSERT(index < m_size);
|
||||
return m_data[index];
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T& Vector<T>::operator[](size_type index)
|
||||
{
|
||||
assert(index < m_size);
|
||||
ASSERT(index < m_size);
|
||||
return m_data[index];
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
const T& Vector<T>::Back() const
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
return m_data[m_size - 1];
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T& Vector<T>::Back()
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
return m_data[m_size - 1];
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
const T& Vector<T>::Front() const
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
return m_data[0];
|
||||
}
|
||||
template<typename T>
|
||||
T& Vector<T>::Front()
|
||||
{
|
||||
assert(m_size > 0);
|
||||
ASSERT(m_size > 0);
|
||||
return m_data[0];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue