#include "mlir/Tools/PDLL/AST/Types.h"
|
struct | Storage |
|
class | TypeBase |
| This class provides several utilities when defining derived type classes. More...
|
|
|
template<typename T > |
const T * | getImplAs () const |
| Return the internal storage instance of this type reinterpreted as the given derived storage type. More...
|
|
Definition at line 40 of file Types.h.
◆ Type()
mlir::pdll::ast::Type::Type |
( |
Storage * |
impl = nullptr | ) |
|
|
inline |
◆ cast()
template<typename U >
U mlir::pdll::ast::Type::cast |
( |
| ) |
const |
|
inline |
◆ dyn_cast()
template<typename U >
U mlir::pdll::ast::Type::dyn_cast |
( |
| ) |
const |
|
inline |
◆ dyn_cast_or_null()
template<typename U >
U mlir::pdll::ast::Type::dyn_cast_or_null |
( |
| ) |
const |
|
inline |
◆ getImpl()
Storage* mlir::pdll::ast::Type::getImpl |
( |
| ) |
const |
|
inline |
◆ getImplAs()
template<typename T >
const T* mlir::pdll::ast::Type::getImplAs |
( |
| ) |
const |
|
inlineprotected |
Return the internal storage instance of this type reinterpreted as the given derived storage type.
Definition at line 109 of file Types.h.
◆ getTypeID()
TypeID Type::getTypeID |
( |
| ) |
const |
◆ isa() [1/2]
template<typename U >
bool mlir::pdll::ast::Type::isa |
( |
| ) |
const |
|
inline |
◆ isa() [2/2]
template<typename U , typename V , typename... Others>
bool mlir::pdll::ast::Type::isa |
( |
| ) |
const |
|
inline |
◆ operator bool()
mlir::pdll::ast::Type::operator bool |
( |
| ) |
const |
|
inlineexplicit |
◆ operator!=()
bool mlir::pdll::ast::Type::operator!= |
( |
const Type & |
other | ) |
const |
|
inline |
◆ operator==()
bool mlir::pdll::ast::Type::operator== |
( |
const Type & |
other | ) |
const |
|
inline |
◆ print()
void mlir::pdll::ast::Type::print |
( |
raw_ostream & |
os | ) |
const |
◆ refineWith()
Type Type::refineWith |
( |
Type |
other | ) |
const |
Try to refine this type with the one provided.
Given two compatible types, this will return a merged type contains as much detail from the two types. For example, if refining two operation types and one contains a name, while the other doesn't, the refined type contains the name. If the two types are incompatible, null is returned.
Definition at line 33 of file Types.cpp.
References dyn_cast().
The documentation for this class was generated from the following files: