protospec_build/asg/expression/member.rs
1use super::*;
2
3#[derive(PartialEq, Clone, Debug)]
4pub struct MemberExpression {
5 pub target: Box<Expression>,
6 //todo: this might need to be more general in the future
7 pub member: Arc<Const>,
8 pub span: Span,
9}
10
11impl AsgExpression for MemberExpression {
12 fn get_type(&self) -> Option<Type> {
13 let type_ = self.target.get_type()?.resolved().into_owned();
14 match &*type_.resolved() {
15 Type::Bitfield(_) => {
16 Some(Type::Bool)
17 }
18 _ => None,
19 }
20 }
21}