⬅️ Back to Table of Contents
📄 ImportVisitor.ts
📊 Analysis Summary
Metric |
Count |
🔧 Functions |
5 |
🧱 Classes |
1 |
📦 Imports |
4 |
📊 Variables & Constants |
4 |
📚 Table of Contents
🛠️ File Location:
📂 packages/scope-manager/src/referencer/ImportVisitor.ts
📦 Imports
Name |
Source |
TSESTree |
@typescript-eslint/types |
Referencer |
./Referencer |
ImportBindingDefinition |
../definition |
Visitor |
./Visitor |
Variables & Constants
Name |
Type |
Kind |
Value |
Exported |
importReferencer |
ImportVisitor |
const |
new ImportVisitor(declaration, referencer) |
✗ |
local |
any |
const |
node.local |
✗ |
local |
any |
const |
node.local |
✗ |
local |
any |
const |
node.local |
✗ |
Functions
ImportVisitor.visit(referencer: Referencer, declaration: TSESTree.ImportDeclaration): void
Code
static visit(
referencer: Referencer,
declaration: TSESTree.ImportDeclaration,
): void {
const importReferencer = new ImportVisitor(declaration, referencer);
importReferencer.visit(declaration);
}
- Parameters:
referencer: Referencer
declaration: TSESTree.ImportDeclaration
- Return Type:
void
- Calls:
importReferencer.visit
ImportVisitor.ImportDefaultSpecifier(node: TSESTree.ImportDefaultSpecifier): void
Code
protected ImportDefaultSpecifier(
node: TSESTree.ImportDefaultSpecifier,
): void {
const local = node.local;
this.visitImport(local, node);
}
- Parameters:
node: TSESTree.ImportDefaultSpecifier
- Return Type:
void
- Calls:
this.visitImport
ImportVisitor.ImportNamespaceSpecifier(node: TSESTree.ImportNamespaceSpecifier): void
Code
protected ImportNamespaceSpecifier(
node: TSESTree.ImportNamespaceSpecifier,
): void {
const local = node.local;
this.visitImport(local, node);
}
- Parameters:
node: TSESTree.ImportNamespaceSpecifier
- Return Type:
void
- Calls:
this.visitImport
ImportVisitor.ImportSpecifier(node: TSESTree.ImportSpecifier): void
Code
protected ImportSpecifier(node: TSESTree.ImportSpecifier): void {
const local = node.local;
this.visitImport(local, node);
}
- Parameters:
node: TSESTree.ImportSpecifier
- Return Type:
void
- Calls:
this.visitImport
`ImportVisitor.visitImport(id: TSESTree.Identifier, specifier: | TSESTree.ImportDefaultSpecifier
| TSESTree.ImportNamespaceSpecifier
| TSESTree.ImportSpecifier): void`
Code
protected visitImport(
id: TSESTree.Identifier,
specifier:
| TSESTree.ImportDefaultSpecifier
| TSESTree.ImportNamespaceSpecifier
| TSESTree.ImportSpecifier,
): void {
this.#referencer
.currentScope()
.defineIdentifier(
id,
new ImportBindingDefinition(id, specifier, this.#declaration),
);
}
- Parameters:
id: TSESTree.Identifier
specifier: | TSESTree.ImportDefaultSpecifier
| TSESTree.ImportNamespaceSpecifier
| TSESTree.ImportSpecifier
- Return Type:
void
- Calls:
this.#referencer
.currentScope()
.defineIdentifier
Classes
ImportVisitor
Class Code
export class ImportVisitor extends Visitor {
readonly #declaration: TSESTree.ImportDeclaration;
readonly #referencer: Referencer;
constructor(declaration: TSESTree.ImportDeclaration, referencer: Referencer) {
super(referencer);
this.#declaration = declaration;
this.#referencer = referencer;
}
static visit(
referencer: Referencer,
declaration: TSESTree.ImportDeclaration,
): void {
const importReferencer = new ImportVisitor(declaration, referencer);
importReferencer.visit(declaration);
}
protected ImportDefaultSpecifier(
node: TSESTree.ImportDefaultSpecifier,
): void {
const local = node.local;
this.visitImport(local, node);
}
protected ImportNamespaceSpecifier(
node: TSESTree.ImportNamespaceSpecifier,
): void {
const local = node.local;
this.visitImport(local, node);
}
protected ImportSpecifier(node: TSESTree.ImportSpecifier): void {
const local = node.local;
this.visitImport(local, node);
}
protected visitImport(
id: TSESTree.Identifier,
specifier:
| TSESTree.ImportDefaultSpecifier
| TSESTree.ImportNamespaceSpecifier
| TSESTree.ImportSpecifier,
): void {
this.#referencer
.currentScope()
.defineIdentifier(
id,
new ImportBindingDefinition(id, specifier, this.#declaration),
);
}
}
Methods
visit(referencer: Referencer, declaration: TSESTree.ImportDeclaration): void
Code
static visit(
referencer: Referencer,
declaration: TSESTree.ImportDeclaration,
): void {
const importReferencer = new ImportVisitor(declaration, referencer);
importReferencer.visit(declaration);
}
ImportDefaultSpecifier(node: TSESTree.ImportDefaultSpecifier): void
Code
protected ImportDefaultSpecifier(
node: TSESTree.ImportDefaultSpecifier,
): void {
const local = node.local;
this.visitImport(local, node);
}
ImportNamespaceSpecifier(node: TSESTree.ImportNamespaceSpecifier): void
Code
protected ImportNamespaceSpecifier(
node: TSESTree.ImportNamespaceSpecifier,
): void {
const local = node.local;
this.visitImport(local, node);
}
ImportSpecifier(node: TSESTree.ImportSpecifier): void
Code
protected ImportSpecifier(node: TSESTree.ImportSpecifier): void {
const local = node.local;
this.visitImport(local, node);
}
`visitImport(id: TSESTree.Identifier, specifier: | TSESTree.ImportDefaultSpecifier
| TSESTree.ImportNamespaceSpecifier
| TSESTree.ImportSpecifier): void`
Code
protected visitImport(
id: TSESTree.Identifier,
specifier:
| TSESTree.ImportDefaultSpecifier
| TSESTree.ImportNamespaceSpecifier
| TSESTree.ImportSpecifier,
): void {
this.#referencer
.currentScope()
.defineIdentifier(
id,
new ImportBindingDefinition(id, specifier, this.#declaration),
);
}