Upgrade rsass, remove hashbrown

This commit is contained in:
Max Brunsfeld 2019-08-13 10:08:58 -07:00
parent 84c3bf1dd9
commit 56ce4e5d50
15 changed files with 145 additions and 49 deletions

View file

@ -25,14 +25,13 @@ lazy_static = "1.2.0"
smallbitvec = "2.3.0"
clap = "2.32"
dirs = "1.0.2"
hashbrown = "0.1"
libloading = "0.5"
once_cell = "0.1.8"
serde = "1.0"
serde_derive = "1.0"
regex-syntax = "0.6.4"
regex = "1"
rsass = "^0.9.8"
rsass = "^0.11.0"
tiny_http = "0.6"
webbrowser = "0.5.1"

View file

@ -11,9 +11,8 @@ use crate::generate::tables::{
ProductionInfo, ProductionInfoId,
};
use core::ops::Range;
use hashbrown::hash_map::Entry;
use hashbrown::{HashMap, HashSet};
use std::collections::{BTreeMap, VecDeque};
use std::collections::hash_map::Entry;
use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
use std::fmt::Write;
use std::u32;

View file

@ -1,7 +1,7 @@
use super::item::{ParseItem, ParseItemDisplay, ParseItemSet, TokenSet, TokenSetDisplay};
use crate::generate::grammars::{InlinedProductionMap, LexicalGrammar, SyntaxGrammar};
use crate::generate::rules::{Symbol, SymbolType};
use hashbrown::{HashMap, HashSet};
use std::collections::{HashMap, HashSet};
use std::fmt;
#[derive(Clone, Debug, PartialEq, Eq)]

View file

@ -4,8 +4,8 @@ use crate::generate::dedup::split_state_id_groups;
use crate::generate::grammars::{LexicalGrammar, SyntaxGrammar, VariableType};
use crate::generate::rules::{AliasMap, Symbol};
use crate::generate::tables::{ParseAction, ParseState, ParseStateId, ParseTable, ParseTableEntry};
use hashbrown::{HashMap, HashSet};
use log::info;
use std::collections::{HashMap, HashSet};
use std::mem;
pub(crate) fn minimize_parse_table(

View file

@ -1,7 +1,7 @@
use crate::generate::build_tables::item::{TokenSet, TokenSetDisplay};
use crate::generate::grammars::{LexicalGrammar, SyntaxGrammar};
use crate::generate::nfa::{CharacterSet, NfaCursor, NfaTransition};
use hashbrown::HashSet;
use std::collections::HashSet;
use std::cmp::Ordering;
use std::fmt;

View file

@ -1,6 +1,6 @@
use super::nfa::Nfa;
use super::rules::{Alias, Associativity, Rule, Symbol};
use hashbrown::HashMap;
use std::collections::HashMap;
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub(crate) enum VariableType {

View file

@ -4,9 +4,8 @@ use super::grammars::{
};
use super::rules::{Alias, AliasMap, Symbol, SymbolType};
use crate::error::{Error, Result};
use hashbrown::HashMap;
use serde_derive::Serialize;
use std::collections::BTreeMap;
use std::collections::{BTreeMap, HashMap};
use std::mem;
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]

View file

@ -1,7 +1,7 @@
use super::ExtractedSyntaxGrammar;
use crate::generate::grammars::{Variable, VariableType};
use crate::generate::rules::{Rule, Symbol};
use hashbrown::HashMap;
use std::collections::HashMap;
use std::mem;
struct Expander {

View file

@ -2,7 +2,7 @@ use super::{ExtractedLexicalGrammar, ExtractedSyntaxGrammar, InternedGrammar};
use crate::error::{Error, Result};
use crate::generate::grammars::{ExternalToken, Variable, VariableType};
use crate::generate::rules::{MetadataParams, Rule, Symbol, SymbolType};
use hashbrown::HashMap;
use std::collections::HashMap;
use std::mem;
pub(super) fn extract_tokens(

View file

@ -1,5 +1,5 @@
use crate::generate::grammars::{InlinedProductionMap, Production, ProductionStep, SyntaxGrammar};
use hashbrown::HashMap;
use std::collections::HashMap;
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
struct ProductionStepId {

View file

@ -656,7 +656,13 @@ pub(crate) fn generate_property_sheet(
fn parse_property_sheet(path: &Path, css: &str) -> Result<Vec<Rule>> {
let mut schema_paths = Vec::new();
let mut items = rsass::parse_scss_data(css.as_bytes())?;
let css = css.as_bytes();
let mut items = rsass::parse_scss_data(css).map_err(|(pos, kind)| rsass::Error::ParseError {
file: path.to_string_lossy().into(),
pos: rsass::ErrPos::pos_of(pos, &css),
kind,
})?;
process_at_rules(&mut items, &mut schema_paths, path)?;
let mut result = Vec::new();
let selector_prefixes = vec![Vec::new()];

View file

@ -5,7 +5,7 @@ use super::tables::{
AdvanceAction, FieldLocation, LexState, LexTable, ParseAction, ParseTable, ParseTableEntry,
};
use core::ops::Range;
use hashbrown::{HashMap, HashSet};
use std::collections::{HashMap, HashSet};
use std::fmt::Write;
use std::mem::swap;
use tree_sitter::LANGUAGE_VERSION;

View file

@ -1,4 +1,4 @@
use hashbrown::HashMap;
use std::collections::HashMap;
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub(crate) enum SymbolType {

View file

@ -1,7 +1,6 @@
use super::nfa::CharacterSet;
use super::rules::{Alias, Associativity, Symbol};
use hashbrown::HashMap;
use std::collections::BTreeMap;
use std::collections::{BTreeMap, HashMap};
pub(crate) type ProductionInfoId = usize;
pub(crate) type ParseStateId = usize;