grit_pattern_matcher/
errors.rs1use crate::{
2 context::QueryContext,
3 pattern::{get_file_name, State},
4};
5use grit_util::{
6 error::{GritPatternError, GritResult},
7 AnalysisLogBuilder, AnalysisLogs,
8};
9
10pub fn debug<'a, Q: QueryContext>(
11 analysis_logs: &mut AnalysisLogs,
12 state: &State<'a, Q>,
13 lang: &Q::Language<'a>,
14 message: &str,
15) -> GritResult<()> {
16 let mut builder = AnalysisLogBuilder::default();
17 builder.level(501_u16);
18 builder.message(message);
19
20 if let Ok(file) = get_file_name(state, lang) {
21 builder.file(file);
22 }
23
24 let log = builder.build();
25 match log {
26 Ok(log) => analysis_logs.push(log),
27 Err(err) => return Err(GritPatternError::Builder(err.to_string())),
28 }
29 Ok(())
30}
31
32pub fn warning<'a, Q: QueryContext>(
33 analysis_logs: &mut AnalysisLogs,
34 state: &State<'a, Q>,
35 lang: &Q::Language<'a>,
36 message: &str,
37) -> GritResult<()> {
38 let mut builder = AnalysisLogBuilder::default();
39 builder.level(301_u16);
40 builder.message(message);
41
42 if let Ok(file) = get_file_name(state, lang) {
43 builder.file(file);
44 }
45
46 let log = builder.build();
47 match log {
48 Ok(log) => analysis_logs.push(log),
49 Err(err) => return Err(GritPatternError::Builder(err.to_string())),
50 }
51 Ok(())
52}