[clang] [clang-bindings] Add strict typing to clang Python bindings (#76664) (PR #78114)
Jannick Kremer via cfe-commits
cfe-commits at lists.llvm.org
Sun Jun 9 14:24:08 PDT 2024
================
@@ -2286,192 +2869,151 @@ class TypeKind(BaseEnumeration):
Describes the kind of type.
"""
- # The unique kind objects, indexed by id.
- _kinds = []
- _name_map = None
-
@property
- def spelling(self):
+ def spelling(self) -> str:
"""Retrieve the spelling of this TypeKind."""
return conf.lib.clang_getTypeKindSpelling(self.value)
- def __repr__(self):
- return "TypeKind.%s" % (self.name,)
-
-
-TypeKind.INVALID = TypeKind(0)
-TypeKind.UNEXPOSED = TypeKind(1)
-TypeKind.VOID = TypeKind(2)
-TypeKind.BOOL = TypeKind(3)
-TypeKind.CHAR_U = TypeKind(4)
-TypeKind.UCHAR = TypeKind(5)
-TypeKind.CHAR16 = TypeKind(6)
-TypeKind.CHAR32 = TypeKind(7)
-TypeKind.USHORT = TypeKind(8)
-TypeKind.UINT = TypeKind(9)
-TypeKind.ULONG = TypeKind(10)
-TypeKind.ULONGLONG = TypeKind(11)
-TypeKind.UINT128 = TypeKind(12)
-TypeKind.CHAR_S = TypeKind(13)
-TypeKind.SCHAR = TypeKind(14)
-TypeKind.WCHAR = TypeKind(15)
-TypeKind.SHORT = TypeKind(16)
-TypeKind.INT = TypeKind(17)
-TypeKind.LONG = TypeKind(18)
-TypeKind.LONGLONG = TypeKind(19)
-TypeKind.INT128 = TypeKind(20)
-TypeKind.FLOAT = TypeKind(21)
-TypeKind.DOUBLE = TypeKind(22)
-TypeKind.LONGDOUBLE = TypeKind(23)
-TypeKind.NULLPTR = TypeKind(24)
-TypeKind.OVERLOAD = TypeKind(25)
-TypeKind.DEPENDENT = TypeKind(26)
-TypeKind.OBJCID = TypeKind(27)
-TypeKind.OBJCCLASS = TypeKind(28)
-TypeKind.OBJCSEL = TypeKind(29)
-TypeKind.FLOAT128 = TypeKind(30)
-TypeKind.HALF = TypeKind(31)
-TypeKind.IBM128 = TypeKind(40)
-TypeKind.COMPLEX = TypeKind(100)
-TypeKind.POINTER = TypeKind(101)
-TypeKind.BLOCKPOINTER = TypeKind(102)
-TypeKind.LVALUEREFERENCE = TypeKind(103)
-TypeKind.RVALUEREFERENCE = TypeKind(104)
-TypeKind.RECORD = TypeKind(105)
-TypeKind.ENUM = TypeKind(106)
-TypeKind.TYPEDEF = TypeKind(107)
-TypeKind.OBJCINTERFACE = TypeKind(108)
-TypeKind.OBJCOBJECTPOINTER = TypeKind(109)
-TypeKind.FUNCTIONNOPROTO = TypeKind(110)
-TypeKind.FUNCTIONPROTO = TypeKind(111)
-TypeKind.CONSTANTARRAY = TypeKind(112)
-TypeKind.VECTOR = TypeKind(113)
-TypeKind.INCOMPLETEARRAY = TypeKind(114)
-TypeKind.VARIABLEARRAY = TypeKind(115)
-TypeKind.DEPENDENTSIZEDARRAY = TypeKind(116)
-TypeKind.MEMBERPOINTER = TypeKind(117)
-TypeKind.AUTO = TypeKind(118)
-TypeKind.ELABORATED = TypeKind(119)
-TypeKind.PIPE = TypeKind(120)
-TypeKind.OCLIMAGE1DRO = TypeKind(121)
-TypeKind.OCLIMAGE1DARRAYRO = TypeKind(122)
-TypeKind.OCLIMAGE1DBUFFERRO = TypeKind(123)
-TypeKind.OCLIMAGE2DRO = TypeKind(124)
-TypeKind.OCLIMAGE2DARRAYRO = TypeKind(125)
-TypeKind.OCLIMAGE2DDEPTHRO = TypeKind(126)
-TypeKind.OCLIMAGE2DARRAYDEPTHRO = TypeKind(127)
-TypeKind.OCLIMAGE2DMSAARO = TypeKind(128)
-TypeKind.OCLIMAGE2DARRAYMSAARO = TypeKind(129)
-TypeKind.OCLIMAGE2DMSAADEPTHRO = TypeKind(130)
-TypeKind.OCLIMAGE2DARRAYMSAADEPTHRO = TypeKind(131)
-TypeKind.OCLIMAGE3DRO = TypeKind(132)
-TypeKind.OCLIMAGE1DWO = TypeKind(133)
-TypeKind.OCLIMAGE1DARRAYWO = TypeKind(134)
-TypeKind.OCLIMAGE1DBUFFERWO = TypeKind(135)
-TypeKind.OCLIMAGE2DWO = TypeKind(136)
-TypeKind.OCLIMAGE2DARRAYWO = TypeKind(137)
-TypeKind.OCLIMAGE2DDEPTHWO = TypeKind(138)
-TypeKind.OCLIMAGE2DARRAYDEPTHWO = TypeKind(139)
-TypeKind.OCLIMAGE2DMSAAWO = TypeKind(140)
-TypeKind.OCLIMAGE2DARRAYMSAAWO = TypeKind(141)
-TypeKind.OCLIMAGE2DMSAADEPTHWO = TypeKind(142)
-TypeKind.OCLIMAGE2DARRAYMSAADEPTHWO = TypeKind(143)
-TypeKind.OCLIMAGE3DWO = TypeKind(144)
-TypeKind.OCLIMAGE1DRW = TypeKind(145)
-TypeKind.OCLIMAGE1DARRAYRW = TypeKind(146)
-TypeKind.OCLIMAGE1DBUFFERRW = TypeKind(147)
-TypeKind.OCLIMAGE2DRW = TypeKind(148)
-TypeKind.OCLIMAGE2DARRAYRW = TypeKind(149)
-TypeKind.OCLIMAGE2DDEPTHRW = TypeKind(150)
-TypeKind.OCLIMAGE2DARRAYDEPTHRW = TypeKind(151)
-TypeKind.OCLIMAGE2DMSAARW = TypeKind(152)
-TypeKind.OCLIMAGE2DARRAYMSAARW = TypeKind(153)
-TypeKind.OCLIMAGE2DMSAADEPTHRW = TypeKind(154)
-TypeKind.OCLIMAGE2DARRAYMSAADEPTHRW = TypeKind(155)
-TypeKind.OCLIMAGE3DRW = TypeKind(156)
-TypeKind.OCLSAMPLER = TypeKind(157)
-TypeKind.OCLEVENT = TypeKind(158)
-TypeKind.OCLQUEUE = TypeKind(159)
-TypeKind.OCLRESERVEID = TypeKind(160)
-
-TypeKind.OBJCOBJECT = TypeKind(161)
-TypeKind.OBJCCLASS = TypeKind(162)
-TypeKind.ATTRIBUTED = TypeKind(163)
-
-TypeKind.OCLINTELSUBGROUPAVCMCEPAYLOAD = TypeKind(164)
-TypeKind.OCLINTELSUBGROUPAVCIMEPAYLOAD = TypeKind(165)
-TypeKind.OCLINTELSUBGROUPAVCREFPAYLOAD = TypeKind(166)
-TypeKind.OCLINTELSUBGROUPAVCSICPAYLOAD = TypeKind(167)
-TypeKind.OCLINTELSUBGROUPAVCMCERESULT = TypeKind(168)
-TypeKind.OCLINTELSUBGROUPAVCIMERESULT = TypeKind(169)
-TypeKind.OCLINTELSUBGROUPAVCREFRESULT = TypeKind(170)
-TypeKind.OCLINTELSUBGROUPAVCSICRESULT = TypeKind(171)
-TypeKind.OCLINTELSUBGROUPAVCIMERESULTSINGLEREFERENCESTREAMOUT = TypeKind(172)
-TypeKind.OCLINTELSUBGROUPAVCIMERESULTSDUALREFERENCESTREAMOUT = TypeKind(173)
-TypeKind.OCLINTELSUBGROUPAVCIMERESULTSSINGLEREFERENCESTREAMIN = TypeKind(174)
-TypeKind.OCLINTELSUBGROUPAVCIMEDUALREFERENCESTREAMIN = TypeKind(175)
-
-TypeKind.EXTVECTOR = TypeKind(176)
-TypeKind.ATOMIC = TypeKind(177)
-TypeKind.BTFTAGATTRIBUTED = TypeKind(178)
+ INVALID = 0
+ UNEXPOSED = 1
+ VOID = 2
+ BOOL = 3
+ CHAR_U = 4
+ UCHAR = 5
+ CHAR16 = 6
+ CHAR32 = 7
+ USHORT = 8
+ UINT = 9
+ ULONG = 10
+ ULONGLONG = 11
+ UINT128 = 12
+ CHAR_S = 13
+ SCHAR = 14
+ WCHAR = 15
+ SHORT = 16
+ INT = 17
+ LONG = 18
+ LONGLONG = 19
+ INT128 = 20
+ FLOAT = 21
+ DOUBLE = 22
+ LONGDOUBLE = 23
+ NULLPTR = 24
+ OVERLOAD = 25
+ DEPENDENT = 26
+ OBJCID = 27
+ OBJCCLASS = 28
+ OBJCSEL = 29
+ FLOAT128 = 30
+ HALF = 31
+ IBM128 = 40
+ COMPLEX = 100
+ POINTER = 101
+ BLOCKPOINTER = 102
+ LVALUEREFERENCE = 103
+ RVALUEREFERENCE = 104
+ RECORD = 105
+ ENUM = 106
+ TYPEDEF = 107
+ OBJCINTERFACE = 108
+ OBJCOBJECTPOINTER = 109
+ FUNCTIONNOPROTO = 110
+ FUNCTIONPROTO = 111
+ CONSTANTARRAY = 112
+ VECTOR = 113
+ INCOMPLETEARRAY = 114
+ VARIABLEARRAY = 115
+ DEPENDENTSIZEDARRAY = 116
+ MEMBERPOINTER = 117
+ AUTO = 118
+ ELABORATED = 119
+ PIPE = 120
+ OCLIMAGE1DRO = 121
+ OCLIMAGE1DARRAYRO = 122
+ OCLIMAGE1DBUFFERRO = 123
+ OCLIMAGE2DRO = 124
+ OCLIMAGE2DARRAYRO = 125
+ OCLIMAGE2DDEPTHRO = 126
+ OCLIMAGE2DARRAYDEPTHRO = 127
+ OCLIMAGE2DMSAARO = 128
+ OCLIMAGE2DARRAYMSAARO = 129
+ OCLIMAGE2DMSAADEPTHRO = 130
+ OCLIMAGE2DARRAYMSAADEPTHRO = 131
+ OCLIMAGE3DRO = 132
+ OCLIMAGE1DWO = 133
+ OCLIMAGE1DARRAYWO = 134
+ OCLIMAGE1DBUFFERWO = 135
+ OCLIMAGE2DWO = 136
+ OCLIMAGE2DARRAYWO = 137
+ OCLIMAGE2DDEPTHWO = 138
+ OCLIMAGE2DARRAYDEPTHWO = 139
+ OCLIMAGE2DMSAAWO = 140
+ OCLIMAGE2DARRAYMSAAWO = 141
+ OCLIMAGE2DMSAADEPTHWO = 142
+ OCLIMAGE2DARRAYMSAADEPTHWO = 143
+ OCLIMAGE3DWO = 144
+ OCLIMAGE1DRW = 145
+ OCLIMAGE1DARRAYRW = 146
+ OCLIMAGE1DBUFFERRW = 147
+ OCLIMAGE2DRW = 148
+ OCLIMAGE2DARRAYRW = 149
+ OCLIMAGE2DDEPTHRW = 150
+ OCLIMAGE2DARRAYDEPTHRW = 151
+ OCLIMAGE2DMSAARW = 152
+ OCLIMAGE2DARRAYMSAARW = 153
+ OCLIMAGE2DMSAADEPTHRW = 154
+ OCLIMAGE2DARRAYMSAADEPTHRW = 155
+ OCLIMAGE3DRW = 156
+ OCLSAMPLER = 157
+ OCLEVENT = 158
+ OCLQUEUE = 159
+ OCLRESERVEID = 160
+
+ OBJCOBJECT = 161
+ OBJCTYPEPARAM = 162
----------------
DeinAlptraum wrote:
Again changed the enum variant name since it was a duplicate with variant 28 (`OBJCCLASS`). Corrected name taken from https://clang.llvm.org/doxygen/group__CINDEX__TYPES.html
https://github.com/llvm/llvm-project/pull/78114
More information about the cfe-commits
mailing list