forked from github/codeql
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.py
More file actions
104 lines (66 loc) · 1.17 KB
/
test.py
File metadata and controls
104 lines (66 loc) · 1.17 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
from undefined import unknown
k = 1
l = []
class OldStyle:
def meth1(self):
pass
a1 = k
a2 = l
a3 = unknown
l = l
class OldStyleDerived(OldStyle):
def meth2(self):
pass
class NewStyle(object):
def meth3(self):
pass
a1 = k
a2 = l
a3 = unknown
l = l
class NewStyleDerived(NewStyle):
def meth4(self):
pass
class Meta(type):
def __init__(cls, name, bases, dct):
type.__init__(cls, name, bases, dct)
cls.defined_in_meta = 1
def meth5(self):
pass
class WithMeta(object):
def meth6(self):
pass
a1 = k
a2 = l
a3 = unknown
l = l
#MRO tests
#Inconsistent MRO
class X(object):
pass
class Y(X):
pass
#Inconsistent MRO
class Z(X, Y):
pass
#Ok
class W(Y, x):
pass
class O:
pass
#This is OK
class N(object, O):
pass
#
# Assign builtin objects to class attributes
len = len
ord = 10
class Unhashable(object):
__hash__ = None
class Oddities(object):
int = int
float = float
l = len
h = hash
class Sub(Oddities, Unhashable):
pass