github.com/llir/llvm@v0.3.6/ir/constant/sumtype.go (about) 1 package constant 2 3 // === [ constant.Constant ] =================================================== 4 5 // IsConstant ensures that only constants can be assigned to the 6 // constant.Constant interface. 7 func (*Int) IsConstant() {} 8 9 // IsConstant ensures that only constants can be assigned to the 10 // constant.Constant interface. 11 func (*Float) IsConstant() {} 12 13 // IsConstant ensures that only constants can be assigned to the 14 // constant.Constant interface. 15 func (*Null) IsConstant() {} 16 17 // IsConstant ensures that only constants can be assigned to the 18 // constant.Constant interface. 19 func (*NoneToken) IsConstant() {} 20 21 // IsConstant ensures that only constants can be assigned to the 22 // constant.Constant interface. 23 func (*Struct) IsConstant() {} 24 25 // IsConstant ensures that only constants can be assigned to the 26 // constant.Constant interface. 27 func (*Array) IsConstant() {} 28 29 // IsConstant ensures that only constants can be assigned to the 30 // constant.Constant interface. 31 func (*CharArray) IsConstant() {} 32 33 // IsConstant ensures that only constants can be assigned to the 34 // constant.Constant interface. 35 func (*Vector) IsConstant() {} 36 37 // IsConstant ensures that only constants can be assigned to the 38 // constant.Constant interface. 39 func (*ZeroInitializer) IsConstant() {} 40 41 // IsConstant ensures that only constants can be assigned to the 42 // constant.Constant interface. 43 func (*Undef) IsConstant() {} 44 45 // IsConstant ensures that only constants can be assigned to the 46 // constant.Constant interface. 47 func (*Poison) IsConstant() {} 48 49 // IsConstant ensures that only constants can be assigned to the 50 // constant.Constant interface. 51 func (*BlockAddress) IsConstant() {} 52 53 // IsConstant ensures that only constants can be assigned to the 54 // constant.Constant interface. 55 func (*DSOLocalEquivalent) IsConstant() {} 56 57 // IsConstant ensures that only constants can be assigned to the 58 // constant.Constant interface. 59 func (*NoCFI) IsConstant() {} 60 61 // --- [ Unary expressions ] --------------------------------------------------- 62 63 // IsConstant ensures that only constants can be assigned to the 64 // constant.Constant interface. 65 func (*ExprFNeg) IsConstant() {} 66 67 // --- [ Binary expressions ] -------------------------------------------------- 68 69 // IsConstant ensures that only constants can be assigned to the 70 // constant.Constant interface. 71 func (*ExprAdd) IsConstant() {} 72 73 // IsConstant ensures that only constants can be assigned to the 74 // constant.Constant interface. 75 func (*ExprFAdd) IsConstant() {} 76 77 // IsConstant ensures that only constants can be assigned to the 78 // constant.Constant interface. 79 func (*ExprSub) IsConstant() {} 80 81 // IsConstant ensures that only constants can be assigned to the 82 // constant.Constant interface. 83 func (*ExprFSub) IsConstant() {} 84 85 // IsConstant ensures that only constants can be assigned to the 86 // constant.Constant interface. 87 func (*ExprMul) IsConstant() {} 88 89 // IsConstant ensures that only constants can be assigned to the 90 // constant.Constant interface. 91 func (*ExprFMul) IsConstant() {} 92 93 // IsConstant ensures that only constants can be assigned to the 94 // constant.Constant interface. 95 func (*ExprUDiv) IsConstant() {} 96 97 // IsConstant ensures that only constants can be assigned to the 98 // constant.Constant interface. 99 func (*ExprSDiv) IsConstant() {} 100 101 // IsConstant ensures that only constants can be assigned to the 102 // constant.Constant interface. 103 func (*ExprFDiv) IsConstant() {} 104 105 // IsConstant ensures that only constants can be assigned to the 106 // constant.Constant interface. 107 func (*ExprURem) IsConstant() {} 108 109 // IsConstant ensures that only constants can be assigned to the 110 // constant.Constant interface. 111 func (*ExprSRem) IsConstant() {} 112 113 // IsConstant ensures that only constants can be assigned to the 114 // constant.Constant interface. 115 func (*ExprFRem) IsConstant() {} 116 117 // --- [ Bitwise expressions ] ------------------------------------------------- 118 119 // IsConstant ensures that only constants can be assigned to the 120 // constant.Constant interface. 121 func (*ExprShl) IsConstant() {} 122 123 // IsConstant ensures that only constants can be assigned to the 124 // constant.Constant interface. 125 func (*ExprLShr) IsConstant() {} 126 127 // IsConstant ensures that only constants can be assigned to the 128 // constant.Constant interface. 129 func (*ExprAShr) IsConstant() {} 130 131 // IsConstant ensures that only constants can be assigned to the 132 // constant.Constant interface. 133 func (*ExprAnd) IsConstant() {} 134 135 // IsConstant ensures that only constants can be assigned to the 136 // constant.Constant interface. 137 func (*ExprOr) IsConstant() {} 138 139 // IsConstant ensures that only constants can be assigned to the 140 // constant.Constant interface. 141 func (*ExprXor) IsConstant() {} 142 143 // --- [ Vector expressions ] -------------------------------------------------- 144 145 // IsConstant ensures that only constants can be assigned to the 146 // constant.Constant interface. 147 func (*ExprExtractElement) IsConstant() {} 148 149 // IsConstant ensures that only constants can be assigned to the 150 // constant.Constant interface. 151 func (*ExprInsertElement) IsConstant() {} 152 153 // IsConstant ensures that only constants can be assigned to the 154 // constant.Constant interface. 155 func (*ExprShuffleVector) IsConstant() {} 156 157 // --- [ Aggregate expressions ] ----------------------------------------------- 158 159 // IsConstant ensures that only constants can be assigned to the 160 // constant.Constant interface. 161 func (*ExprExtractValue) IsConstant() {} 162 163 // IsConstant ensures that only constants can be assigned to the 164 // constant.Constant interface. 165 func (*ExprInsertValue) IsConstant() {} 166 167 // --- [ Memory expressions ] -------------------------------------------------- 168 169 // IsConstant ensures that only constants can be assigned to the 170 // constant.Constant interface. 171 func (*ExprGetElementPtr) IsConstant() {} 172 173 // --- [ Conversion expressions ] ---------------------------------------------- 174 175 // IsConstant ensures that only constants can be assigned to the 176 // constant.Constant interface. 177 func (*ExprTrunc) IsConstant() {} 178 179 // IsConstant ensures that only constants can be assigned to the 180 // constant.Constant interface. 181 func (*ExprZExt) IsConstant() {} 182 183 // IsConstant ensures that only constants can be assigned to the 184 // constant.Constant interface. 185 func (*ExprSExt) IsConstant() {} 186 187 // IsConstant ensures that only constants can be assigned to the 188 // constant.Constant interface. 189 func (*ExprFPTrunc) IsConstant() {} 190 191 // IsConstant ensures that only constants can be assigned to the 192 // constant.Constant interface. 193 func (*ExprFPExt) IsConstant() {} 194 195 // IsConstant ensures that only constants can be assigned to the 196 // constant.Constant interface. 197 func (*ExprFPToUI) IsConstant() {} 198 199 // IsConstant ensures that only constants can be assigned to the 200 // constant.Constant interface. 201 func (*ExprFPToSI) IsConstant() {} 202 203 // IsConstant ensures that only constants can be assigned to the 204 // constant.Constant interface. 205 func (*ExprUIToFP) IsConstant() {} 206 207 // IsConstant ensures that only constants can be assigned to the 208 // constant.Constant interface. 209 func (*ExprSIToFP) IsConstant() {} 210 211 // IsConstant ensures that only constants can be assigned to the 212 // constant.Constant interface. 213 func (*ExprPtrToInt) IsConstant() {} 214 215 // IsConstant ensures that only constants can be assigned to the 216 // constant.Constant interface. 217 func (*ExprIntToPtr) IsConstant() {} 218 219 // IsConstant ensures that only constants can be assigned to the 220 // constant.Constant interface. 221 func (*ExprBitCast) IsConstant() {} 222 223 // IsConstant ensures that only constants can be assigned to the 224 // constant.Constant interface. 225 func (*ExprAddrSpaceCast) IsConstant() {} 226 227 // --- [ Other expressions ] --------------------------------------------------- 228 229 // IsConstant ensures that only constants can be assigned to the 230 // constant.Constant interface. 231 func (*ExprICmp) IsConstant() {} 232 233 // IsConstant ensures that only constants can be assigned to the 234 // constant.Constant interface. 235 func (*ExprFCmp) IsConstant() {} 236 237 // IsConstant ensures that only constants can be assigned to the 238 // constant.Constant interface. 239 func (*ExprSelect) IsConstant() {} 240 241 // === [ constant.Expression ] ================================================= 242 243 // --- [ Unary expressions ] --------------------------------------------------- 244 245 // IsExpression ensures that only constants expressions can be assigned to the 246 // constant.Expression interface. 247 func (*ExprFNeg) IsExpression() {} 248 249 // --- [ Binary expressions ] -------------------------------------------------- 250 251 // IsExpression ensures that only constants expressions can be assigned to the 252 // constant.Expression interface. 253 func (*ExprAdd) IsExpression() {} 254 255 // IsExpression ensures that only constants expressions can be assigned to the 256 // constant.Expression interface. 257 func (*ExprFAdd) IsExpression() {} 258 259 // IsExpression ensures that only constants expressions can be assigned to the 260 // constant.Expression interface. 261 func (*ExprSub) IsExpression() {} 262 263 // IsExpression ensures that only constants expressions can be assigned to the 264 // constant.Expression interface. 265 func (*ExprFSub) IsExpression() {} 266 267 // IsExpression ensures that only constants expressions can be assigned to the 268 // constant.Expression interface. 269 func (*ExprMul) IsExpression() {} 270 271 // IsExpression ensures that only constants expressions can be assigned to the 272 // constant.Expression interface. 273 func (*ExprFMul) IsExpression() {} 274 275 // IsExpression ensures that only constants expressions can be assigned to the 276 // constant.Expression interface. 277 func (*ExprUDiv) IsExpression() {} 278 279 // IsExpression ensures that only constants expressions can be assigned to the 280 // constant.Expression interface. 281 func (*ExprSDiv) IsExpression() {} 282 283 // IsExpression ensures that only constants expressions can be assigned to the 284 // constant.Expression interface. 285 func (*ExprFDiv) IsExpression() {} 286 287 // IsExpression ensures that only constants expressions can be assigned to the 288 // constant.Expression interface. 289 func (*ExprURem) IsExpression() {} 290 291 // IsExpression ensures that only constants expressions can be assigned to the 292 // constant.Expression interface. 293 func (*ExprSRem) IsExpression() {} 294 295 // IsExpression ensures that only constants expressions can be assigned to the 296 // constant.Expression interface. 297 func (*ExprFRem) IsExpression() {} 298 299 // --- [ Bitwise expressions ] ------------------------------------------------- 300 301 // IsExpression ensures that only constants expressions can be assigned to the 302 // constant.Expression interface. 303 func (*ExprShl) IsExpression() {} 304 305 // IsExpression ensures that only constants expressions can be assigned to the 306 // constant.Expression interface. 307 func (*ExprLShr) IsExpression() {} 308 309 // IsExpression ensures that only constants expressions can be assigned to the 310 // constant.Expression interface. 311 func (*ExprAShr) IsExpression() {} 312 313 // IsExpression ensures that only constants expressions can be assigned to the 314 // constant.Expression interface. 315 func (*ExprAnd) IsExpression() {} 316 317 // IsExpression ensures that only constants expressions can be assigned to the 318 // constant.Expression interface. 319 func (*ExprOr) IsExpression() {} 320 321 // IsExpression ensures that only constants expressions can be assigned to the 322 // constant.Expression interface. 323 func (*ExprXor) IsExpression() {} 324 325 // --- [ Vector expressions ] -------------------------------------------------- 326 327 // IsExpression ensures that only constants expressions can be assigned to the 328 // constant.Expression interface. 329 func (*ExprExtractElement) IsExpression() {} 330 331 // IsExpression ensures that only constants expressions can be assigned to the 332 // constant.Expression interface. 333 func (*ExprInsertElement) IsExpression() {} 334 335 // IsExpression ensures that only constants expressions can be assigned to the 336 // constant.Expression interface. 337 func (*ExprShuffleVector) IsExpression() {} 338 339 // --- [ Aggregate expressions ] ----------------------------------------------- 340 341 // IsExpression ensures that only constants expressions can be assigned to the 342 // constant.Expression interface. 343 func (*ExprExtractValue) IsExpression() {} 344 345 // IsExpression ensures that only constants expressions can be assigned to the 346 // constant.Expression interface. 347 func (*ExprInsertValue) IsExpression() {} 348 349 // --- [ Memory expressions ] -------------------------------------------------- 350 351 // IsExpression ensures that only constants expressions can be assigned to the 352 // constant.Expression interface. 353 func (*ExprGetElementPtr) IsExpression() {} 354 355 // --- [ Conversion expressions ] ---------------------------------------------- 356 357 // IsExpression ensures that only constants expressions can be assigned to the 358 // constant.Expression interface. 359 func (*ExprTrunc) IsExpression() {} 360 361 // IsExpression ensures that only constants expressions can be assigned to the 362 // constant.Expression interface. 363 func (*ExprZExt) IsExpression() {} 364 365 // IsExpression ensures that only constants expressions can be assigned to the 366 // constant.Expression interface. 367 func (*ExprSExt) IsExpression() {} 368 369 // IsExpression ensures that only constants expressions can be assigned to the 370 // constant.Expression interface. 371 func (*ExprFPTrunc) IsExpression() {} 372 373 // IsExpression ensures that only constants expressions can be assigned to the 374 // constant.Expression interface. 375 func (*ExprFPExt) IsExpression() {} 376 377 // IsExpression ensures that only constants expressions can be assigned to the 378 // constant.Expression interface. 379 func (*ExprFPToUI) IsExpression() {} 380 381 // IsExpression ensures that only constants expressions can be assigned to the 382 // constant.Expression interface. 383 func (*ExprFPToSI) IsExpression() {} 384 385 // IsExpression ensures that only constants expressions can be assigned to the 386 // constant.Expression interface. 387 func (*ExprUIToFP) IsExpression() {} 388 389 // IsExpression ensures that only constants expressions can be assigned to the 390 // constant.Expression interface. 391 func (*ExprSIToFP) IsExpression() {} 392 393 // IsExpression ensures that only constants expressions can be assigned to the 394 // constant.Expression interface. 395 func (*ExprPtrToInt) IsExpression() {} 396 397 // IsExpression ensures that only constants expressions can be assigned to the 398 // constant.Expression interface. 399 func (*ExprIntToPtr) IsExpression() {} 400 401 // IsExpression ensures that only constants expressions can be assigned to the 402 // constant.Expression interface. 403 func (*ExprBitCast) IsExpression() {} 404 405 // IsExpression ensures that only constants expressions can be assigned to the 406 // constant.Expression interface. 407 func (*ExprAddrSpaceCast) IsExpression() {} 408 409 // --- [ Other expressions ] --------------------------------------------------- 410 411 // IsExpression ensures that only constants expressions can be assigned to the 412 // constant.Expression interface. 413 func (*ExprICmp) IsExpression() {} 414 415 // IsExpression ensures that only constants expressions can be assigned to the 416 // constant.Expression interface. 417 func (*ExprFCmp) IsExpression() {} 418 419 // IsExpression ensures that only constants expressions can be assigned to the 420 // constant.Expression interface. 421 func (*ExprSelect) IsExpression() {}