use crate::{
ast::{AttributeList, GroupComments},
common::items::{Domain, WordSet},
expression::IdBooleanExpression,
timing::items::Mode,
};
#[derive(Debug, Default, Clone)]
#[derive(liberty_macros::Group)]
#[mut_set_derive::item(
macro(derive(Debug, Clone,Default);)
)]
pub struct InternalPower {
#[liberty(comments)]
_comments: GroupComments<Self>,
#[liberty(undefined)]
_undefined: AttributeList,
#[liberty(simple(type = Option))]
#[id]
pub related_pin: Option<WordSet>,
#[liberty(simple(type = Option))]
#[id]
pub related_pg_pin: Option<WordSet>,
#[liberty(simple(type = Option))]
#[id]
pub when: Option<IdBooleanExpression>,
#[liberty(complex(type = Option))]
mode: Option<Mode>,
#[liberty(group(type = Option))]
pub domain: Option<Domain>,
}