close-parser
Advanced tools
Comparing version 0.0.7 to 0.0.8
@@ -128,3 +128,3 @@ "use strict"; | ||
} | ||
extension_1.onUpdatedAST(({ setDecoration, traverse, doc }) => { | ||
extension_1.onUpdatedAST(({ setDecoration, traverse, doc, ast }) => { | ||
function onDeclare(obj, scope) { | ||
@@ -200,3 +200,3 @@ declarations.set(obj, new Set()); | ||
let declarations = new Map(); | ||
parseClosed_1.parseClosed(doc.getText(), onDeclare, onAccess, traverse); | ||
parseClosed_1.parseClosed(doc.getText(), ast, onDeclare, onAccess); | ||
for (let [functionScope, declScopes] of closedFromParent) { | ||
@@ -203,0 +203,0 @@ let declScopesSorted = Array.from(declScopes.entries()).sort((b, a) => a[0].posStart - b[0].posStart); |
@@ -11,3 +11,3 @@ { | ||
"icon": "icon.png", | ||
"version": "0.0.7", | ||
"version": "0.0.8", | ||
"engines": { | ||
@@ -14,0 +14,0 @@ "vscode": "^1.43.0" |
@@ -1,3 +0,2 @@ | ||
import { LineAndColumnData, Program } from "@typescript-eslint/typescript-estree/dist/ts-estree/ts-estree"; | ||
import { UpdatedAST } from "./extension"; | ||
import { Node, LineAndColumnData } from "@typescript-eslint/typescript-estree/dist/ts-estree/ts-estree"; | ||
export interface ScopeObj { | ||
@@ -17,2 +16,2 @@ posStart: number; | ||
} | ||
export declare function parseClosed(code: string, onDeclare: (obj: DeclObj, scope: ScopeObj) => void, onAccess: (declScope: ScopeObj | undefined, varName: string, varPos: number, curScope: ScopeObj, curFncScope: ScopeObj, declObj: DeclObj | undefined) => void, traverse: Parameters<UpdatedAST>[0]["traverse"]): Program; | ||
export declare function parseClosed(code: string, documentAST: Node, onDeclare: (obj: DeclObj, scope: ScopeObj) => void, onAccess: (declScope: ScopeObj | undefined, varName: string, varPos: number, curScope: ScopeObj, curFncScope: ScopeObj, declObj: DeclObj | undefined) => void): void; |
@@ -5,3 +5,4 @@ "use strict"; | ||
const typescript_estree_1 = require("@typescript-eslint/typescript-estree"); | ||
function parseClosed(code, onDeclare, onAccess, traverse) { | ||
const enterExitTraverser_1 = require("./enterExitTraverser"); | ||
function parseClosed(code, documentAST, onDeclare, onAccess) { | ||
let lines = code.split(/\n/g); | ||
@@ -36,11 +37,2 @@ let lineStarts = []; | ||
} | ||
let documentAST = typescript_estree_1.parse(code, { | ||
module: true, | ||
ts: true, | ||
jsx: true, | ||
next: true, | ||
loc: true, | ||
ranges: true, | ||
raw: true, | ||
}); | ||
function fixIdentifier(identifier) { | ||
@@ -271,5 +263,4 @@ // Try to adjust the range to be just the id, and not the type information. This should work with | ||
functionScope.emitDeclarations(); | ||
return documentAST; | ||
function runTraverse() { | ||
traverse({ | ||
new enterExitTraverser_1.EnterExitTraverser({ | ||
enter(statement, parent, property) { | ||
@@ -512,3 +503,3 @@ if (statement.type === typescript_estree_1.AST_NODE_TYPES.Identifier) { | ||
} | ||
}); | ||
}).traverse(documentAST); | ||
} | ||
@@ -515,0 +506,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
78130
1069