summaryrefslogtreecommitdiff
path: root/tests/functional/n/no/no_member_assign_same_line.py
blob: 45138d933ead9bdfe2204aa07f92c5ab3044764d (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
"""Tests for no-member for self-referencing instance attributes
See https://github.com/PyCQA/pylint/issues/1555
"""
# pylint: disable=too-few-public-methods


class ClassWithMember:
    """Member defined in superclass."""
    def __init__(self):
        self.member = True


class AssignMemberInSameLine:
    """This class attempts to assign and access a member in the same line."""
    def __init__(self):
        self.member = self.member  # [no-member]


class AssignMemberInSameLineAfterTypeAnnotation:
    """This might emit a message like `maybe-no-member` in the future."""
    def __init__(self):
        self.member: bool
        self.member = self.member


class AssignMemberFromSuper1(ClassWithMember):
    """This assignment is valid due to inheritance."""
    def __init__(self):
        self.member = self.member
        super().__init__()


class AssignMemberFromSuper2(ClassWithMember):
    """This assignment is valid due to inheritance."""
    def __init__(self):
        super().__init__()
        self.member = self.member