flowchart TD
IAstArg("IAstArg")
IAstArg -->|"="| ParseArgValue
ParseArgValue("ParseArgValue")
ParseArgValue -->|"_constant"| IAstConstant
ParseArgValue -->|"_field"| KeyValue_IAstArg_
ParseArgValue -->|"_key"| IAstFieldKey
ParseArgValue -->|"_value"| IAstArg
ParseArgValue -->|"FieldKey"| IAstFieldKey
ParseArgValue -->|"KeyValueParser"| KeyValue_IAstArg_
ParseArgValue -->|"ListParser"| IAstArg
ParseArgValue -->|"ObjectParser"| IAstFields_IAstArg_
KeyValue_IAstArg_("KeyValue(IAstArg)")
KeyValue_IAstArg_ -->|"="| ValueKeyValueParser_IAstArg_
IAstFields_IAstArg_("IAstFields(IAstArg)")
IAstFields_IAstArg_ -->|"="| ValueObjectParser_IAstArg_
flowchart TD
IAstDirective("IAstDirective")
IAstDirective -->|"="| ParseDirectives
ParseDirectives("ParseDirectives")
ParseDirectives -->|"_argument"| IParserArg
IParserArg("IParserArg")
IParserArg -->|"="| ParseArg
ParseArg("ParseArg")
ParseArg -->|"_argument"| IValueParser_IAstArg_
ParseArg -->|"_fieldKey"| IAstFieldKey
IValueParser_IAstArg_("IValueParser(IAstArg)")
IValueParser_IAstArg_ -->|"="| ParseArgValue
ParseArgValue("ParseArgValue")
ParseArgValue -->|"_constant"| IAstConstant
ParseArgValue -->|"_field"| KeyValue_IAstArg_
ParseArgValue -->|"_key"| IAstFieldKey
ParseArgValue -->|"_value"| IAstArg
ParseArgValue -->|"FieldKey"| IAstFieldKey
ParseArgValue -->|"KeyValueParser"| KeyValue_IAstArg_
ParseArgValue -->|"ListParser"| IAstArg
ParseArgValue -->|"ObjectParser"| IAstFields_IAstArg_
flowchart TD
IAstField("IAstField")
IAstField -->|"="| ParseField
ParseField("ParseField")
ParseField -->|"_argument"| IParserArg
ParseField -->|"_directives"| IAstDirective
ParseField -->|"_modifiers"| IAstModifier
ParseField -->|"_object"| IAstSelection
IParserArg("IParserArg")
IParserArg -->|"="| ParseArg
IAstDirective("IAstDirective")
IAstDirective -->|"="| ParseDirectives
IAstSelection("IAstSelection")
IAstSelection -->|"="| ParseSelection
ParseSelection("ParseSelection")
ParseSelection -->|"_directives"| IAstDirective
ParseSelection -->|"_modifiers"| IAstModifier
ParseSelection -->|"_object"| IAstSelection
flowchart TD
IAstOperation("IAstOperation")
IAstOperation -->|"="| ParseOperation
ParseOperation("ParseOperation")
ParseOperation -->|"_argument"| IParserArg
ParseOperation -->|"_directives"| IAstDirective
ParseOperation -->|"_endFragments"| IParserEndFragments
ParseOperation -->|"_modifiers"| IAstModifier
ParseOperation -->|"_object"| IAstSelection
ParseOperation -->|"_startFragments"| IParserStartFragments
ParseOperation -->|"_variables"| IAstVariable
IParserArg("IParserArg")
IParserArg -->|"="| ParseArg
IAstDirective("IAstDirective")
IAstDirective -->|"="| ParseDirectives
IParserEndFragments("IParserEndFragments")
IParserEndFragments -->|"="| ParseEndFragments
IAstSelection("IAstSelection")
IAstSelection -->|"="| ParseSelection
IParserStartFragments("IParserStartFragments")
IParserStartFragments -->|"="| ParseStartFragments
IAstVariable("IAstVariable")
IAstVariable -->|"="| ParseVariable
ParseVariable("ParseVariable")
ParseVariable -->|"_default"| IParserDefault
ParseVariable -->|"_directives"| IAstDirective
ParseVariable -->|"_modifiers"| IAstModifier
ParseVariable -->|"_varTypeParser"| IParserVarType
IParserVarType("IParserVarType")
IParserVarType -->|"="| ParseVarType
flowchart TD
ParseFragments("ParseFragments")
ParseFragments -->|"_directives"| IAstDirective
ParseFragments -->|"_object"| IAstSelection
IAstDirective("IAstDirective")
IAstDirective -->|"="| ParseDirectives
IAstSelection("IAstSelection")
IAstSelection -->|"="| ParseSelection
ParseObject("ParseObject")
ParseObject -->|"_field"| IAstField
ParseObject -->|"_selection"| IAstSelection
IAstField("IAstField")
IAstField -->|"="| ParseField
IAstSelection("IAstSelection")
IAstSelection -->|"="| ParseSelection
flowchart TD
ParseVariables("ParseVariables")
ParseVariables -->|"_variable"| IAstVariable
IAstVariable("IAstVariable")
IAstVariable -->|"="| ParseVariable