bpo-20185: Convert typeobject.c to Argument Clinic. (#544) · python/cpython@5c643a0 (original) (raw)

``

1

`+

/*[clinic input]

`

``

2

`+

preserve

`

``

3

`+

[clinic start generated code]*/

`

``

4

+

``

5

`+

PyDoc_STRVAR(type___instancecheck____doc__,

`

``

6

`+

"instancecheck($self, instance, /)\n"

`

``

7

`+

"--\n"

`

``

8

`+

"\n"

`

``

9

`+

"Check if an object is an instance.");

`

``

10

+

``

11

`+

#define TYPE___INSTANCECHECK___METHODDEF \

`

``

12

`+

{"instancecheck", (PyCFunction)type___instancecheck__, METH_O, type___instancecheck____doc__},

`

``

13

+

``

14

`+

static int

`

``

15

`+

type___instancecheck___impl(PyTypeObject *self, PyObject *instance);

`

``

16

+

``

17

`+

static PyObject *

`

``

18

`+

type___instancecheck__(PyTypeObject *self, PyObject *instance)

`

``

19

`+

{

`

``

20

`+

PyObject *return_value = NULL;

`

``

21

`+

int _return_value;

`

``

22

+

``

23

`+

_return_value = type___instancecheck___impl(self, instance);

`

``

24

`+

if ((_return_value == -1) && PyErr_Occurred()) {

`

``

25

`+

goto exit;

`

``

26

`+

}

`

``

27

`+

return_value = PyBool_FromLong((long)_return_value);

`

``

28

+

``

29

`+

exit:

`

``

30

`+

return return_value;

`

``

31

`+

}

`

``

32

+

``

33

`+

PyDoc_STRVAR(type___subclasscheck____doc__,

`

``

34

`+

"subclasscheck($self, subclass, /)\n"

`

``

35

`+

"--\n"

`

``

36

`+

"\n"

`

``

37

`+

"Check if a class is a subclass.");

`

``

38

+

``

39

`+

#define TYPE___SUBCLASSCHECK___METHODDEF \

`

``

40

`+

{"subclasscheck", (PyCFunction)type___subclasscheck__, METH_O, type___subclasscheck____doc__},

`

``

41

+

``

42

`+

static int

`

``

43

`+

type___subclasscheck___impl(PyTypeObject *self, PyObject *subclass);

`

``

44

+

``

45

`+

static PyObject *

`

``

46

`+

type___subclasscheck__(PyTypeObject *self, PyObject *subclass)

`

``

47

`+

{

`

``

48

`+

PyObject *return_value = NULL;

`

``

49

`+

int _return_value;

`

``

50

+

``

51

`+

_return_value = type___subclasscheck___impl(self, subclass);

`

``

52

`+

if ((_return_value == -1) && PyErr_Occurred()) {

`

``

53

`+

goto exit;

`

``

54

`+

}

`

``

55

`+

return_value = PyBool_FromLong((long)_return_value);

`

``

56

+

``

57

`+

exit:

`

``

58

`+

return return_value;

`

``

59

`+

}

`

``

60

+

``

61

`+

PyDoc_STRVAR(type_mro__doc__,

`

``

62

`+

"mro($self, /)\n"

`

``

63

`+

"--\n"

`

``

64

`+

"\n"

`

``

65

`+

"Return a type's method resolution order.");

`

``

66

+

``

67

`+

#define TYPE_MRO_METHODDEF \

`

``

68

`+

{"mro", (PyCFunction)type_mro, METH_NOARGS, type_mro__doc__},

`

``

69

+

``

70

`+

static PyObject *

`

``

71

`+

type_mro_impl(PyTypeObject *self);

`

``

72

+

``

73

`+

static PyObject *

`

``

74

`+

type_mro(PyTypeObject *self, PyObject *Py_UNUSED(ignored))

`

``

75

`+

{

`

``

76

`+

return type_mro_impl(self);

`

``

77

`+

}

`

``

78

+

``

79

`+

PyDoc_STRVAR(type___subclasses____doc__,

`

``

80

`+

"subclasses($self, /)\n"

`

``

81

`+

"--\n"

`

``

82

`+

"\n"

`

``

83

`+

"Return a list of immediate subclasses.");

`

``

84

+

``

85

`+

#define TYPE___SUBCLASSES___METHODDEF \

`

``

86

`+

{"subclasses", (PyCFunction)type___subclasses__, METH_NOARGS, type___subclasses____doc__},

`

``

87

+

``

88

`+

static PyObject *

`

``

89

`+

type___subclasses___impl(PyTypeObject *self);

`

``

90

+

``

91

`+

static PyObject *

`

``

92

`+

type___subclasses__(PyTypeObject *self, PyObject *Py_UNUSED(ignored))

`

``

93

`+

{

`

``

94

`+

return type___subclasses___impl(self);

`

``

95

`+

}

`

``

96

+

``

97

`+

PyDoc_STRVAR(type___dir____doc__,

`

``

98

`+

"dir($self, /)\n"

`

``

99

`+

"--\n"

`

``

100

`+

"\n"

`

``

101

`+

"Specialized dir implementation for types.");

`

``

102

+

``

103

`+

#define TYPE___DIR___METHODDEF \

`

``

104

`+

{"dir", (PyCFunction)type___dir__, METH_NOARGS, type___dir____doc__},

`

``

105

+

``

106

`+

static PyObject *

`

``

107

`+

type___dir___impl(PyTypeObject *self);

`

``

108

+

``

109

`+

static PyObject *

`

``

110

`+

type___dir__(PyTypeObject *self, PyObject *Py_UNUSED(ignored))

`

``

111

`+

{

`

``

112

`+

return type___dir___impl(self);

`

``

113

`+

}

`

``

114

+

``

115

`+

PyDoc_STRVAR(type___sizeof____doc__,

`

``

116

`+

"sizeof($self, /)\n"

`

``

117

`+

"--\n"

`

``

118

`+

"\n"

`

``

119

`+

"Return memory consumption of the type object.");

`

``

120

+

``

121

`+

#define TYPE___SIZEOF___METHODDEF \

`

``

122

`+

{"sizeof", (PyCFunction)type___sizeof__, METH_NOARGS, type___sizeof____doc__},

`

``

123

+

``

124

`+

static PyObject *

`

``

125

`+

type___sizeof___impl(PyTypeObject *self);

`

``

126

+

``

127

`+

static PyObject *

`

``

128

`+

type___sizeof__(PyTypeObject *self, PyObject *Py_UNUSED(ignored))

`

``

129

`+

{

`

``

130

`+

return type___sizeof___impl(self);

`

``

131

`+

}

`

``

132

+

``

133

`+

PyDoc_STRVAR(object___reduce____doc__,

`

``

134

`+

"reduce($self, protocol=0, /)\n"

`

``

135

`+

"--\n"

`

``

136

`+

"\n"

`

``

137

`+

"Helper for pickle.");

`

``

138

+

``

139

`+

#define OBJECT___REDUCE___METHODDEF \

`

``

140

`+

{"reduce", (PyCFunction)object___reduce__, METH_FASTCALL, object___reduce____doc__},

`

``

141

+

``

142

`+

static PyObject *

`

``

143

`+

object___reduce___impl(PyObject *self, int protocol);

`

``

144

+

``

145

`+

static PyObject *

`

``

146

`+

object___reduce__(PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)

`

``

147

`+

{

`

``

148

`+

PyObject *return_value = NULL;

`

``

149

`+

int protocol = 0;

`

``

150

+

``

151

`+

if (!_PyArg_ParseStack(args, nargs, "|i:reduce",

`

``

152

`+

&protocol)) {

`

``

153

`+

goto exit;

`

``

154

`+

}

`

``

155

+

``

156

`+

if (!_PyArg_NoStackKeywords("reduce", kwnames)) {

`

``

157

`+

goto exit;

`

``

158

`+

}

`

``

159

`+

return_value = object___reduce___impl(self, protocol);

`

``

160

+

``

161

`+

exit:

`

``

162

`+

return return_value;

`

``

163

`+

}

`

``

164

+

``

165

`+

PyDoc_STRVAR(object___reduce_ex____doc__,

`

``

166

`+

"reduce_ex($self, protocol=0, /)\n"

`

``

167

`+

"--\n"

`

``

168

`+

"\n"

`

``

169

`+

"Helper for pickle.");

`

``

170

+

``

171

`+

#define OBJECT___REDUCE_EX___METHODDEF \

`

``

172

`+

{"reduce_ex", (PyCFunction)object___reduce_ex__, METH_FASTCALL, object___reduce_ex____doc__},

`

``

173

+

``

174

`+

static PyObject *

`

``

175

`+

object___reduce_ex___impl(PyObject *self, int protocol);

`

``

176

+

``

177

`+

static PyObject *

`

``

178

`+

object___reduce_ex__(PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)

`

``

179

`+

{

`

``

180

`+

PyObject *return_value = NULL;

`

``

181

`+

int protocol = 0;

`

``

182

+

``

183

`+

if (!_PyArg_ParseStack(args, nargs, "|i:reduce_ex",

`

``

184

`+

&protocol)) {

`

``

185

`+

goto exit;

`

``

186

`+

}

`

``

187

+

``

188

`+

if (!_PyArg_NoStackKeywords("reduce_ex", kwnames)) {

`

``

189

`+

goto exit;

`

``

190

`+

}

`

``

191

`+

return_value = object___reduce_ex___impl(self, protocol);

`

``

192

+

``

193

`+

exit:

`

``

194

`+

return return_value;

`

``

195

`+

}

`

``

196

+

``

197

`+

PyDoc_STRVAR(object___format____doc__,

`

``

198

`+

"format($self, format_spec, /)\n"

`

``

199

`+

"--\n"

`

``

200

`+

"\n"

`

``

201

`+

"Default object formatter.");

`

``

202

+

``

203

`+

#define OBJECT___FORMAT___METHODDEF \

`

``

204

`+

{"format", (PyCFunction)object___format__, METH_O, object___format____doc__},

`

``

205

+

``

206

`+

static PyObject *

`

``

207

`+

object___format___impl(PyObject *self, PyObject *format_spec);

`

``

208

+

``

209

`+

static PyObject *

`

``

210

`+

object___format__(PyObject *self, PyObject *arg)

`

``

211

`+

{

`

``

212

`+

PyObject *return_value = NULL;

`

``

213

`+

PyObject *format_spec;

`

``

214

+

``

215

`+

if (!PyArg_Parse(arg, "U:format", &format_spec)) {

`

``

216

`+

goto exit;

`

``

217

`+

}

`

``

218

`+

return_value = object___format___impl(self, format_spec);

`

``

219

+

``

220

`+

exit:

`

``

221

`+

return return_value;

`

``

222

`+

}

`

``

223

+

``

224

`+

PyDoc_STRVAR(object___sizeof____doc__,

`

``

225

`+

"sizeof($self, /)\n"

`

``

226

`+

"--\n"

`

``

227

`+

"\n"

`

``

228

`+

"Size of object in memory, in bytes.");

`

``

229

+

``

230

`+

#define OBJECT___SIZEOF___METHODDEF \

`

``

231

`+

{"sizeof", (PyCFunction)object___sizeof__, METH_NOARGS, object___sizeof____doc__},

`

``

232

+

``

233

`+

static PyObject *

`

``

234

`+

object___sizeof___impl(PyObject *self);

`

``

235

+

``

236

`+

static PyObject *

`

``

237

`+

object___sizeof__(PyObject *self, PyObject *Py_UNUSED(ignored))

`

``

238

`+

{

`

``

239

`+

return object___sizeof___impl(self);

`

``

240

`+

}

`

``

241

+

``

242

`+

PyDoc_STRVAR(object___dir____doc__,

`

``

243

`+

"dir($self, /)\n"

`

``

244

`+

"--\n"

`

``

245

`+

"\n"

`

``

246

`+

"Default dir() implementation.");

`

``

247

+

``

248

`+

#define OBJECT___DIR___METHODDEF \

`

``

249

`+

{"dir", (PyCFunction)object___dir__, METH_NOARGS, object___dir____doc__},

`

``

250

+

``

251

`+

static PyObject *

`

``

252

`+

object___dir___impl(PyObject *self);

`

``

253

+

``

254

`+

static PyObject *

`

``

255

`+

object___dir__(PyObject *self, PyObject *Py_UNUSED(ignored))

`

``

256

`+

{

`

``

257

`+

return object___dir___impl(self);

`

``

258

`+

}

`

``

259

`+

/[clinic end generated code: output=ce354e436e2360a0 input=a9049054013a1b77]/

`