sanex3339
2020-03-05 01:25:56 +03:00
parent 3b0c20d69d
commit 39870010e8
12 changed files with 81 additions and 18 deletions
@@ -49,8 +49,8 @@ export class ScopeAnalyzer implements IScopeAnalyzer {
enter: (node: ESTree.Node): ESTree.Node => {
if (!node.range) {
node.range = [
ScopeAnalyzer.emptyRangeValue,
ScopeAnalyzer.emptyRangeValue
node.parentNode?.range?.[0] ?? ScopeAnalyzer.emptyRangeValue,
node.parentNode?.range?.[1] ?? ScopeAnalyzer.emptyRangeValue
];
}
@@ -11,6 +11,7 @@ import { NodeAppender } from '../../../node/NodeAppender';
import { NodeFactory } from '../../../node/NodeFactory';
import { NodeGuards } from '../../../node/NodeGuards';
import { NodeStatementUtils } from '../../../node/NodeStatementUtils';
import { NodeUtils } from '../../../node/NodeUtils';
@injectable()
export class BasePropertiesExtractor implements IObjectExpressionExtractor {
@@ -110,6 +111,7 @@ export class BasePropertiesExtractor implements IObjectExpressionExtractor {
this.filterExtractedObjectExpressionProperties(objectExpressionNode, removablePropertyIds);
NodeAppender.insertAfter(hostNodeWithStatements, expressionStatements, hostStatement);
NodeUtils.parentizeAst(hostNodeWithStatements);
return {
nodeToReplace: objectExpressionNode,
+6
View File
@@ -89,10 +89,16 @@ export class NodeUtils {
* @returns {T}
*/
public static parentizeAst <T extends ESTree.Node = ESTree.Node> (astTree: T): T {
const parentNode: ESTree.Node | null = astTree.parentNode ?? null;
estraverse.replace(astTree, {
enter: NodeUtils.parentizeNode
});
if (parentNode) {
astTree.parentNode = parentNode;
}
return astTree;
}