AlternateConstraintMatcher
flowchart TD
AlternateConstraintMatcher("AlternateConstraintMatcher")
AlternateConstraintMatcher -->|"_anyTypeMatcher"| IAstType
IAstType("IAstType")
IAstType -->|"="| AnyTypeMatcher
AnyTypeMatcher("AnyTypeMatcher")
AnyTypeMatcher -->|"_typeMatchers"| ITypeMatcher
ITypeMatcher("ITypeMatcher")
ITypeMatcher -->|"#0"| AlternateConstraintMatcher
ITypeMatcher -->|"#1"| EnumConstraintMatcher
ITypeMatcher -->|"#10"| MatchObjectParentDualBase_IAstInputField_
ITypeMatcher -->|"#11"| MatchObjectParentDualBase_IAstOutputField_
ITypeMatcher -->|"#2"| SpecialConstraintMatcher
ITypeMatcher -->|"#3"| UnionConstraintMatcher
ITypeMatcher -->|"#4"| DomainMatcher
ITypeMatcher -->|"#5"| SimpleParentMatcher_IAstDomain_
ITypeMatcher -->|"#6"| SimpleParentMatcher_IAstEnum_
ITypeMatcher -->|"#7"| SimpleParentMatcher_IAstTypeSpecial_
ITypeMatcher -->|"#8"| SimpleParentMatcher_IAstUnion_
ITypeMatcher -->|"#9"| ObjectParentMatcher_IAstDualField_
EnumConstraintMatcher("EnumConstraintMatcher")
EnumConstraintMatcher -->|"_enumMatcher"| IAstEnum
IAstEnum("IAstEnum")
IAstEnum -->|"="| SimpleParentMatcher_IAstEnum_
UnionConstraintMatcher("UnionConstraintMatcher")
UnionConstraintMatcher -->|"_anyTypeMatcher"| IAstType
DomainMatcher("DomainMatcher")
DomainMatcher -->|"_enumMatcher"| IAstEnum
flowchart TD
IAstDomain("IAstDomain")
IAstDomain -->|"="| SimpleParentMatcher_IAstDomain_
IAstObject_IAstDualField_("IAstObject(IAstDualField)")
IAstObject_IAstDualField_ -->|"="| ObjectParentMatcher_IAstDualField_
IAstObject_IAstInputField_("IAstObject(IAstInputField)")
IAstObject_IAstInputField_ -->|"="| MatchObjectParentDualBase_IAstInputField_
IAstObject_IAstOutputField_("IAstObject(IAstOutputField)")
IAstObject_IAstOutputField_ -->|"="| MatchObjectParentDualBase_IAstOutputField_
IAstTypeArg("IAstTypeArg")
IAstTypeArg -->|"="| TypeArgMatcher
TypeArgMatcher("TypeArgMatcher")
TypeArgMatcher -->|"_anyTypeMatcher"| IAstType
IAstType("IAstType")
IAstType -->|"="| AnyTypeMatcher