@@ -2228,243 +2228,6 @@ L0:
2228
2228
r1 = CPyTagged_Multiply(4, r0)
2229
2229
return r1
2230
2230
2231
- [case testPropertyDerivedGen]
2232
- from typing import Callable
2233
- class BaseProperty:
2234
- @property
2235
- def value(self) -> object:
2236
- return self._incrementer
2237
-
2238
- @property
2239
- def bad_value(self) -> object:
2240
- return self._incrementer
2241
-
2242
- @property
2243
- def next(self) -> BaseProperty:
2244
- return BaseProperty(self._incrementer + 1)
2245
-
2246
- def __init__(self, value: int) -> None:
2247
- self._incrementer = value
2248
-
2249
- class DerivedProperty(BaseProperty):
2250
- @property
2251
- def value(self) -> int:
2252
- return self._incrementer
2253
-
2254
- @property
2255
- def bad_value(self) -> object:
2256
- return self._incrementer
2257
-
2258
- @property
2259
- def next(self) -> DerivedProperty:
2260
- return DerivedProperty(self._incr_func, self._incr_func(self.value))
2261
-
2262
- def __init__(self, incr_func: Callable[[int], int], value: int) -> None:
2263
- BaseProperty.__init__(self, value)
2264
- self._incr_func = incr_func
2265
-
2266
-
2267
- class AgainProperty(DerivedProperty):
2268
- @property
2269
- def next(self) -> AgainProperty:
2270
- return AgainProperty(self._incr_func, self._incr_func(self._incr_func(self.value)))
2271
-
2272
- @property
2273
- def bad_value(self) -> int:
2274
- return self._incrementer
2275
- [out]
2276
- def BaseProperty.value(self):
2277
- self :: __main__.BaseProperty
2278
- r0 :: int
2279
- r1 :: object
2280
- L0:
2281
- r0 = self._incrementer
2282
- r1 = box(int, r0)
2283
- return r1
2284
- def BaseProperty.bad_value(self):
2285
- self :: __main__.BaseProperty
2286
- r0 :: int
2287
- r1 :: object
2288
- L0:
2289
- r0 = self._incrementer
2290
- r1 = box(int, r0)
2291
- return r1
2292
- def BaseProperty.next(self):
2293
- self :: __main__.BaseProperty
2294
- r0, r1 :: int
2295
- r2 :: __main__.BaseProperty
2296
- L0:
2297
- r0 = borrow self._incrementer
2298
- r1 = CPyTagged_Add(r0, 2)
2299
- keep_alive self
2300
- r2 = BaseProperty(r1)
2301
- return r2
2302
- def BaseProperty.__init__(self, value):
2303
- self :: __main__.BaseProperty
2304
- value :: int
2305
- L0:
2306
- self._incrementer = value
2307
- return 1
2308
- def DerivedProperty.value(self):
2309
- self :: __main__.DerivedProperty
2310
- r0 :: int
2311
- L0:
2312
- r0 = self._incrementer
2313
- return r0
2314
- def DerivedProperty.value__BaseProperty_glue(__mypyc_self__):
2315
- __mypyc_self__ :: __main__.DerivedProperty
2316
- r0 :: int
2317
- r1 :: object
2318
- L0:
2319
- r0 = __mypyc_self__.value
2320
- r1 = box(int, r0)
2321
- return r1
2322
- def DerivedProperty.bad_value(self):
2323
- self :: __main__.DerivedProperty
2324
- r0 :: int
2325
- r1 :: object
2326
- L0:
2327
- r0 = self._incrementer
2328
- r1 = box(int, r0)
2329
- return r1
2330
- def DerivedProperty.next(self):
2331
- self :: __main__.DerivedProperty
2332
- r0 :: object
2333
- r1 :: int
2334
- r2, r3, r4 :: object
2335
- r5 :: int
2336
- r6 :: __main__.DerivedProperty
2337
- L0:
2338
- r0 = self._incr_func
2339
- r1 = self.value
2340
- r2 = self._incr_func
2341
- r3 = box(int, r1)
2342
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
2343
- r5 = unbox(int, r4)
2344
- r6 = DerivedProperty(r0, r5)
2345
- return r6
2346
- def DerivedProperty.next__BaseProperty_glue(__mypyc_self__):
2347
- __mypyc_self__, r0 :: __main__.DerivedProperty
2348
- L0:
2349
- r0 = __mypyc_self__.next
2350
- return r0
2351
- def DerivedProperty.__init__(self, incr_func, value):
2352
- self :: __main__.DerivedProperty
2353
- incr_func :: object
2354
- value :: int
2355
- r0 :: None
2356
- L0:
2357
- r0 = BaseProperty.__init__(self, value)
2358
- self._incr_func = incr_func
2359
- return 1
2360
- def AgainProperty.next(self):
2361
- self :: __main__.AgainProperty
2362
- r0 :: object
2363
- r1 :: int
2364
- r2, r3, r4 :: object
2365
- r5 :: int
2366
- r6, r7, r8 :: object
2367
- r9 :: int
2368
- r10 :: __main__.AgainProperty
2369
- L0:
2370
- r0 = self._incr_func
2371
- r1 = self.value
2372
- r2 = self._incr_func
2373
- r3 = box(int, r1)
2374
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
2375
- r5 = unbox(int, r4)
2376
- r6 = self._incr_func
2377
- r7 = box(int, r5)
2378
- r8 = PyObject_CallFunctionObjArgs(r6, r7, 0)
2379
- r9 = unbox(int, r8)
2380
- r10 = AgainProperty(r0, r9)
2381
- return r10
2382
- def AgainProperty.next__DerivedProperty_glue(__mypyc_self__):
2383
- __mypyc_self__, r0 :: __main__.AgainProperty
2384
- L0:
2385
- r0 = __mypyc_self__.next
2386
- return r0
2387
- def AgainProperty.next__BaseProperty_glue(__mypyc_self__):
2388
- __mypyc_self__, r0 :: __main__.AgainProperty
2389
- L0:
2390
- r0 = __mypyc_self__.next
2391
- return r0
2392
- def AgainProperty.bad_value(self):
2393
- self :: __main__.AgainProperty
2394
- r0 :: int
2395
- L0:
2396
- r0 = self._incrementer
2397
- return r0
2398
- def AgainProperty.bad_value__DerivedProperty_glue(__mypyc_self__):
2399
- __mypyc_self__ :: __main__.AgainProperty
2400
- r0 :: int
2401
- r1 :: object
2402
- L0:
2403
- r0 = __mypyc_self__.bad_value
2404
- r1 = box(int, r0)
2405
- return r1
2406
- def AgainProperty.bad_value__BaseProperty_glue(__mypyc_self__):
2407
- __mypyc_self__ :: __main__.AgainProperty
2408
- r0 :: int
2409
- r1 :: object
2410
- L0:
2411
- r0 = __mypyc_self__.bad_value
2412
- r1 = box(int, r0)
2413
- return r1
2414
-
2415
- [case testPropertyTraitSubclassing]
2416
- from mypy_extensions import trait
2417
- @trait
2418
- class SubclassedTrait:
2419
- @property
2420
- def this(self) -> SubclassedTrait:
2421
- return self
2422
-
2423
- @property
2424
- def boxed(self) -> object:
2425
- return 3
2426
-
2427
- class DerivingObject(SubclassedTrait):
2428
- @property
2429
- def this(self) -> DerivingObject:
2430
- return self
2431
-
2432
- @property
2433
- def boxed(self) -> int:
2434
- return 5
2435
- [out]
2436
- def SubclassedTrait.this(self):
2437
- self :: __main__.SubclassedTrait
2438
- L0:
2439
- return self
2440
- def SubclassedTrait.boxed(self):
2441
- self :: __main__.SubclassedTrait
2442
- r0 :: object
2443
- L0:
2444
- r0 = object 3
2445
- return r0
2446
- def DerivingObject.this(self):
2447
- self :: __main__.DerivingObject
2448
- L0:
2449
- return self
2450
- def DerivingObject.this__SubclassedTrait_glue(__mypyc_self__):
2451
- __mypyc_self__, r0 :: __main__.DerivingObject
2452
- L0:
2453
- r0 = __mypyc_self__.this
2454
- return r0
2455
- def DerivingObject.boxed(self):
2456
- self :: __main__.DerivingObject
2457
- L0:
2458
- return 10
2459
- def DerivingObject.boxed__SubclassedTrait_glue(__mypyc_self__):
2460
- __mypyc_self__ :: __main__.DerivingObject
2461
- r0 :: int
2462
- r1 :: object
2463
- L0:
2464
- r0 = __mypyc_self__.boxed
2465
- r1 = box(int, r0)
2466
- return r1
2467
-
2468
2231
[case testNativeIndex]
2469
2232
from typing import List
2470
2233
class A:
0 commit comments