@@ -32,6 +32,61 @@ class PanamaCIRCTOMEvaluator private[chisel3] (circt: PanamaCIRCT, mlirModule: M
3232abstract class PanamaCIRCTOMEvaluatorValue {
3333 val circt : PanamaCIRCT
3434 val value : OMEvaluatorValue
35+ def objOpt : Option [PanamaCIRCTOMEvaluatorValueObject ] =
36+ this match {
37+ case valueObject : PanamaCIRCTOMEvaluatorValueObject => Some (valueObject)
38+ case _ => None
39+ }
40+ def obj : PanamaCIRCTOMEvaluatorValueObject = objOpt.get
41+
42+ def basePathOpt : Option [PanamaCIRCTOMEvaluatorValueBasePath ] =
43+ this match {
44+ case path : PanamaCIRCTOMEvaluatorValueBasePath => Some (path)
45+ case _ => None
46+ }
47+ def basePath : PanamaCIRCTOMEvaluatorValueBasePath = basePathOpt.get
48+
49+ def listOpt : Option [PanamaCIRCTOMEvaluatorValueList ] =
50+ this match {
51+ case list : PanamaCIRCTOMEvaluatorValueList => Some (list)
52+ case _ => None
53+ }
54+ def list : PanamaCIRCTOMEvaluatorValueList = listOpt.get
55+
56+ def mapOpt : Option [PanamaCIRCTOMEvaluatorValueMap ] =
57+ this match {
58+ case map : PanamaCIRCTOMEvaluatorValueMap => Some (map)
59+ case _ => None
60+ }
61+ def mapPath : PanamaCIRCTOMEvaluatorValueMap = mapOpt.get
62+
63+ def pathOpt : Option [PanamaCIRCTOMEvaluatorValuePath ] =
64+ this match {
65+ case path : PanamaCIRCTOMEvaluatorValuePath => Some (path)
66+ case _ => None
67+ }
68+ def path : PanamaCIRCTOMEvaluatorValuePath = pathOpt.get
69+
70+ def intOpt : Option [PanamaCIRCTOMEvaluatorValuePrimitiveInteger ] =
71+ this match {
72+ case integer : PanamaCIRCTOMEvaluatorValuePrimitiveInteger => Some (integer)
73+ case _ => None
74+ }
75+ def int : PanamaCIRCTOMEvaluatorValuePrimitiveInteger = intOpt.get
76+
77+ def stringOpt : Option [PanamaCIRCTOMEvaluatorValuePrimitiveString ] =
78+ this match {
79+ case string : PanamaCIRCTOMEvaluatorValuePrimitiveString => Some (string)
80+ case _ => None
81+ }
82+ def string : PanamaCIRCTOMEvaluatorValuePrimitiveString = stringOpt.get
83+
84+ def tupleOpt : Option [PanamaCIRCTOMEvaluatorValueTuple ] =
85+ this match {
86+ case tuple : PanamaCIRCTOMEvaluatorValueTuple => Some (tuple)
87+ case _ => None
88+ }
89+ def tuple : PanamaCIRCTOMEvaluatorValueTuple = tupleOpt.get
3590
3691 // Incomplete. currently for debugging purposes only
3792 override def toString : String = {
@@ -148,6 +203,7 @@ class PanamaCIRCTOMEvaluatorValuePrimitiveString private[chisel3] (
148203
149204class PanamaCIRCTOMEvaluatorValueObject private [chisel3] (val circt : PanamaCIRCT , val value : OMEvaluatorValue )
150205 extends PanamaCIRCTOMEvaluatorValue {
206+ def apply (name : String ): PanamaCIRCTOMEvaluatorValue = field(name)
151207 def field (name : String ): PanamaCIRCTOMEvaluatorValue =
152208 PanamaCIRCTOMEvaluatorValue .newValue(circt, circt.omEvaluatorObjectGetField(value, name))
153209
0 commit comments