Skip to content

Commit 81ea363

Browse files
authored
[mypyc] Move glue method test cases into a dedicated file (#13937)
This doesn't change any test cases.
1 parent 8d5b641 commit 81ea363

File tree

4 files changed

+330
-325
lines changed

4 files changed

+330
-325
lines changed

mypyc/test-data/irbuild-basic.test

-237
Original file line numberDiff line numberDiff line change
@@ -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]
24692232
from typing import List
24702233
class A:

mypyc/test-data/irbuild-classes.test

-88
Original file line numberDiff line numberDiff line change
@@ -181,94 +181,6 @@ L0:
181181
o.x = r1; r2 = is_error
182182
return o
183183

184-
[case testSubclassSpecialize2]
185-
class A:
186-
def foo(self, x: int) -> object:
187-
return str(x)
188-
class B(A):
189-
def foo(self, x: object) -> object:
190-
return x
191-
class C(B):
192-
def foo(self, x: object) -> int:
193-
return id(x)
194-
195-
def use_a(x: A, y: int) -> object:
196-
return x.foo(y)
197-
198-
def use_b(x: B, y: object) -> object:
199-
return x.foo(y)
200-
201-
def use_c(x: C, y: object) -> int:
202-
return x.foo(y)
203-
[out]
204-
def A.foo(self, x):
205-
self :: __main__.A
206-
x :: int
207-
r0 :: str
208-
L0:
209-
r0 = CPyTagged_Str(x)
210-
return r0
211-
def B.foo(self, x):
212-
self :: __main__.B
213-
x :: object
214-
L0:
215-
return x
216-
def B.foo__A_glue(self, x):
217-
self :: __main__.B
218-
x :: int
219-
r0, r1 :: object
220-
L0:
221-
r0 = box(int, x)
222-
r1 = B.foo(self, r0)
223-
return r1
224-
def C.foo(self, x):
225-
self :: __main__.C
226-
x :: object
227-
r0 :: int
228-
L0:
229-
r0 = CPyTagged_Id(x)
230-
return r0
231-
def C.foo__B_glue(self, x):
232-
self :: __main__.C
233-
x :: object
234-
r0 :: int
235-
r1 :: object
236-
L0:
237-
r0 = C.foo(self, x)
238-
r1 = box(int, r0)
239-
return r1
240-
def C.foo__A_glue(self, x):
241-
self :: __main__.C
242-
x :: int
243-
r0 :: object
244-
r1 :: int
245-
r2 :: object
246-
L0:
247-
r0 = box(int, x)
248-
r1 = C.foo(self, r0)
249-
r2 = box(int, r1)
250-
return r2
251-
def use_a(x, y):
252-
x :: __main__.A
253-
y :: int
254-
r0 :: object
255-
L0:
256-
r0 = x.foo(y)
257-
return r0
258-
def use_b(x, y):
259-
x :: __main__.B
260-
y, r0 :: object
261-
L0:
262-
r0 = x.foo(y)
263-
return r0
264-
def use_c(x, y):
265-
x :: __main__.C
266-
y :: object
267-
r0 :: int
268-
L0:
269-
r0 = x.foo(y)
270-
return r0
271-
272184
[case testSubclass_toplevel]
273185
from typing import TypeVar, Generic
274186
from mypy_extensions import trait

0 commit comments

Comments
 (0)