1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
// Take a look at the license at the top of the repository in the LICENSE file.
use std::fmt;
glib::wrapper! {
/// A location in a parse buffer.
#[doc(alias = "GskParseLocation")]
pub struct ParseLocation(BoxedInline<ffi::GskParseLocation>);
}
impl ParseLocation {
#[inline]
pub fn bytes(&self) -> usize {
self.inner.bytes
}
#[inline]
pub fn chars(&self) -> usize {
self.inner.chars
}
#[inline]
pub fn lines(&self) -> usize {
self.inner.lines
}
#[inline]
pub fn line_bytes(&self) -> usize {
self.inner.line_bytes
}
#[inline]
pub fn line_chars(&self) -> usize {
self.inner.line_chars
}
}
impl fmt::Debug for ParseLocation {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("ParseLocation")
.field("bytes", &self.bytes())
.field("chars", &self.chars())
.field("lines", &self.lines())
.field("line_bytes", &self.line_bytes())
.field("line_chars", &self.line_chars())
.finish()
}
}