CIRCT  20.0.0git
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
circt::om::evaluator::MapValue Struct Reference

A Map value. More...

#include <Evaluator.h>

Inheritance diagram for circt::om::evaluator::MapValue:
Inheritance graph
[legend]
Collaboration diagram for circt::om::evaluator::MapValue:
Collaboration graph
[legend]

Public Member Functions

 MapValue (om::MapType type, DenseMap< Attribute, EvaluatorValuePtr > elements, Location loc)
 
 MapValue (om::MapType type, Location loc)
 
const auto & getElements () const
 
void setElements (DenseMap< Attribute, EvaluatorValuePtr > newElements)
 
LogicalResult finalizeImpl ()
 
om::MapType getMapType () const
 Return the type of the value, which is a MapType. More...
 
ArrayAttr getKeys ()
 Return an array of keys in the ascending order. More...
 
- Public Member Functions inherited from circt::om::evaluator::EvaluatorValue
 EvaluatorValue (MLIRContext *ctx, Kind kind, Location loc)
 
Kind getKind () const
 
MLIRContext * getContext () const
 
bool isFullyEvaluated () const
 
void markFullyEvaluated ()
 
MLIRContext * getContext ()
 Return the associated MLIR context. More...
 
Type getType () const
 
LogicalResult finalize ()
 
Location getLoc () const
 
void setLoc (Location l)
 
void setLocIfUnknown (Location l)
 

Static Public Member Functions

static bool classof (const EvaluatorValue *e)
 Implement LLVM RTTI. More...
 

Private Attributes

om::MapType type
 
DenseMap< Attribute, EvaluatorValuePtrelements
 

Additional Inherited Members

- Public Types inherited from circt::om::evaluator::EvaluatorValue
enum class  Kind {
  Attr , Object , List , Tuple ,
  Map , Reference , BasePath , Path
}
 

Detailed Description

A Map value.

Definition at line 219 of file Evaluator.h.

Constructor & Destructor Documentation

◆ MapValue() [1/2]

circt::om::evaluator::MapValue::MapValue ( om::MapType  type,
DenseMap< Attribute, EvaluatorValuePtr elements,
Location  loc 
)
inline

◆ MapValue() [2/2]

circt::om::evaluator::MapValue::MapValue ( om::MapType  type,
Location  loc 
)
inline

Definition at line 228 of file Evaluator.h.

Member Function Documentation

◆ classof()

static bool circt::om::evaluator::MapValue::classof ( const EvaluatorValue e)
inlinestatic

Implement LLVM RTTI.

Definition at line 247 of file Evaluator.h.

References circt::om::evaluator::EvaluatorValue::getKind(), and circt::om::evaluator::EvaluatorValue::Map.

◆ finalizeImpl()

LogicalResult circt::om::evaluator::MapValue::finalizeImpl ( )

Definition at line 790 of file Evaluator.cpp.

References circt::om::evaluator::finalizeEvaluatorValue().

◆ getElements()

const auto& circt::om::evaluator::MapValue::getElements ( ) const
inline

Definition at line 231 of file Evaluator.h.

References elements.

◆ getKeys()

ArrayAttr circt::om::evaluator::MapValue::getKeys ( )

Return an array of keys in the ascending order.

Definition at line 772 of file Evaluator.cpp.

References circt::calyx::direction::get().

◆ getMapType()

om::MapType circt::om::evaluator::MapValue::getMapType ( ) const
inline

Return the type of the value, which is a MapType.

Definition at line 241 of file Evaluator.h.

References type.

◆ setElements()

void circt::om::evaluator::MapValue::setElements ( DenseMap< Attribute, EvaluatorValuePtr newElements)
inline

Member Data Documentation

◆ elements

DenseMap<Attribute, EvaluatorValuePtr> circt::om::evaluator::MapValue::elements
private

Definition at line 253 of file Evaluator.h.

Referenced by getElements(), and setElements().

◆ type

om::MapType circt::om::evaluator::MapValue::type
private

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