Update: delete SetXYZUnchange methods and update UT

Signed-off-by: laibo102 <laibo2@huawei.com>
Change-Id: I5d8105266d84182fc8c565da05b1a6a7ad0b286a
This commit is contained in:
laibo102
2022-08-15 16:57:45 +08:00
parent 197ce1c3c1
commit 12d0747c55
14 changed files with 3 additions and 179 deletions
-3
View File
@@ -278,9 +278,6 @@ export const _GENERATE_ID = '__generate__Id';
export const COMPONENT_CONSTRUCTOR_INITIAL_PARAMS: string = 'setInitiallyProvidedValue';
export const COMPONENT_RERENDER_FUNCTION: string = 'rerender';
export const SETONEWAYSYNCPROPERTIESUNCHANGED: string = 'setOneWaySyncPropertiesUnchanged';
export const SETTWOWAYSYNCPROPERTIESUNCHANGED: string = 'setTwoWaySyncPropertiesUnchanged';
export const COMPONENT_CONSTRUCTOR_SET_STATE_UNCHANGED: string = 'setStateSourcePropertiesUnchanged';
export const COMPONENT_CONSTRUCTOR_PURGE_VARIABLE_DEP: string = 'purgeVariableDependenciesOnElmtId';
export const MARKDEPENDENTELEMENTSDIRTY: string = 'markDependentElementsDirty';
export const ABOUT_TO_BE_DELETE_FUNCTION_ID__: string = 'id__';
+3 -49
View File
@@ -34,7 +34,6 @@ import {
CREATE_CONSTRUCTOR_PARAMS,
COMPONENT_CONSTRUCTOR_UPDATE_PARAMS,
COMPONENT_CONSTRUCTOR_INITIAL_PARAMS,
COMPONENT_CONSTRUCTOR_SET_STATE_UNCHANGED,
COMPONENT_CONSTRUCTOR_PURGE_VARIABLE_DEP,
COMPONENT_CONSTRUCTOR_DELETE_PARAMS,
COMPONENT_DECORATOR_PREVIEW,
@@ -64,8 +63,6 @@ import {
COMPONENT_IF_UNDEFINED,
INNER_COMPONENT_MEMBER_DECORATORS,
COMPONENT_RERENDER_FUNCTION,
SETONEWAYSYNCPROPERTIESUNCHANGED,
SETTWOWAYSYNCPROPERTIESUNCHANGED,
RMELMTID,
ABOUTTOBEDELETEDINTERNAL,
UPDATEDIRTYELEMENTS,
@@ -143,9 +140,6 @@ function processMembers(members: ts.NodeArray<ts.ClassElement>, parentComponentN
const newMembers: ts.ClassElement[] = [];
const watchMap: Map<string, ts.Node> = new Map();
const updateParamsStatements: ts.Statement[] = [];
const setStateUnchangedStatements: ts.Statement[] = [];
const setOneWayUnchangedStatements: ts.Statement[] = [];
const setTwoWayUnchangedStatements: ts.Statement[] = [];
const purgeVariableDepStatements: ts.Statement[] = [];
const rerenderStatements: ts.Statement[] = [];
const deleteParamsStatements: ts.PropertyDeclaration[] = [];
@@ -186,8 +180,7 @@ function processMembers(members: ts.NodeArray<ts.ClassElement>, parentComponentN
if (result.getControllerSet()) {
newMembers.push(result.getControllerSet());
}
processPropertyUnchanged(result, setStateUnchangedStatements, setOneWayUnchangedStatements,
setTwoWayUnchangedStatements, purgeVariableDepStatements, rerenderStatements);
processPropertyUnchanged(result, purgeVariableDepStatements, rerenderStatements);
}
}
if (ts.isMethodDeclaration(item) && item.name) {
@@ -202,8 +195,8 @@ function processMembers(members: ts.NodeArray<ts.ClassElement>, parentComponentN
validateBuildMethodCount(buildCount, parentComponentName, log);
validateHasController(parentComponentName, checkController, log);
newMembers.unshift(addDeleteParamsFunc(deleteParamsStatements));
addIntoNewMembers(newMembers, parentComponentName, updateParamsStatements, setStateUnchangedStatements,
setOneWayUnchangedStatements, setTwoWayUnchangedStatements, purgeVariableDepStatements, rerenderStatements);
addIntoNewMembers(newMembers, parentComponentName, updateParamsStatements,
purgeVariableDepStatements, rerenderStatements);
newMembers.unshift(addConstructor(ctorNode, watchMap, parentComponentName));
return newMembers;
}
@@ -225,23 +218,10 @@ function validateDecorators(item: ts.ClassElement, log: LogInfo[]): void {
function processPropertyUnchanged(
result: UpdateResult,
setStateUnchangedStatements: ts.Statement[],
setOneWayUnchangedStatements: ts.Statement[],
setTwoWayUnchangedStatements: ts.Statement[],
purgeVariableDepStatements: ts.Statement[],
rerenderStatements: ts.Statement[]
): void {
if (sdkVersion.compatibleSdkVersion === 9) {
if(result.getPropertyUnchanged()) {
const propertyUnchanged: ts.Statement = result.getPropertyUnchanged();
if (result.getDecoratorName() === COMPONENT_STATE_DECORATOR) {
setStateUnchangedStatements.push(propertyUnchanged);
} else if (result.getDecoratorName() === COMPONENT_PROP_DECORATOR) {
setOneWayUnchangedStatements.push(propertyUnchanged);
} else if(LINKS_DECORATORS.has(result.getDecoratorName())) {
setTwoWayUnchangedStatements.push(propertyUnchanged);
}
}
if(result.getPurgeVariableDepStatement()) {
purgeVariableDepStatements.push(result.getPurgeVariableDepStatement());
}
@@ -255,18 +235,12 @@ function addIntoNewMembers(
newMembers: ts.ClassElement[],
parentComponentName: ts.Identifier,
updateParamsStatements: ts.Statement[],
setStateUnchangedStatements: ts.Statement[],
setOneWayUnchangedStatements: ts.Statement[],
setTwoWayUnchangedStatements: ts.Statement[],
purgeVariableDepStatements: ts.Statement[],
rerenderStatements: ts.Statement[]
): void {
if (sdkVersion.compatibleSdkVersion === 9) {
newMembers.unshift(
addInitialParamsFunc(updateParamsStatements, parentComponentName),
createStateUnchangedFunc(setStateUnchangedStatements),
createOneWaySyncUnchangedFunc(setOneWayUnchangedStatements),
createTwoWaySyncUnchangedFunc(setTwoWayUnchangedStatements),
addPurgeVariableDepFunc(purgeVariableDepStatements)
);
newMembers.push(addRerenderFunc(rerenderStatements));
@@ -620,26 +594,6 @@ function addInitialParamsFunc(statements: ts.Statement[], parentComponentName: t
return createParamsInitBlock(COMPONENT_CONSTRUCTOR_INITIAL_PARAMS, statements, parentComponentName);
}
function createStateUnchangedFunc(statements: ts.Statement[]): ts.MethodDeclaration {
return ts.factory.createMethodDeclaration(undefined, undefined, undefined,
ts.factory.createIdentifier(COMPONENT_CONSTRUCTOR_SET_STATE_UNCHANGED), undefined, undefined, [], undefined,
ts.factory.createBlock(statements, true));
}
// @Prop
function createOneWaySyncUnchangedFunc(statements: ts.Statement[]): ts.MethodDeclaration {
return ts.factory.createMethodDeclaration(undefined, undefined, undefined,
ts.factory.createIdentifier(SETONEWAYSYNCPROPERTIESUNCHANGED), undefined, undefined, [],
undefined, ts.factory.createBlock(statements, true));
}
// @Link
function createTwoWaySyncUnchangedFunc(statements: ts.Statement[]): ts.MethodDeclaration {
return ts.factory.createMethodDeclaration(
undefined, undefined, undefined, ts.factory.createIdentifier(SETTWOWAYSYNCPROPERTIESUNCHANGED),
undefined, undefined, [], undefined, ts.factory.createBlock(statements, true));
}
function addPurgeVariableDepFunc(statements: ts.Statement[]): ts.MethodDeclaration {
return ts.factory.createMethodDeclaration(
undefined, undefined, undefined,
-26
View File
@@ -136,7 +136,6 @@ export class UpdateResult {
private updateParams: ts.Statement;
private deleteParams: boolean = false;
private controllerSet: ts.MethodDeclaration;
private propertyUnchanged: ts.Statement;
private purgeVariableDepStatement: ts.Statement;
private rerenderStatement: ts.Statement;
private decoratorName: string;
@@ -175,10 +174,6 @@ export class UpdateResult {
this.deleteParams = deleteParams;
}
public setPropertyUnchanged(propertyUnchanged: ts.Statement) {
this.propertyUnchanged = propertyUnchanged;
}
public setPurgeVariableDepStatement(purgeVariableDepStatement: ts.Statement) {
this.purgeVariableDepStatement = purgeVariableDepStatement;
}
@@ -211,10 +206,6 @@ export class UpdateResult {
return this.updateParams;
}
public getPropertyUnchanged(): ts.Statement {
return this.propertyUnchanged;
}
public getPurgeVariableDepStatement(): ts.Statement {
return this.purgeVariableDepStatement;
}
@@ -365,29 +356,12 @@ function processStateDecorators(node: ts.PropertyDeclaration, decorator: string,
}
if (sdkVersion.compatibleSdkVersion === 9 && BASICDECORATORS.has(decorator)) {
const variableWithUnderLink: string = '__' + name.escapedText.toString();
updateResult.setPropertyUnchanged(createPropertyUnchangedStatement(variableWithUnderLink));
updateResult.setDecoratorName(decorator);
updateResult.setPurgeVariableDepStatement(createPurgeVariableDepStatement(variableWithUnderLink));
updateResult.setRerenderStatement(createRerenderStatement(variableWithUnderLink));
}
}
function createPropertyUnchangedStatement(variableWithUnderLink: string): ts.Statement {
return ts.factory.createExpressionStatement(
ts.factory.createCallExpression(
ts.factory.createPropertyAccessExpression(
ts.factory.createPropertyAccessExpression(
ts.factory.createThis(),
ts.factory.createIdentifier(variableWithUnderLink)
),
ts.factory.createIdentifier(SETPROPERTYUNCHANGED)
),
undefined,
[]
)
);
}
function createPurgeVariableDepStatement(variableWithUnderLink: string): ts.Statement {
return ts.factory.createExpressionStatement(
ts.factory.createCallExpression(
@@ -53,12 +53,6 @@ exports.expectResult =
}
setInitiallyProvidedValue(params) {
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
}
aboutToBeDeleted() {
@@ -141,12 +135,6 @@ class Banner extends View {
this.value = params.value;
}
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
}
aboutToBeDeleted() {
@@ -42,13 +42,6 @@ exports.expectResult =
this.arr = params.arr;
}
}
setStateSourcePropertiesUnchanged() {
this.__arr.SetPropertyUnchanged();
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__arr.purgeDependencyOnElmtId(rmElmtId);
}
@@ -56,15 +56,6 @@ exports.expectResult =
this.toggle3 = params.toggle3;
}
}
setStateSourcePropertiesUnchanged() {
this.__toggle1.SetPropertyUnchanged();
this.__toggle2.SetPropertyUnchanged();
this.__toggle3.SetPropertyUnchanged();
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__toggle1.purgeDependencyOnElmtId(rmElmtId);
this.__toggle2.purgeDependencyOnElmtId(rmElmtId);
@@ -34,12 +34,6 @@ exports.expectResult =
}
setInitiallyProvidedValue(params) {
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
}
aboutToBeDeleted() {
@@ -32,12 +32,6 @@ exports.expectResult =
}
setInitiallyProvidedValue(params) {
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
}
aboutToBeDeleted() {
@@ -183,12 +183,6 @@ class Test extends View {
this.data = params.data;
}
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
}
aboutToBeDeleted() {
@@ -63,12 +63,6 @@ exports.expectResult =
this.controller = params.controller;
}
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
}
aboutToBeDeleted() {
@@ -42,13 +42,6 @@ exports.expectResult =
}
setInitiallyProvidedValue(params) {
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
this.__counter.SetPropertyUnchanged();
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__counter.purgeDependencyOnElmtId(rmElmtId);
}
@@ -90,13 +83,6 @@ class ParentComponent extends View {
this.value = params.value;
}
}
setStateSourcePropertiesUnchanged() {
this.__value.SetPropertyUnchanged();
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__value.purgeDependencyOnElmtId(rmElmtId);
}
@@ -79,13 +79,6 @@ class CustomText extends View {
setInitiallyProvidedValue(params) {
this.__model.set(params.model);
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
this.__model.SetPropertyUnchanged();
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__model.purgeDependencyOnElmtId(rmElmtId);
}
@@ -137,13 +130,6 @@ class Parent extends View {
this.models = params.models;
}
}
setStateSourcePropertiesUnchanged() {
this.__models.SetPropertyUnchanged();
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__models.purgeDependencyOnElmtId(rmElmtId);
}
@@ -42,13 +42,6 @@ exports.expectResult =
}
setInitiallyProvidedValue(params) {
}
setStateSourcePropertiesUnchanged() {
}
setOneWaySyncPropertiesUnchanged() {
this.__counter.SetPropertyUnchanged();
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__counter.purgeDependencyOnElmtId(rmElmtId);
}
@@ -90,13 +83,6 @@ class ParentComponent extends View {
this.value = params.value;
}
}
setStateSourcePropertiesUnchanged() {
this.__value.SetPropertyUnchanged();
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__value.purgeDependencyOnElmtId(rmElmtId);
}
@@ -37,13 +37,6 @@ exports.expectResult =
this.counter = params.counter;
}
}
setStateSourcePropertiesUnchanged() {
this.__counter.SetPropertyUnchanged();
}
setOneWaySyncPropertiesUnchanged() {
}
setTwoWaySyncPropertiesUnchanged() {
}
purgeVariableDependenciesOnElmtId(rmElmtId) {
this.__counter.purgeDependencyOnElmtId(rmElmtId);
}