/* * Copyright (c) 2023-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ class Mat4 { constructor( m0: double, m1: double, m2: double, m3: double, m4: double, m5: double, m6: double, m7: double, m8: double, m9: double, m10: double, m11: double, m12: double, m13: double, m14: double, m15: double, m16: double, m17: double, m18: double, m19: double, m20: double, m21: double, m22: double, m23: double, m24: double, m25: double, m26: double, m27: double, m28: double, m29: double, m30: double, m31: double, m32: double, m33: double, m34: double, m35: double, m36: double, m37: double, m38: double, m39: double, m40: double, m41: double, m42: double, m43: double, m44: double, m45: double, m46: double, m47: double, m48: double, m49: double, m50: double, m51: double, m52: double, m53: double, m54: double, m55: double, m56: double, m57: double, m58: double, m59: double, m60: double, m61: double, m62: double, m63: double, m64: double, m65: double, m66: double, m67: double, m68: double, m69: double, m70: double, m71: double, m72: double, m73: double, m74: double, m75: double, m76: double, m77: double, m78: double, m79: double, m80: double, m81: double, m82: double, m83: double, m84: double, m85: double, m86: double, m87: double, m88: double, m89: double, m90: double, m91: double, m92: double, m93: double, m94: double, m95: double, m96: double, m97: double, m98: double, m99: double, m100: double, m101: double, m102: double, m103: double, m104: double, m105: double, m106: double, m107: double, m108: double, m109: double, m110: double, m111: double, m112: double, m113: double, m114: double, m115: double, m116: double, m117: double, m118: double, m119: double, m120: double, m121: double, m122: double, m123: double, m124: double, m125: double, m126: double, m127: double, m128: double, m129: double, m130: double, m131: double, m132: double, m133: double, m134: double, m135: double, m136: double, m137: double, m138: double, m139: double, m140: double, m141: double, m142: double, m143: double, m144: double, m145: double, m146: double, m147: double, m148: double, m149: double, m150: double, m151: double, m152: double, m153: double, m154: double, m155: double, m156: double, m157: double, m158: double, m159: double, m160: double, m161: double, m162: double, m163: double, m164: double, m165: double, m166: double, m167: double, m168: double, m169: double, m170: double, m171: double, m172: double, m173: double, m174: double, m175: double, m176: double, m177: double, m178: double, m179: double, m180: double, m181: double, m182: double, m183: double, m184: double, m185: double, m186: double, m187: double, m188: double, m189: double, m190: double, m191: double, m192: double, m193: double, m194: double, m195: double, m196: double, m197: double, m198: double, m199: double, m200: double, m201: double, m202: double, m203: double, m204: double, m205: double, m206: double, m207: double, m208: double, m209: double, m210: double, m211: double, m212: double, m213: double, m214: double, m215: double, m216: double, m217: double, m218: double, m219: double, m220: double, m221: double, m222: double, m223: double, m224: double, m225: double, m226: double, m227: double, m228: double, m229: double, m230: double, m231: double, m232: double, m233: double, m234: double, m235: double, m236: double, m237: double, m238: double, m239: double, m240: double, m241: double, m242: double, m243: double, m244: double, m245: double, m246: double, m247: double, m248: double, m249: double, m250: double, m251: double, m252: double, m253: double, m254: double, m255: double ) {} } function func(): void {} class ParticleSystem { public f: int; public m = new Mat4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); foo() { let x0 = 0; let x1 = 1; let x2 = 2; let x3 = 3; let x4 = 4; let x5 = 5; let x6 = 6; let x7 = 7; let x8 = 8; let x9 = 9; let x10 = 10; let x11 = 11; let x12 = 12; let x13 = 13; let x14 = 14; let x15 = 15; let x16 = 16; let x: () => Mat4 = (): Mat4 => { return this.m; } } bar() { let x0 = 0 let x1 = 0 let x2 = 0 let x3 = 0 let x4 = 0 let x5 = 0 let x6 = 0 let x7 = 0 let x8 = 0 let x9 = 0 let x10 = 0 let x11 = 0 let x12 = 0 let x13 = 0 let x14 = 0 let x15 = 0 let x16 = 0 let x17 = 0 let x18 = 0 let x19 = 0 let x20 = 0 let x21 = 0 let x22 = 0 let x23 = 0 let x24 = 0 let x25 = 0 let x26 = 0 let x27 = 0 let x28 = 0 let x29 = 0 let x30 = 0 let x31 = 0 let x32 = 0 let x33 = 0 let x34 = 0 let x35 = 0 let x36 = 0 let x37 = 0 let x38 = 0 let x39 = 0 let x40 = 0 let x41 = 0 let x42 = 0 let x43 = 0 let x44 = 0 let x45 = 0 let x46 = 0 let x47 = 0 let x48 = 0 let x49 = 0 let x50 = 0 let x51 = 0 let x52 = 0 let x53 = 0 let x54 = 0 let x55 = 0 let x56 = 0 let x57 = 0 let x58 = 0 let x59 = 0 let x60 = 0 let x61 = 0 let x62 = 0 let x63 = 0 let x64 = 0 let x65 = 0 let x66 = 0 let x67 = 0 let x68 = 0 let x69 = 0 let x70 = 0 let x71 = 0 let x72 = 0 let x73 = 0 let x74 = 0 let x75 = 0 let x76 = 0 let x77 = 0 let x78 = 0 let x79 = 0 let x80 = 0 let x81 = 0 let x82 = 0 let x83 = 0 let x84 = 0 let x85 = 0 let x86 = 0 let x87 = 0 let x88 = 0 let x89 = 0 let x90 = 0 let x91 = 0 let x92 = 0 let x93 = 0 let x94 = 0 let x95 = 0 let x96 = 0 let x97 = 0 let x98 = 0 let x99 = 0 let x100 = 0 let x101 = 0 let x102 = 0 let x103 = 0 let x104 = 0 let x105 = 0 let x106 = 0 let x107 = 0 let x108 = 0 let x109 = 0 let x110 = 0 let x111 = 0 let x112 = 0 let x113 = 0 let x114 = 0 let x115 = 0 let x116 = 0 let x117 = 0 let x118 = 0 let x119 = 0 let x120 = 0 let x121 = 0 let x122 = 0 let x123 = 0 let x124 = 0 let x125 = 0 let x126 = 0 let x127 = 0 let x128 = 0 let x129 = 0 let x130 = 0 let x131 = 0 let x132 = 0 let x133 = 0 let x134 = 0 let x135 = 0 let x136 = 0 let x137 = 0 let x138 = 0 let x139 = 0 let x140 = 0 let x141 = 0 let x142 = 0 let x143 = 0 let x144 = 0 let x145 = 0 let x146 = 0 let x147 = 0 let x148 = 0 let x149 = 0 let x150 = 0 let x151 = 0 let x152 = 0 let x153 = 0 let x154 = 0 let x155 = 0 let x156 = 0 let x157 = 0 let x158 = 0 let x159 = 0 let x160 = 0 let x161 = 0 let x162 = 0 let x163 = 0 let x164 = 0 let x165 = 0 let x166 = 0 let x167 = 0 let x168 = 0 let x169 = 0 let x170 = 0 let x171 = 0 let x172 = 0 let x173 = 0 let x174 = 0 let x175 = 0 let x176 = 0 let x177 = 0 let x178 = 0 let x179 = 0 let x180 = 0 let x181 = 0 let x182 = 0 let x183 = 0 let x184 = 0 let x185 = 0 let x186 = 0 let x187 = 0 let x188 = 0 let x189 = 0 let x190 = 0 let x191 = 0 let x192 = 0 let x193 = 0 let x194 = 0 let x195 = 0 let x196 = 0 let x197 = 0 let x198 = 0 let x199 = 0 let x200 = 0 let x201 = 0 let x202 = 0 let x203 = 0 let x204 = 0 let x205 = 0 let x206 = 0 let x207 = 0 let x208 = 0 let x209 = 0 let x210 = 0 let x211 = 0 let x212 = 0 let x213 = 0 let x214 = 0 let x215 = 0 let x216 = 0 let x217 = 0 let x218 = 0 let x219 = 0 let x220 = 0 let x221 = 0 let x222 = 0 let x223 = 0 let x224 = 0 let x225 = 0 let x226 = 0 let x227 = 0 let x228 = 0 let x229 = 0 let x230 = 0 let x231 = 0 let x232 = 0 let x233 = 0 let x234 = 0 let x235 = 0 let x236 = 0 let x237 = 0 let x238 = 0 let x239 = 0 let x240 = 0 let x241 = 0 let x242 = 0 let x243 = 0 let x244 = 0 let x245 = 0 let x246 = 0 let x247 = 0 let x248 = 0 let x249 = 0 let x250 = 0 let x251 = 0 let x252 = 0 let x253 = 0 let x254 = 0 let x255 = 0 let x = this.f this.f = 0 } } function foo(p1: int, p2: int): int { let x0 = 0 let x1 = 0 let x2 = 0 let x3 = 0 let x4 = 0 let x5 = 0 let x6 = 0 let x7 = 0 let x8 = 0 let x9 = 0 let x10 = 0 let x11 = 0 let x12 = 0 let x13 = 0 let x14 = 0 let x15 = 0 let x16 = 0 let x17 = 0 let x18 = 0 let x19 = 0 let x20 = 0 let x21 = 0 let x22 = 0 let x23 = 0 let x24 = 0 let x25 = 0 let x26 = 0 let x27 = 0 let x28 = 0 let x29 = 0 let x30 = 0 let x31 = 0 let x32 = 0 let x33 = 0 let x34 = 0 let x35 = 0 let x36 = 0 let x37 = 0 let x38 = 0 let x39 = 0 let x40 = 0 let x41 = 0 let x42 = 0 let x43 = 0 let x44 = 0 let x45 = 0 let x46 = 0 let x47 = 0 let x48 = 0 let x49 = 0 let x50 = 0 let x51 = 0 let x52 = 0 let x53 = 0 let x54 = 0 let x55 = 0 let x56 = 0 let x57 = 0 let x58 = 0 let x59 = 0 let x60 = 0 let x61 = 0 let x62 = 0 let x63 = 0 let x64 = 0 let x65 = 0 let x66 = 0 let x67 = 0 let x68 = 0 let x69 = 0 let x70 = 0 let x71 = 0 let x72 = 0 let x73 = 0 let x74 = 0 let x75 = 0 let x76 = 0 let x77 = 0 let x78 = 0 let x79 = 0 let x80 = 0 let x81 = 0 let x82 = 0 let x83 = 0 let x84 = 0 let x85 = 0 let x86 = 0 let x87 = 0 let x88 = 0 let x89 = 0 let x90 = 0 let x91 = 0 let x92 = 0 let x93 = 0 let x94 = 0 let x95 = 0 let x96 = 0 let x97 = 0 let x98 = 0 let x99 = 0 let x100 = 0 let x101 = 0 let x102 = 0 let x103 = 0 let x104 = 0 let x105 = 0 let x106 = 0 let x107 = 0 let x108 = 0 let x109 = 0 let x110 = 0 let x111 = 0 let x112 = 0 let x113 = 0 let x114 = 0 let x115 = 0 let x116 = 0 let x117 = 0 let x118 = 0 let x119 = 0 let x120 = 0 let x121 = 0 let x122 = 0 let x123 = 0 let x124 = 0 let x125 = 0 let x126 = 0 let x127 = 0 let x128 = 0 let x129 = 0 let x130 = 0 let x131 = 0 let x132 = 0 let x133 = 0 let x134 = 0 let x135 = 0 let x136 = 0 let x137 = 0 let x138 = 0 let x139 = 0 let x140 = 0 let x141 = 0 let x142 = 0 let x143 = 0 let x144 = 0 let x145 = 0 let x146 = 0 let x147 = 0 let x148 = 0 let x149 = 0 let x150 = 0 let x151 = 0 let x152 = 0 let x153 = 0 let x154 = 0 let x155 = 0 let x156 = 0 let x157 = 0 let x158 = 0 let x159 = 0 let x160 = 0 let x161 = 0 let x162 = 0 let x163 = 0 let x164 = 0 let x165 = 0 let x166 = 0 let x167 = 0 let x168 = 0 let x169 = 0 let x170 = 0 let x171 = 0 let x172 = 0 let x173 = 0 let x174 = 0 let x175 = 0 let x176 = 0 let x177 = 0 let x178 = 0 let x179 = 0 let x180 = 0 let x181 = 0 let x182 = 0 let x183 = 0 let x184 = 0 let x185 = 0 let x186 = 0 let x187 = 0 let x188 = 0 let x189 = 0 let x190 = 0 let x191 = 0 let x192 = 0 let x193 = 0 let x194 = 0 let x195 = 0 let x196 = 0 let x197 = 0 let x198 = 0 let x199 = 0 let x200 = 0 let x201 = 0 let x202 = 0 let x203 = 0 let x204 = 0 let x205 = 0 let x206 = 0 let x207 = 0 let x208 = 0 let x209 = 0 let x210 = 0 let x211 = 0 let x212 = 0 let x213 = 0 let x214 = 0 let x215 = 0 let x216 = 0 let x217 = 0 let x218 = 0 let x219 = 0 let x220 = 0 let x221 = 0 let x222 = 0 let x223 = 0 let x224 = 0 let x225 = 0 let x226 = 0 let x227 = 0 let x228 = 0 let x229 = 0 let x230 = 0 let x231 = 0 let x232 = 0 let x233 = 0 let x234 = 0 let x235 = 0 let x236 = 0 let x237 = 0 let x238 = 0 let x239 = 0 let x240 = 0 let x241 = 0 let x242 = 0 let x243 = 0 let x244 = 0 let x245 = 0 let x246 = 0 let x247 = 0 let x248 = 0 let x249 = 0 let x250 = 0 let x251 = 0 let x252 = 0 let x253 = 0 let x254 = 0 let x255 = 0 return p1 + p2 }