@@ -2228,243 +2228,6 @@ L0:
22282228 r1 = CPyTagged_Multiply(4, r0)
22292229 return r1
22302230
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-
24682231[case testNativeIndex]
24692232from typing import List
24702233class A:
0 commit comments