Lines Matching refs:node
273 export function isObservedClass(node: ts.Node): boolean {
274 if (ts.isClassDeclaration(node) && hasDecorator(node, COMPONENT_OBSERVED_DECORATOR)) {
280 export function isCustomDialogClass(node: ts.Node): boolean {
281 if (ts.isStructDeclaration(node) && hasDecorator(node, COMPONENT_DECORATOR_CUSTOM_DIALOG)) {
293 …component: ts.Identifier, log: LogInfo[], sourceFile: ts.SourceFile, node: ts.StructDeclaration): …
305 checkEntryComponent(node, log, sourceFile);
308 componentCollection.entryComponentPos = node.getStart();
349 function checkConcurrentDecorator(node: ts.FunctionDeclaration | ts.MethodDeclaration, log: LogInfo…
351 const decorators: readonly ts.Decorator[] = ts.getAllDecorators(node);
356 if (ts.isMethodDeclaration(node)) {
360 if (node.asteriskToken) {
362 const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
371 function collectLocalStorageName(node: ts.Decorator): void {
372 if (node && node.expression && ts.isCallExpression(node.expression)) {
373 if (node.expression.arguments && node.expression.arguments.length) {
374 node.expression.arguments.forEach((item: ts.Node, index: number) => {
402 function visitAllNode(node: ts.Node, sourceFileNode: ts.SourceFile, allComponentNames: Set<string>,
404 if (ts.isStructDeclaration(node) && node.name && ts.isIdentifier(node.name)) {
406 …collectComponentProps(node, propertyInitializeInEntry(fileQuery, node.name.escapedText.toString())…
408 if (ts.isClassDeclaration(node) && node.name && ts.isIdentifier(node.name)) {
410 if (isSendableClassDeclaration(node as ts.ClassDeclaration)) {
411 validateSendableClass(sourceFileNode, node as ts.ClassDeclaration, log);
414 if (ts.isMethodDeclaration(node) || ts.isFunctionDeclaration(node)) {
416 if (hasDecorator(node, COMPONENT_BUILDER_DECORATOR)) {
417 CUSTOM_BUILDER_METHOD.add(node.name.getText());
418 if (ts.isFunctionDeclaration(node)) {
419 GLOBAL_CUSTOM_BUILDER_METHOD.add(node.name.getText());
421 INNER_CUSTOM_BUILDER_METHOD.add(node.name.getText());
423 } else if (ts.isFunctionDeclaration(node) && isExtendFunction(node, extendResult)) {
425 collectExtend(EXTEND_ATTRIBUTE, extendResult.componentName, node.name.getText());
429 extendResult.componentName, node.name.getText());
431 } else if (hasDecorator(node, COMPONENT_STYLES_DECORATOR)) {
432 if (ts.isBlock(node.body) && node.body.statements) {
433 if (ts.isFunctionDeclaration(node)) {
434 GLOBAL_STYLE_FUNCTION.set(node.name.getText(), node.body);
436 INNER_STYLE_FUNCTION.set(node.name.getText(), node.body);
438 STYLES_ATTRIBUTE.add(node.name.getText());
439 BUILDIN_STYLE_NAMES.add(node.name.getText());
442 if (hasDecorator(node, COMPONENT_CONCURRENT_DECORATOR)) {
444 checkConcurrentDecorator(node, log, sourceFileNode);
447 if (ts.isIdentifier(node) && (ts.isDecorator(node.parent) ||
448 (ts.isCallExpression(node.parent) && ts.isDecorator(node.parent.parent)))) {
449 const decoratorName: string = node.escapedText.toString();
450 validateStructDecorator(sourceFileNode, node, log, structContext, decoratorName);
451 validateMethodDecorator(sourceFileNode, node, log, structContext, decoratorName);
452 validateClassDecorator(sourceFileNode, node, log, classContext, decoratorName);
454 …node.getChildren().forEach((item: ts.Node) => visitAllNode(item, sourceFileNode, allComponentNames,
460 function validateClassDecorator(sourceFileNode: ts.SourceFile, node: ts.Identifier, log: LogInfo[],
464 addLog(LogType.ERROR, message, node.pos, log, sourceFileNode);
466 (!node.parent || !node.parent.parent || !ts.isClassDeclaration(node.parent.parent))) {
468 addLog(LogType.ERROR, message, node.pos, log, sourceFileNode);
472 function validateStructDecorator(sourceFileNode: ts.SourceFile, node: ts.Identifier, log: LogInfo[],
476 addLog(LogType.ERROR, message, node.pos, log, sourceFileNode);
480 function validateMethodDecorator(sourceFileNode: ts.SourceFile, node: ts.Identifier, log: LogInfo[],
483 if (ts.isMethodDeclaration(node.parent.parent) ||
484 (ts.isDecorator(node.parent.parent) && ts.isMethodDeclaration(node.parent.parent.parent))) {
492 addLog(LogType.ERROR, message, node.pos, log, sourceFileNode);
548 function validateSendableClass(sourceFileNode: ts.SourceFile, node: ts.ClassDeclaration, log: LogIn…
551 if (node.heritageClauses && node.heritageClauses.length >= 1 &&
552 … node.heritageClauses[0].token && node.heritageClauses[0].token === ts.SyntaxKind.ExtendsKeyword &&
553 node.heritageClauses[0].types && node.heritageClauses[0].types.length === 1) {
554 const expressionNode: ts.ExpressionWithTypeArguments = node.heritageClauses[0].types[0];
564 node.members.forEach(item => {
598 node: ts.EtsComponentExpression,
603 if (ts.isIdentifier(node.expression)) {
604 checkNoChildComponent(node, sourceFileNode, log);
605 checkOneChildComponent(node, allComponentNames, sourceFileNode, log);
606 checkSpecificChildComponent(node, allComponentNames, sourceFileNode, log);
615 function checkNoChildComponent(node: ts.EtsComponentExpression, sourceFileNode: ts.SourceFile, log:…
617 if (hasChild(node, isCheckType)) {
618 const componentName: string = (node.expression as ts.Identifier).escapedText.toString();
619 const pos: number = node.expression.getStart();
628 function hasChild(node: ts.EtsComponentExpression, isCheckType: ParamType): boolean {
629 const nodeName: ts.Identifier = node.expression as ts.Identifier;
630 …if ((AUTOMIC_COMPONENT.has(nodeName.escapedText.toString()) || judgeComponentType(nodeName, node, …
631 getNextNode(node)) {
661 function getNextNode(node: ts.EtsComponentExpression): ts.Block {
662 if (node.body && ts.isBlock(node.body)) {
663 const statementsArray: ts.Block = node.body;
668 function checkOneChildComponent(node: ts.EtsComponentExpression, allComponentNames: Set<string>,
671 if (hasNonSingleChild(node, allComponentNames, isCheckType)) {
672 const componentName: string = (node.expression as ts.Identifier).escapedText.toString();
673 const pos: number = node.expression.getStart();
682 function hasNonSingleChild(node: ts.EtsComponentExpression, allComponentNames: Set<string>,
684 const nodeName: ts.Identifier = node.expression as ts.Identifier;
685 const BlockNode: ts.Block = getNextNode(node);
686 …MPONENT.has(nodeName.escapedText.toString()) || !judgeComponentType(nodeName, node, isCheckType) &&
740 function isComponent(node: ts.EtsComponentExpression | ts.CallExpression, allComponentNames: Set<st…
741 if (ts.isIdentifier(node.expression) &&
742 allComponentNames.has(node.expression.escapedText.toString())) {
748 function isForEachComponent(node: ts.EtsComponentExpression | ts.CallExpression): boolean {
749 if (ts.isIdentifier(node.expression)) {
750 const componentName: string = node.expression.escapedText.toString();
763 function getStatementCount(node: ts.Node, allComponentNames: Set<string>): number {
765 if (!node) {
767 } else if (ts.isBlock(node)) {
768 maxCount = getBlockChildrenCount(node, allComponentNames);
769 } else if (ts.isIfStatement(node)) {
770 maxCount = getIfChildrenCount(node, allComponentNames);
771 } else if (ts.isExpressionStatement(node) && ts.isEtsComponentExpression(node.expression) &&
772 isForEachComponent(node.expression)) {
774 } else if (ts.isExpressionStatement(node) && ts.isEtsComponentExpression(node.expression) &&
775 !isForEachComponent(node.expression) && isComponent(node.expression, allComponentNames)) {
781 function checkSpecificChildComponent(node: ts.EtsComponentExpression, allComponentNames: Set<string…
783 if (hasNonspecificChild(node, allComponentNames)) {
784 const componentName: string = (node.expression as ts.Identifier).escapedText.toString();
785 const pos: number = node.expression.getStart();
794 function hasNonspecificChild(node: ts.EtsComponentExpression,
796 const nodeName: ts.Identifier = node.expression as ts.Identifier;
798 const blockNode: ts.Block = getNextNode(node);
849 function isNonspecificChildIf(node: ts.IfStatement, specificChildSet: Set<string>,
851 return isNonspecificChildIfStatement(node.thenStatement, specificChildSet, allComponentNames) ||
852 isNonspecificChildIfStatement(node.elseStatement, specificChildSet, allComponentNames);
855 function isNonspecificChildForEach(node: ts.EtsComponentExpression, specificChildSet: Set<string>,
857 if (ts.isCallExpression(node) && node.arguments &&
858 node.arguments.length > 1 && ts.isArrowFunction(node.arguments[1])) {
859 const arrowFunction: ts.ArrowFunction = node.arguments[1] as ts.ArrowFunction;
884 function isNonspecificChildNonForEach(node: ts.EtsComponentExpression,
886 if (ts.isIdentifier(node.expression) &&
887 !specificChildSet.has(node.expression.escapedText.toString())) {
893 function isNonspecificChildIfStatement(node: ts.Node, specificChildSet: Set<string>,
895 if (!node) {
898 if (ts.isBlock(node) && isNonspecificChildBlock(node, specificChildSet, allComponentNames)) {
901 if (ts.isIfStatement(node) && isNonspecificChildIf(node, specificChildSet, allComponentNames)) {
904 if (ts.isExpressionStatement(node) && ts.isEtsComponentExpression(node.expression) &&
905 isForEachComponent(node.expression) &&
906 isNonspecificChildForEach(node.expression, specificChildSet, allComponentNames)) {
909 if (ts.isExpressionStatement(node) && ts.isEtsComponentExpression(node.expression) &&
910 !isForEachComponent(node.expression) && isComponent(node.expression, allComponentNames) &&
911 isNonspecificChildNonForEach(node.expression, specificChildSet)) {
917 function collectComponentProps(node: ts.StructDeclaration, judgeInitializeInEntry: boolean): void {
918 const componentName: string = node.name.getText();
919 const ComponentSet: IComponentSet = getComponentSet(node, judgeInitializeInEntry);
937 export function getComponentSet(node: ts.StructDeclaration, judgeInitializeInEntry: boolean): IComp…
953 traversalComponentProps(node, judgeInitializeInEntry, properties, regulars, states, links, props,
968 function traversalComponentProps(node: ts.StructDeclaration, judgeInitializeInEntry: boolean,
975 if (node.members) {
977 node.members.forEach(item => {
1004 classMethodCollection.set(node.name.getText(), currentMethodCollection);
1006 isStaticViewCollection.set(node.name.getText(), isStatic);
1021 function collectionStates(node: ts.Decorator, judgeInitializeInEntry: boolean, decorator: string, n…
1057 pos: node.getStart()
1064 collectionlocalStorageParam(node, name, localStorageLink);
1067 collectionlocalStorageParam(node, name, localStorageProp);
1075 function collectionlocalStorageParam(node: ts.Decorator, name: string,
1078 if (node && ts.isCallExpression(node.expression) && node.expression.arguments &&
1079 node.expression.arguments.length) {
1081 node.expression.arguments[0].getText()));
1266 function checkEntryComponent(node: ts.StructDeclaration, log: LogInfo[], sourceFile: ts.SourceFile)…
1267 const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
1273 addLog(LogType.WARN, message, node.getStart(), log, sourceFile);
1280 function validateStateVariable(node: ts.MethodDeclaration): void {
1281 const decorators: readonly ts.Decorator[] = ts.getAllDecorators(node);