(imports []*ast.Statement)
| 215 | } |
| 216 | |
| 217 | func groupByModuleSpecifier(imports []*ast.Statement) [][]*ast.Statement { |
| 218 | groups := make(map[string][]*ast.Statement) |
| 219 | var order []string |
| 220 | |
| 221 | for _, imp := range imports { |
| 222 | specifier := lsutil.GetExternalModuleName(imp.ModuleSpecifier()) |
| 223 | if _, exists := groups[specifier]; !exists { |
| 224 | order = append(order, specifier) |
| 225 | } |
| 226 | groups[specifier] = append(groups[specifier], imp) |
| 227 | } |
| 228 | |
| 229 | result := make([][]*ast.Statement, 0, len(order)) |
| 230 | for _, key := range order { |
| 231 | result = append(result, groups[key]) |
| 232 | } |
| 233 | return result |
| 234 | } |
| 235 | |
| 236 | func removeUnusedImports(oldImports []*ast.Statement, sourceFile *ast.SourceFile, typeChecker *checker.Checker, program *compiler.Program, changeTracker *change.Tracker) []*ast.Statement { |
| 237 | compilerOptions := program.Options() |
no test coverage detected