非公開constructor非公開 読み取り専用childrenall/any/notのみ有効。notは常に1要素。
非公開 読み取り専用containerslot_position葉のみ有効。subjectがその枠に入っているかを見る、subjectの親の側のスロット。
非公開 読み取り専用kind非公開 読み取り専用matchslot_content/object_matches葉のみ有効。
非公開 読み取り専用opproperty葉のみ有効。
非公開 読み取り専用ownedslot_content葉のみ有効。中身を見る、subject自身が持つスロット。
非公開 読み取り専用propertyproperty/property_stage葉のみ有効。
非公開 読み取り専用root葉(all/any/not以外)のみ有効。
非公開 読み取り専用stageproperty_stage葉のみ有効。名指した段ちょうどか、その段以上か(PropertyDef.isInStage)。
非公開 読み取り専用stageproperty_stage葉のみ有効。段は宣言したPropertyDefごとの名前なので、internせず文字列で持つ。
非公開 読み取り専用valueproperty葉のみ有効。設定されていれば、リテラルvalue(values)の代わりに{subject, prop}参照先の 現在の実効値と比較する(10.2節と同じ「リテラルか参照か」の二択)。in/not_inでは意味を持たない (ロード時エラー)。
非公開 読み取り専用valuesproperty葉のみ有効かつvalueRefがundefinedの場合のみ使う。lt/lte/gt/gte/eq/neqは常に1要素。 in/not_inは複数要素になりうる。
静的all静的any非公開evaluate非公開evaluate非公開evaluate段(6.4節)に該当しているか。プロパティを持たない・解決できない場合は偽で、他の葉と揃える (解決できない葉は偽、否定したければnotで包む)。
非公開evaluate非公開evaluate静的not静的object静的propertyオプションvalueRef: PropertyPath非公開propertyrootが指す相手のpropertyGlobalIdのプロパティ。相手が解決できない・持たない場合はundefined。
静的propertyこの条件が何を書いているかを読み上げる(ConditionReader参照)。kindごとに使うフィールドだけを 引数で渡すので、読み手はこのクラスの持ち方(単一クラス+kind)を知らなくてよい。
静的slot静的slot
conditions(14節)の1ノード。葉はproperty・property_stage・slot_position・slot_content・ object_matches、複合はall/any/notで、kindに応じて使うフィールドが変わる (単一クラス+kindで判別)。