Skip to content

Commit

Permalink
fix clippy
Browse files Browse the repository at this point in the history
  • Loading branch information
ematipico committed Jul 16, 2024
1 parent 3404e31 commit 8948a1e
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 27 deletions.
7 changes: 4 additions & 3 deletions crates/core/src/built_in_functions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ use itertools::Itertools;
use rand::prelude::SliceRandom;
use rand::Rng;
use std::collections::BTreeMap;
use grit_pattern_matcher::errors::GritResult;

// todo we can probably use a macro to generate a function that takes a vec and
// and calls the input function with the vec args unpacked.
Expand All @@ -31,7 +32,7 @@ pub type CallableFn = dyn for<'a> Fn(
&'a MarzanoContext<'a>,
&mut State<'a, MarzanoQueryContext>,
&mut AnalysisLogs,
) -> Result<MarzanoResolvedPattern<'a>>
) -> GritResult<MarzanoResolvedPattern<'a>>
+ Send
+ Sync;

Expand All @@ -48,7 +49,7 @@ impl BuiltInFunction {
context: &'a MarzanoContext<'a>,
state: &mut State<'a, MarzanoQueryContext>,
logs: &mut AnalysisLogs,
) -> Result<MarzanoResolvedPattern<'a>> {
) -> GritResult<MarzanoResolvedPattern<'a>> {
(self.func)(args, context, state, logs)
}

Expand Down Expand Up @@ -76,7 +77,7 @@ impl BuiltIns {
context: &'a MarzanoContext<'a>,
state: &mut State<'a, MarzanoQueryContext>,
logs: &mut AnalysisLogs,
) -> Result<MarzanoResolvedPattern<'a>> {
) -> GritResult<MarzanoResolvedPattern<'a>> {
self.0[call.index].call(&call.args, context, state, logs)
}

Expand Down
5 changes: 3 additions & 2 deletions crates/core/src/foreign_function_definition.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ use grit_util::AnalysisLogs;
use marzano_externals::function::ExternalFunction;
use marzano_language::foreign_language::ForeignLanguage;
use std::borrow::Cow;
use grit_pattern_matcher::errors::{GritPatternError, GritResult};

#[derive(Debug, Clone)]
pub struct ForeignFunctionDefinition {
Expand Down Expand Up @@ -123,15 +124,15 @@ impl GritCall<MarzanoQueryContext> for CallForeignFunction<MarzanoQueryContext>
state: &mut State<'a, MarzanoQueryContext>,
context: &'a MarzanoContext<'a>,
logs: &mut AnalysisLogs,
) -> Result<MarzanoResolvedPattern<'a>> {
) -> GritResult<MarzanoResolvedPattern<'a>> {
let function_definition = &context.foreign_function_definitions()[self.index];

match function_definition
.call(state, context, &self.args, logs)?
.ret_val
{
Some(pattern) => Ok(pattern),
None => bail!("Function call did not return a value"),
None =>Err(GritPatternError::new("Function call did not return a value")),
}
}
}
3 changes: 2 additions & 1 deletion crates/core/src/marzano_code_snippet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ use grit_pattern_matcher::{
context::ExecContext,
pattern::{CodeSnippet, DynamicPattern, Matcher, Pattern, PatternName, ResolvedPattern, State},
};
use grit_pattern_matcher::errors::GritResult;
use grit_util::AnalysisLogs;
use marzano_language::language::SortId;

Expand Down Expand Up @@ -56,7 +57,7 @@ impl Matcher<MarzanoQueryContext> for MarzanoCodeSnippet {
state: &mut State<'a, MarzanoQueryContext>,
context: &'a MarzanoContext<'a>,
logs: &mut AnalysisLogs,
) -> Result<bool> {
) -> GritResult<bool> {
let Some(binding) = resolved.get_last_binding() else {
return Ok(resolved.text(&state.files, context.language())?.trim() == self.source);
};
Expand Down
3 changes: 2 additions & 1 deletion crates/core/src/marzano_context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ use marzano_util::{
runtime::ExecutionContext,
};
use std::{borrow::Cow, path::PathBuf};
use grit_pattern_matcher::errors::GritResult;

pub struct MarzanoContext<'a> {
pub pattern_definitions: &'a Vec<PatternDefinition<MarzanoQueryContext>>,
Expand Down Expand Up @@ -115,7 +116,7 @@ impl<'a> ExecContext<'a, MarzanoQueryContext> for MarzanoContext<'a> {
context: &'a Self,
state: &mut State<'a, MarzanoQueryContext>,
logs: &mut AnalysisLogs,
) -> Result<MarzanoResolvedPattern<'a>> {
) -> GritResult<MarzanoResolvedPattern<'a>> {
self.built_ins.call(call, context, state, logs)
}

Expand Down
39 changes: 20 additions & 19 deletions crates/core/src/marzano_resolved_pattern.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ use std::{
collections::{BTreeMap, HashMap},
path::Path,
};
use grit_pattern_matcher::errors::{GritPatternError, GritResult};

#[derive(Debug, Clone, PartialEq)]
pub enum MarzanoResolvedPattern<'a> {
Expand Down Expand Up @@ -352,7 +353,7 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
state: &mut State<'a, MarzanoQueryContext>,
context: &'a MarzanoContext<'a>,
logs: &mut AnalysisLogs,
) -> Result<Self> {
) -> GritResult<Self> {
let mut parts = Vec::new();
for part in &snippet.parts {
match part {
Expand All @@ -368,10 +369,9 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
} else if let Some(pattern) = content.pattern {
Self::from_pattern(pattern, state, context, logs)?
} else {
bail!(
"cannot create resolved snippet from unresolved variable {}",
name
)
return Err(GritPatternError::new(
format!("cannot create resolved snippet from unresolved variable {name}")
))
};
let value = value.to_snippets()?;
parts.extend(value);
Expand All @@ -386,7 +386,7 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
state: &mut State<'a, MarzanoQueryContext>,
context: &'a MarzanoContext<'a>,
logs: &mut AnalysisLogs,
) -> Result<Self> {
) -> GritResult<Self> {
match pattern {
DynamicPattern::Variable(var) => {
let content = &state.bindings[var.scope].last().unwrap()[var.index];
Expand All @@ -397,10 +397,10 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
} else if let Some(pattern) = content.pattern {
Self::from_pattern(pattern, state, context, logs)
} else {
bail!(
"cannot create resolved snippet from unresolved variable {}",
name
)
Err(GritPatternError::new(
format!("cannot create resolved snippet from unresolved variable {name}"),

))
}
}
DynamicPattern::Accessor(accessor) => {
Expand Down Expand Up @@ -428,7 +428,7 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
state: &mut State<'a, MarzanoQueryContext>,
context: &'a MarzanoContext<'a>,
logs: &mut AnalysisLogs,
) -> Result<Self> {
) -> GritResult<Self> {
match accessor.get(state, context.language())? {
Some(PatternOrResolved::Pattern(pattern)) => {
Self::from_pattern(pattern, state, context, logs)
Expand All @@ -444,7 +444,7 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
state: &mut State<'a, MarzanoQueryContext>,
context: &'a MarzanoContext<'a>,
logs: &mut AnalysisLogs,
) -> Result<Self> {
) -> GritResult<Self> {
match index.get(state, context.language())? {
Some(PatternOrResolved::Pattern(pattern)) => {
Self::from_pattern(pattern, state, context, logs)
Expand All @@ -460,7 +460,7 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
state: &mut State<'a, MarzanoQueryContext>,
context: &'a MarzanoContext<'a>,
logs: &mut AnalysisLogs,
) -> Result<Self> {
) -> GritResult<Self> {
match pattern {
Pattern::Dynamic(pattern) => Self::from_dynamic_pattern(pattern, state, context, logs),
Pattern::CodeSnippet(MarzanoCodeSnippet {
Expand All @@ -485,17 +485,18 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
} else if let Some(pattern) = content.pattern {
Self::from_pattern(pattern, state, context, logs)
} else {
bail!(
"cannot create resolved snippet from unresolved variable {}",
name
Err(
GritPatternError::new(
format!("cannot create resolved snippet from unresolved variable {name}")
)
)
}
}
Pattern::List(list) => list
.patterns
.iter()
.map(|pattern| Self::from_pattern(pattern, state, context, logs))
.collect::<Result<Vector<_>>>()
.collect::<GritResult<Vector<_>>>()
.map(Self::List),
Pattern::ListIndex(index) => Self::from_list_index(index, state, context, logs),
Pattern::Map(map) => map
Expand All @@ -507,7 +508,7 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
Self::from_pattern(value, state, context, logs)?,
))
})
.collect::<Result<BTreeMap<_, _>>>()
.collect::<GritResult<BTreeMap<_, _>>>()
.map(Self::Map),
Pattern::Accessor(accessor) => Self::from_accessor(accessor, state, context, logs),
Pattern::File(file_pattern) => {
Expand Down Expand Up @@ -562,7 +563,7 @@ impl<'a> ResolvedPattern<'a, MarzanoQueryContext> for MarzanoResolvedPattern<'a>
| Pattern::Every(_)
| Pattern::Dots
| Pattern::Like(_)
| Pattern::Sequential(_) => Err(anyhow!(format!(
| Pattern::Sequential(_) => Err(GritPatternError::new(format!(
"cannot make resolved pattern from arbitrary pattern {}",
pattern.name()
))),
Expand Down
2 changes: 1 addition & 1 deletion crates/grit-pattern-matcher/src/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ impl GritPatternError {
Self::Matcher(reason.into())
}

pub(crate) fn new(reason: impl Into<String>) -> Self {
pub fn new(reason: impl Into<String>) -> Self {
Self::Generic(reason.into())
}
}
Expand Down

0 comments on commit 8948a1e

Please sign in to comment.