aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/b/bugfix_local_scope_metaclass_1177.py
blob: 22c07a330f58f42d184da4f06226ad2246a30161 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# pylint: disable=missing-docstring,too-few-public-methods,import-error
from UNINFERABLE import ImportedMetaclass, ImportedMetaclass2


class Meta(type):
    pass


class Class(metaclass=Meta):
    pass


def func_scope():
    class Meta2(type):
        pass

    class Class2(metaclass=Meta2):
        pass

    return Class2


class ClassScope:
    class Meta3(type):
        pass

    class Class3(metaclass=Meta3):
        pass

    instance = Class3()


def mixed_scopes():
    class ClassM(metaclass=Meta):
        pass

    return ClassM


def imported_and_nested_scope1():
    class ClassImp1(metaclass=ImportedMetaclass):
        pass

    class ClassImp2(metaclass=ImportedMetaclass):
        pass

    return ClassImp1, ClassImp2


def imported_and_nested_scope2():
    class ClassImp3(metaclass=ImportedMetaclass2):
        pass

    return ClassImp3