mirror of
https://github.com/slint-ui/slint.git
synced 2025-09-02 08:37:33 +00:00
Fix panic when getting the line, column of diagnostic with invalid span
Introduced in cbc0c790a3
This commit is contained in:
parent
84c4f817f1
commit
4076df928d
2 changed files with 8 additions and 0 deletions
|
@ -304,6 +304,8 @@ SCENARIO("Component Compiler")
|
|||
|
||||
REQUIRE(diags.size() == 1);
|
||||
REQUIRE(diags[0].message.starts_with("Could not load"));
|
||||
REQUIRE(diags[0].line == 0);
|
||||
REQUIRE(diags[0].column == 0);
|
||||
}
|
||||
|
||||
SECTION("Compile from path")
|
||||
|
|
|
@ -208,6 +208,7 @@ pub struct Diagnostic {
|
|||
level: DiagnosticLevel,
|
||||
}
|
||||
|
||||
//NOTE! Diagnostic is re-exported in the public API of the interpreter
|
||||
impl Diagnostic {
|
||||
/// Return the level for this diagnostic
|
||||
pub fn level(&self) -> DiagnosticLevel {
|
||||
|
@ -220,7 +221,12 @@ impl Diagnostic {
|
|||
}
|
||||
|
||||
/// Returns a tuple with the line (starting at 1) and column number (starting at 1)
|
||||
///
|
||||
/// Can also return (0, 0) if the span is invalid
|
||||
pub fn line_column(&self) -> (usize, usize) {
|
||||
if !self.span.span.is_valid() {
|
||||
return (0, 0);
|
||||
}
|
||||
let offset = self.span.span.offset;
|
||||
|
||||
match &self.span.source_file {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue