feat: add hashset eq check for irawrule

上级 7a1c8aa1
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)]
pub struct ILocation { pub struct ILocation {
pub filename: String, pub filename: String,
pub line: String, pub line: String,
...@@ -15,7 +15,7 @@ impl ILocation { ...@@ -15,7 +15,7 @@ impl ILocation {
} }
} }
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)]
pub struct ILocatable { pub struct ILocatable {
#[serde(flatten, skip_serializing_if = "Option::is_none")] #[serde(flatten, skip_serializing_if = "Option::is_none")]
pub textmate_location: Option<ILocation>, pub textmate_location: Option<ILocation>,
......
use crate::inter::{ILocatable, IRawRule}; use crate::inter::{ILocatable, IRawRule};
use std::collections::HashMap; use std::collections::HashMap;
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)]
pub struct IRawCapturesMap { pub struct IRawCapturesMap {
#[serde(flatten)] #[serde(flatten)]
pub capture_map: HashMap<String, IRawRule>, pub capture_map: HashMap<String, IRawRule>,
} }
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)]
pub struct IRawCaptures { pub struct IRawCaptures {
#[serde(flatten)] #[serde(flatten)]
pub map: IRawCapturesMap, pub map: IRawCapturesMap,
......
use crate::inter::{ILocation, IRawRule}; use crate::inter::{ILocation, IRawRule};
use std::collections::HashMap; use std::collections::HashMap;
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)]
pub struct IRawRepository { pub struct IRawRepository {
#[serde(flatten)] #[serde(flatten)]
pub map: Box<IRawRepositoryMap>, pub map: Box<IRawRepositoryMap>,
...@@ -18,7 +18,7 @@ impl IRawRepository { ...@@ -18,7 +18,7 @@ impl IRawRepository {
} }
} }
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] #[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)]
pub struct IRawRepositoryMap { pub struct IRawRepositoryMap {
#[serde(flatten)] #[serde(flatten)]
pub name_map: HashMap<String, Box<IRawRule>>, pub name_map: HashMap<String, Box<IRawRule>>,
......
use crate::inter::{ILocation, IRawCaptures, IRawRepository}; use crate::inter::{ILocation, IRawCaptures, IRawRepository};
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] #[derive(Serialize, Deserialize, Eq, PartialEq, Debug, Clone)]
pub struct IRawRule { pub struct IRawRule {
pub id: Option<i32>, pub id: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
......
use crate::inter::IRawRule;
use std::collections::HashSet; use std::collections::HashSet;
use crate::inter::IRawRule;
#[derive(Clone, Debug, Serialize)] #[derive(Clone, Debug, Serialize)]
pub struct PartialScopeDependency { pub struct PartialScopeDependency {
...@@ -47,7 +47,6 @@ impl ScopeDependencyCollector { ...@@ -47,7 +47,6 @@ impl ScopeDependencyCollector {
pub fn add(&mut self, dep: ScopeDependency) { pub fn add(&mut self, dep: ScopeDependency) {
match dep { match dep {
ScopeDependency::FullScopeDependency(full_dep) => { ScopeDependency::FullScopeDependency(full_dep) => {
// self._seen_full.get_or_insert(full_dep.scope_name);
// self._seen_full.get(&*full_dep.scope_name.clone()); // self._seen_full.get(&*full_dep.scope_name.clone());
}, },
ScopeDependency::PartialScopeDependency(_) => { ScopeDependency::PartialScopeDependency(_) => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册