use std::collections::HashMap;
use multiset::HashMultiSet;
use crate::grammars::defineast::{DefineAst, PreTokenDefine};
use crate::utils::structs::FileTokPos;
use super::multilexer::MultiLexer;
use super::pretoken::PreToken;
#[derive(Debug, Clone)]
pub struct ExpandData<'a> {
pub definitions: &'a HashMap<String, DefineAst>,
pub disabledMacros: &'a HashMultiSet<String>,
pub lexer: &'a MultiLexer,
pub namedArgs: &'a HashMap<String, Vec<FileTokPos<PreToken>>>,
pub variadic: &'a Vec<Vec<FileTokPos<PreToken>>>,
pub astId: &'a String,
pub replacement: &'a Vec<PreTokenDefine>,
pub newToken: &'a FileTokPos<PreToken>,
pub expandArg: bool,
}