mirror of
https://github.com/openharmony/developtools_ace-ets2bundle.git
synced 2026-07-21 03:55:23 -04:00
fix circurlar import Signed-off-by: houhaoyu <houhaoyu@huawei.com> Change-Id: I54bc26f3ec9f160e4be7d5be2310ab82ad91196c
This commit is contained in:
@@ -45,7 +45,7 @@ import {
|
||||
cache
|
||||
} from './compile_info';
|
||||
import { hasDecorator } from './utils';
|
||||
import { isExtendFunction } from './process_ui_syntax';
|
||||
import { isExtendFunction, isOriginalExtend } from './process_ui_syntax';
|
||||
|
||||
function readDeaclareFiles(): string[] {
|
||||
const declarationsFileNames: string[] = [];
|
||||
@@ -327,20 +327,6 @@ function parseAllNode(node: ts.Node, sourceFileNode: ts.SourceFile, extendFuncti
|
||||
node.getChildren().forEach((item: ts.Node) => parseAllNode(item, sourceFileNode, extendFunctionInfo));
|
||||
}
|
||||
|
||||
export function isOriginalExtend(node: ts.Block): boolean {
|
||||
let innerNode: ts.Node = node.statements[0];
|
||||
if (node.statements.length === 1 && ts.isExpressionStatement(innerNode)) {
|
||||
while (innerNode.expression) {
|
||||
innerNode = innerNode.expression;
|
||||
}
|
||||
if (ts.isIdentifier(innerNode) && innerNode.pos && innerNode.end && innerNode.pos === innerNode.end &&
|
||||
innerNode.escapedText.toString().match(/Instance$/)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function traverseBuild(node: ts.Node, index: number): void {
|
||||
if (ts.isExpressionStatement(node)) {
|
||||
let parentComponentName: string = getName(node);
|
||||
|
||||
@@ -114,10 +114,10 @@ export function processComponentBuild(node: ts.MethodDeclaration,
|
||||
}
|
||||
|
||||
export function processComponentBlock(node: ts.Block, isLazy: boolean, log: LogInfo[],
|
||||
isTransition: boolean = false, isInnerBuilder: boolean = false): ts.Block {
|
||||
isTransition: boolean = false, isInnerBuilder: boolean = false, parent: string = undefined): ts.Block {
|
||||
const newStatements: ts.Statement[] = [];
|
||||
processComponentChild(node, newStatements, log,
|
||||
{isAcceleratePreview: false, line: 0, column: 0, fileName: ''}, isInnerBuilder);
|
||||
{isAcceleratePreview: false, line: 0, column: 0, fileName: ''}, isInnerBuilder, parent);
|
||||
if (isLazy) {
|
||||
newStatements.unshift(createRenderingInProgress(true));
|
||||
}
|
||||
@@ -1333,8 +1333,8 @@ function getComponentType(node: ts.ExpressionStatement, log: LogInfo[],
|
||||
} else if (builderParamObjectCollection.get(componentCollection.currentClassName) &&
|
||||
builderParamObjectCollection.get(componentCollection.currentClassName).has(name)) {
|
||||
return ComponentType.builderParamMethod;
|
||||
} else if (parent === 'Column' || parent === 'XComponent' && ts.isCallExpression(node.expression) &&
|
||||
ts.isIdentifier(node.expression.expression)) {
|
||||
} else if ((parent === 'Column' || parent === 'XComponent' || CUSTOM_BUILDER_METHOD.has(parent)) &&
|
||||
ts.isCallExpression(node.expression) && ts.isIdentifier(node.expression.expression)) {
|
||||
return ComponentType.function;
|
||||
} else if (!isAttributeNode(node)) {
|
||||
log.push({
|
||||
|
||||
@@ -80,7 +80,6 @@ import {
|
||||
projectConfig
|
||||
} from '../main';
|
||||
import { createCustomComponentNewExpression, createViewCreate } from './process_component_member';
|
||||
import { isOriginalExtend } from './ets_checker'
|
||||
|
||||
export const transformLog: FileLog = new FileLog();
|
||||
export let contextGlobal: ts.TransformationContext;
|
||||
@@ -142,7 +141,7 @@ export function processUISyntax(program: ts.Program, ut = false): Function {
|
||||
CUSTOM_BUILDER_METHOD.add(node.name.getText());
|
||||
node = ts.factory.updateFunctionDeclaration(node, undefined, node.modifiers,
|
||||
node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type,
|
||||
processComponentBlock(node.body, false, transformLog.errors));
|
||||
processComponentBlock(node.body, false, transformLog.errors, false, false, node.name.getText()));
|
||||
} else if (hasDecorator(node, COMPONENT_STYLES_DECORATOR)) {
|
||||
if (node.parameters.length === 0) {
|
||||
node = undefined;
|
||||
@@ -462,7 +461,19 @@ function processExtend(node: ts.FunctionDeclaration, log: LogInfo[]): ts.Functio
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export function isOriginalExtend(node: ts.Block): boolean {
|
||||
let innerNode: ts.Node = node.statements[0];
|
||||
if (node.statements.length === 1 && ts.isExpressionStatement(innerNode)) {
|
||||
while (innerNode.expression) {
|
||||
innerNode = innerNode.expression;
|
||||
}
|
||||
if (ts.isIdentifier(innerNode) && innerNode.pos && innerNode.end && innerNode.pos === innerNode.end &&
|
||||
innerNode.escapedText.toString().match(/Instance$/)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function isThisNode(node: ts.ExpressionStatement): boolean {
|
||||
let innerNode: ts.Node = node;
|
||||
|
||||
Reference in New Issue
Block a user