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

Values which can be used as pointers to different values. More...

#include <Evaluator.h>

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

Public Member Functions

 ReferenceValue (Type type, Location loc)
 
Type getValueType () const
 
EvaluatorValuePtr getValue () const
 
void setValue (EvaluatorValuePtr newValue)
 
LogicalResult finalizeImpl ()
 
FailureOr< EvaluatorValuePtrgetStrippedValue () 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)
 

Private Attributes

EvaluatorValuePtr value
 
Type type
 

Additional Inherited Members

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

Detailed Description

Values which can be used as pointers to different values.

ReferenceValue is replaced with its element and erased at the end of evaluation.

Definition at line 93 of file Evaluator.h.

Constructor & Destructor Documentation

◆ ReferenceValue()

circt::om::evaluator::ReferenceValue::ReferenceValue ( Type  type,
Location  loc 
)
inline

Definition at line 94 of file Evaluator.h.

Member Function Documentation

◆ classof()

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

◆ finalizeImpl()

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

Definition at line 801 of file Evaluator.cpp.

◆ getStrippedValue()

FailureOr<EvaluatorValuePtr> circt::om::evaluator::ReferenceValue::getStrippedValue ( ) const
inline

Definition at line 114 of file Evaluator.h.

References value.

◆ getValue()

EvaluatorValuePtr circt::om::evaluator::ReferenceValue::getValue ( ) const
inline

Definition at line 104 of file Evaluator.h.

References value.

◆ getValueType()

Type circt::om::evaluator::ReferenceValue::getValueType ( ) const
inline

Definition at line 103 of file Evaluator.h.

References type.

◆ setValue()

void circt::om::evaluator::ReferenceValue::setValue ( EvaluatorValuePtr  newValue)
inline

Member Data Documentation

◆ type

Type circt::om::evaluator::ReferenceValue::type
private

◆ value

EvaluatorValuePtr circt::om::evaluator::ReferenceValue::value
private

Definition at line 127 of file Evaluator.h.

Referenced by getStrippedValue(), getValue(), setValue(), and Python.support.OpOperand::type().


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