1/* 2 * Copyright (c) 2024 - 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15export class SparseArrayValue { 16 17 sparseArrayType: SparseArrayType; 18 baseStr: string; 19 valStr: string; 20 fulBaseStr: string; 21 fulStmtStr: string; 22 constructor(StmtType: SparseArrayType, baseStr: string, valStr: string) { 23 this.sparseArrayType = StmtType; 24 this.baseStr = baseStr; 25 this.valStr = valStr; 26 this.fulBaseStr = this.baseStr + this.valStr; 27 if (this.sparseArrayType === SparseArrayType.NEW_ARRAY) { 28 this.fulStmtStr = this.fulBaseStr + ')'; 29 } else if (this.sparseArrayType === SparseArrayType.ARRAY_RIGHT) { 30 this.fulStmtStr = this.fulBaseStr + ']'; 31 } else if (this.sparseArrayType === SparseArrayType.ARRAY_LEFT) { 32 this.fulStmtStr = this.fulBaseStr + ']'; 33 } else { 34 this.fulStmtStr = this.fulBaseStr; 35 } 36 } 37} 38 39export enum SparseArrayType { 40 NEW_ARRAY, 41 ARRAY_RIGHT, 42 ARRAY_LEFT, 43 UNKNOWN 44}