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

A List which contains variadic length of elements with the same type. More...

#include <Evaluator.h>

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

Public Member Functions

 ListValue (om::ListType type, SmallVector< EvaluatorValuePtr > elements, Location loc)
 
void setElements (SmallVector< EvaluatorValuePtr > newElements)
 
LogicalResult finalizeImpl ()
 
 ListValue (om::ListType type, Location loc)
 
const auto & getElements () const
 
om::ListType getListType () const
 Return the type of the value, which is a ListType. 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::ListType type
 
SmallVector< 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 List which contains variadic length of elements with the same type.

Definition at line 183 of file Evaluator.h.

Constructor & Destructor Documentation

◆ ListValue() [1/2]

circt::om::evaluator::ListValue::ListValue ( om::ListType  type,
SmallVector< EvaluatorValuePtr elements,
Location  loc 
)
inline

◆ ListValue() [2/2]

circt::om::evaluator::ListValue::ListValue ( om::ListType  type,
Location  loc 
)
inline

Definition at line 200 of file Evaluator.h.

Member Function Documentation

◆ classof()

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

Implement LLVM RTTI.

Definition at line 209 of file Evaluator.h.

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

◆ finalizeImpl()

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

Definition at line 813 of file Evaluator.cpp.

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

◆ getElements()

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

Definition at line 203 of file Evaluator.h.

References elements.

Referenced by circt::om::Evaluator::evaluateListConcat().

◆ getListType()

om::ListType circt::om::evaluator::ListValue::getListType ( ) const
inline

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

Definition at line 206 of file Evaluator.h.

References type.

◆ setElements()

void circt::om::evaluator::ListValue::setElements ( SmallVector< EvaluatorValuePtr newElements)
inline

Member Data Documentation

◆ elements

SmallVector<EvaluatorValuePtr> circt::om::evaluator::ListValue::elements
private

Definition at line 215 of file Evaluator.h.

Referenced by getElements(), and setElements().

◆ type

om::ListType circt::om::evaluator::ListValue::type
private

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