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

Tuple values. More...

#include <Evaluator.h>

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

Public Types

using TupleElements = llvm::SmallVector< EvaluatorValuePtr >
 
- Public Types inherited from circt::om::evaluator::EvaluatorValue
enum class  Kind {
  Attr , Object , List , Tuple ,
  Map , Reference , BasePath , Path
}
 

Public Member Functions

 TupleValue (TupleType type, TupleElements tupleElements, Location loc)
 
 TupleValue (TupleType type, Location loc)
 
void setElements (TupleElements newElements)
 
LogicalResult finalizeImpl ()
 
TupleType getTupleType () const
 Return the type of the value, which is a TupleType. More...
 
const TupleElementsgetElements () const
 
- 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

TupleType type
 
TupleElements elements
 

Detailed Description

Tuple values.

Definition at line 308 of file Evaluator.h.

Member Typedef Documentation

◆ TupleElements

Definition at line 309 of file Evaluator.h.

Constructor & Destructor Documentation

◆ TupleValue() [1/2]

circt::om::evaluator::TupleValue::TupleValue ( TupleType  type,
TupleElements  tupleElements,
Location  loc 
)
inline

◆ TupleValue() [2/2]

circt::om::evaluator::TupleValue::TupleValue ( TupleType  type,
Location  loc 
)
inline

Definition at line 317 of file Evaluator.h.

Member Function Documentation

◆ classof()

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

Implement LLVM RTTI.

Definition at line 333 of file Evaluator.h.

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

◆ finalizeImpl()

LogicalResult circt::om::evaluator::TupleValue::finalizeImpl ( )
inline

Definition at line 325 of file Evaluator.h.

References elements, and circt::om::evaluator::finalizeEvaluatorValue().

◆ getElements()

const TupleElements& circt::om::evaluator::TupleValue::getElements ( ) const
inline

Definition at line 340 of file Evaluator.h.

References elements.

◆ getTupleType()

TupleType circt::om::evaluator::TupleValue::getTupleType ( ) const
inline

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

Definition at line 338 of file Evaluator.h.

References type.

◆ setElements()

void circt::om::evaluator::TupleValue::setElements ( TupleElements  newElements)
inline

Member Data Documentation

◆ elements

TupleElements circt::om::evaluator::TupleValue::elements
private

Definition at line 344 of file Evaluator.h.

Referenced by finalizeImpl(), getElements(), and setElements().

◆ type

TupleType circt::om::evaluator::TupleValue::type
private

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