|
1 | 1 | #![allow(dead_code, unused)]
|
2 | 2 |
|
3 | 3 | use std::borrow::BorrowMut;
|
4 |
| -use std::env; |
5 | 4 | use std::hash::Hash;
|
6 | 5 | use std::{borrow::Borrow, fmt, mem};
|
| 6 | +use std::{env, string}; |
7 | 7 |
|
8 | 8 | use crate::utils::{calls_method, eq_prop_name};
|
9 | 9 | use forge_file_resolver::{FileResolver, ForgeResolver};
|
@@ -146,6 +146,11 @@ pub fn run_resolver(
|
146 | 146 |
|
147 | 147 | // This for loop parses each token of each code statement in the file.
|
148 | 148 | for (curr_mod, module) in modules.iter_enumerated() {
|
| 149 | + let mut string_collector = StringCollector { strings: vec![] }; |
| 150 | + |
| 151 | + module.visit_children_with(&mut string_collector); |
| 152 | + environment.all_strings.extend(string_collector.strings); |
| 153 | + |
149 | 154 | let mut export_collector = ExportCollector {
|
150 | 155 | res_table: &mut environment.resolver,
|
151 | 156 | curr_mod,
|
@@ -583,6 +588,7 @@ pub struct Environment {
|
583 | 588 | pub defs: Definitions,
|
584 | 589 | default_exports: FxHashMap<ModId, DefId>,
|
585 | 590 | pub resolver: ResolverTable,
|
| 591 | + pub all_strings: Vec<String>, |
586 | 592 | }
|
587 | 593 |
|
588 | 594 | struct ImportCollector<'cx> {
|
@@ -3299,6 +3305,26 @@ impl Visit for GlobalCollector<'_> {
|
3299 | 3305 | }
|
3300 | 3306 | }
|
3301 | 3307 |
|
| 3308 | +struct StringCollector { |
| 3309 | + strings: Vec<String>, |
| 3310 | +} |
| 3311 | + |
| 3312 | +impl Visit for StringCollector { |
| 3313 | + fn visit_str(&mut self, n: &Str) { |
| 3314 | + self.add_str(n.value.as_str().to_string()); |
| 3315 | + } |
| 3316 | + |
| 3317 | + fn visit_tpl(&mut self, n: &Tpl) { |
| 3318 | + self.add_str(n.quasis.iter().map(|val| val.raw.as_str()).collect()); |
| 3319 | + } |
| 3320 | +} |
| 3321 | + |
| 3322 | +impl StringCollector { |
| 3323 | + pub fn add_str(&mut self, n: String) { |
| 3324 | + self.strings.push(n); |
| 3325 | + } |
| 3326 | +} |
| 3327 | + |
3302 | 3328 | impl Visit for ExportCollector<'_> {
|
3303 | 3329 | noop_visit_type!();
|
3304 | 3330 | fn visit_export_decl(&mut self, n: &ExportDecl) {
|
|
0 commit comments