clang 23.0.0git
cir::detail::UnionTypeStorage Struct Reference

Type storage for CIR union types. More...

#include "clang/CIR/Dialect/IR/CIRTypesDetails.h"

Inheritance diagram for cir::detail::UnionTypeStorage:
[legend]

Classes

struct  KeyTy

Public Member Functions

 UnionTypeStorage (llvm::ArrayRef< mlir::Type > members, mlir::StringAttr name, bool incomplete, bool packed, mlir::Type padding)
KeyTy getAsKey () const
bool operator== (const KeyTy &key) const
llvm::LogicalResult mutate (mlir::TypeStorageAllocator &allocator, llvm::ArrayRef< mlir::Type > members, bool packed, mlir::Type padding)
 Mutates the members and attributes of an identified union.

Static Public Member Functions

static llvm::hash_code hashKey (const KeyTy &key)
static UnionTypeStorageconstruct (mlir::TypeStorageAllocator &allocator, const KeyTy &key)

Public Attributes

llvm::ArrayRef< mlir::Type > members
mlir::StringAttr name
bool incomplete
bool packed
mlir::Type padding

Detailed Description

Type storage for CIR union types.

Definition at line 109 of file CIRTypesDetails.h.

Constructor & Destructor Documentation

◆ UnionTypeStorage()

cir::detail::UnionTypeStorage::UnionTypeStorage ( llvm::ArrayRef< mlir::Type > members,
mlir::StringAttr name,
bool incomplete,
bool packed,
mlir::Type padding )
inline

Definition at line 129 of file CIRTypesDetails.h.

References incomplete, members, name, packed, and padding.

Referenced by construct().

Member Function Documentation

◆ construct()

◆ getAsKey()

KeyTy cir::detail::UnionTypeStorage::getAsKey ( ) const
inline

Definition at line 136 of file CIRTypesDetails.h.

References incomplete, members, name, packed, and padding.

◆ hashKey()

◆ mutate()

llvm::LogicalResult cir::detail::UnionTypeStorage::mutate ( mlir::TypeStorageAllocator & allocator,
llvm::ArrayRef< mlir::Type > members,
bool packed,
mlir::Type padding )
inline

Mutates the members and attributes of an identified union.

Definition at line 163 of file CIRTypesDetails.h.

References incomplete, members, name, packed, and padding.

◆ operator==()

Member Data Documentation

◆ incomplete

bool cir::detail::UnionTypeStorage::incomplete

Definition at line 125 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and UnionTypeStorage().

◆ members

llvm::ArrayRef<mlir::Type> cir::detail::UnionTypeStorage::members

Definition at line 123 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and UnionTypeStorage().

◆ name

mlir::StringAttr cir::detail::UnionTypeStorage::name

Definition at line 124 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and UnionTypeStorage().

◆ packed

bool cir::detail::UnionTypeStorage::packed

Definition at line 126 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and UnionTypeStorage().

◆ padding

mlir::Type cir::detail::UnionTypeStorage::padding

Definition at line 127 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and UnionTypeStorage().


The documentation for this struct was generated from the following file: