1/* 2 * Copyright (c) 2023-2024 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 */ 15 16class C { 17 private x: int[] = [1, 3, 5]; 18 19 $_get(ind: int) : int { 20 return this.x[ind]; 21 } 22 23 $_set(ind: int, val: int): void { 24 this.x[ind] = val; 25 } 26 27} 28 29function main(): void { 30 31 let x: int[] = [1, 3, 5]; 32 33 let y: int = x[0]; 34 let z = x[1]; 35 x[1] = x[2]; 36 x[2] *= 2; 37 38 let c = new C(); 39 40 let u = c[0]; 41 let v = c.$_get(1); 42 c[1] = c[2]; 43 c[2] *= 2; 44 45 assert(y == u); 46 assert(z == v) 47 assert(x[1] == c[1]) 48 assert(x[2] == c[2]) 49 assert(x[0] == c[0]) 50} 51